2015/12/30

先日やっと24の最新作リブアナザーデイを.. DELLのエイリアンウェアは...

初めに

 筆者は24が大好きなのだが、見始めると止まらなくなるので、正月休みに際してようやく最新作の24リブアナザーデイを観ました。
 24の魅力は、映像の尺とストーリー中の時間の尺が同じ構成となっている点でしょうね。
 DVDをまとめて借りてきて、連続で観て、あの息つく間も与えない世界観に没頭するのがオススメですね。
 さすがに24時間連続は辛いので、3日ぐらいに分けたほうが良いと思いますが、連続がオススメです。

エイリアンウェアってなに?

 表題にあった、エイリアンウェアですが、これDELL社製のゲーミングパソコンのブランドなんです。
 DELL社の最高級ブランドと言って良いものだと思います。
 なんと、今回の話では、元CTU分析官のクロエオブライエンが後方支援の機材として使っています。
 最高のハッカーにはゲーミングノートパソコンは似合いますね。びっくりしました。
 欲しい方は、以下より購入できますので、クロエ・オブライエンになった気に浸って観られてはどうでしょう。
デル株式会社 デル株式会社 デル株式会社

終わりに

 24は残念ながら、今回で終わりのようですね。
 残念に思いながら、エイリアンウェアを使いこなしてくれる姿がなんだか嬉しくなって投稿してみました。
 世の中年末ですね、それでは良いお年を。
2015/12/29

スマホアプリのCordovaはやっぱり国産開発環境 Monacaでゴー

はじめに

 本日は2015/12/28です。
 私事ですが、転職して東京で働いている以前の同僚が会社に遊びに来てくれたので、色々話せて楽しかったです。
 それはそうとう、日本は外交でいろんなことがあるものですね。
 政治はパイの取り合いなので筆者のような一市民にはわからないことが多い中、なんだかやるせない気がしてなりません。
 ふー。ということで、筆者も技術者の端くれ、技術は世界を切り開けるわけですから、腐っていないでやっちゃいましょう。

Monacaとは

 ここ読まれている方なら、すでにご存じの方多いと思いますが、CordovaというスマホアプリをJavaScriptだけで作れてしまうフレームワークを以前紹介しました。
 Monacaとは、そのCordovaを根幹に、ブラウザ上で開発環境を実現する、超お手軽開発環境なんです。
 Monacaならブラウザ上で開発するわけですから、Mac以外でもiOS用アプリが作れてしまいます。それもMonaca用のデバッカーアプリをスマホに入れてしまえば、Monaca開発環境からデバッカーアプリ経由で、作成中のアプリをインストール出来てしまうというお手軽環境がニクイです。
 通常、Androidでもusbデバック機能やGooglePlay以外のアプリを許可しないと作成中のアプリはインストール出来ませんが、この辺りがお手軽になっているので開発の敷居が一気に下がっている感があります。

目下勉強中

 Monacaの使用自体は、超簡単です。
 こちらよりユーザ登録(無料)をしてしまえば、3つまでアプリを無料で作れます。
 利用料金は3種類用意されていますが、一番お安いもので年額9800円で利用できますので、しっかり評価してみると良いと思います。
 筆者は、Monaca公式ガイドブックをアマゾンで買いました。
 この冬休みの間に、頑張って評価して来年早々スマホアプリデビューと意気込んでいます。
 以下にリンク貼っておきますね。

 それではまた。
2015/12/23

Cordovaとenchantjsでクマ軍団ゲーム作成

Cordova環境のセットアップ

 Cordovaの開発環境は、以下のとおりに進めれば構築出来ました。
 一部問題はUbuntu14.04の環境の標準nodeはCordovaの導入は出来ませんでした。
 以下の記事どおりnodeサイトより進めていけば大丈夫です。

 Android SDKにはJDKも必要ですから、そちらも導入しましょう。

環境変数設定

 環境変数の設定は「~/.bash_profile」にする記載がありますが、Ubuntu14.04では、次の3つのどれかで行います。
~/.profile
/etc/profile
/etc/bash.bashrc
/etc/profile.d/*.sh
 まあふつうに考えると、~/.profileへの設定でしょう。
 次のように設定を行います。
export ANDROID_HOME=/opt/android-sdk-linux
export JAVA_HOME=/opt/jdk1.7.0_79
export PATH=$PATH:$ANDROID_HOME/tools:/opt/android-studio/bin:$JAVA_HOME/bin
export PATH=$PATH:/opt/node-v5.1.1-linux-x64/bin:$HOME/.linuxbrew/bin

作ってみましょう

 環境ができたら、作ってみましょう。
 CordovaはJSで作成できるわけですから、JSの2Dゲームフレームワークなんかも使えてしまいます。
 enchantjsを使ってみました。
 といっても「enchant.js」を Cordovaプロジェクトのwww/jsフォルダに入れるだけなので、簡単です。

cordovaプロジェクトを作りましょう

 次のコマンドで、カレントフォルダにworkshopフォルダを作成し、そこにcordovaプロジェクトを生成します。
cordova create workshop
 フォルダが生成されたら、そこにカレントフォルダを移します。
cd workshop
 動作プラットフォームを指定します。androidやiosが指定できますが、今回はUbuntuでの開発のため、androidのみとします。(iosはXcodeを必要とするため、Macでしか開発できません。)
cordova platform add android

enchantjsを導入しよう

 enchantjsからダウンロードしたファイルを解凍し、取り出したenchant.jsを以下フォルダにコピーします。
cp -p enchant.js www/js
 次に、ゲームキャラになるenchantjsにもともと付いている「クマ」の画像もコピーしておきます。
cp -p chara1.png www
 こちらはサブフォルダを切っても良かったのですが、とりあえずindex.htmlと同じ場所への展開としました。

音を鳴らせるようにMediaプラグインを導入します

 ゲームですから、音が鳴らせるようにしましょう。
 cordovaコマンドでmediaプラグインを導入します。
cordova plugin add org.apache.cordova.media
 とりあえず、きちんと入ったか確認します。
cordova plugin ls
 正常動作していれば次の表示となるはずです。
cordova-plugin-console 1.0.2 "Console"
cordova-plugin-device 1.1.0 "Device"
cordova-plugin-file 3.0.0 "File"
cordova-plugin-media 1.0.1 "Media"
cordova-plugin-whitelist 1.2.0 "Whitelist"

ここまでできたらプログラムを打ち込みます

 cordovaは基本web構造なので、index.htmlが最初に読み込まれます。
 そちらに必要なjsを読み込ませ動作させます。
 とりあえず、main.jsでプログラムを定義してみたサンプルが以下のものです。
 効果音として「s-burst01.mp3」(タッチ時の音)、「darkknight.mp3」(BGM)を使用しています。
 音はこちらMusic is VFRフリー素材 Music-note jpのものを使わせてもらいました。
 サンプルと異なる音源を使う場合、プログラム修正するかファイル名変更を行うかいずれかの方法で関連性を持たせれば問題ありません。
FileName:www/index.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
</style>
</head>
<body>
<style type="text/css">
body{
  margin:0;
  padding:0;
}
</style>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="js/enchant.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
</body>
</html>
FileName:www/js/main.js
enchant();
function getPath(){
    var str = location.pathname;
    var i = str.lastIndexOf('/');
    return str.substring(0,i+1);
}

function mediaError(e) {
}
function onSuccess(){
}

window.onload = function(){
 var core = new Core(window.parent.innerWidth,window.innerHeight);
 core.preload(['chara1.png']);
 core.fps = 15;
 var maxcount = 10;
        var audioHit1 = null;
        var audioBG = null;
 document.addEventListener("deviceready",
 function(){
        try{
          audioHit1 = new Media( getPath() + "s-burst01.mp3",onSuccess,mediaError);
   audioBG = new Media( getPath() + "darkknight.mp3",onSuccess,mediaError);
   audioBG.play({numberOfLoops:"infinite"});
        }catch(e){
          window.alert("Media:"+e);
        }
        }
 ,false);
     core.onload = function(){
  var Bear = Class.create(Sprite,{

   initialize:function(x,y){
    Sprite.call(this,32,32);
    this.vscale = 2;
    this.speed = 5;
    this.ss = 1 + this.vscale;
    this.x = x;
    this.y = y;
    this.image = core.assets['chara1.png'];
    this.image.frame = [0,1];
    this.scale(1,1);
    this.rotation = Math.random()*360 ;//* Math.PI/180;
           this.fc = -1;
    core.rootScene.addChild(this);
    maxcount --;
   },
   onenterframe:function(){
    var s = 1;
           this.fc ++;
                                if (this.fc > 3){
        this.fc=0;
    }
           this.frame = this.fc;
    
    if( parseInt(Math.random() * 10) == 5 ){
     if (maxcount >0 ) new Bear(Math.random()*100,Math.random()*100);
    }
    
    this.x += Math.cos(this.rotation * Math.PI / 180 ) * this.speed;
    this.y += Math.sin(this.rotation * Math.PI / 180 ) * this.speed;
    if (this.x >= core.width || this.x <= 0 || this.y >= core.height || this.y <= 0 ){
     this.rotation = Math.random()*360 ;//* Math.PI/180;
    }

   },
   ontouchend:function(){
           audioHit1.stop();                              
           audioHit1.play();
    if (this.scaleX > 50){
     core.rootScene.removeChild(this);
     maxcount ++;
    }
    this.scale(this.ss,this.ss);
   },
  });

  var bear = new Bear(50,50);

 } 
 core.start();
};
Filename:platforms/android/AndroidManifest.xml
     :                   :
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     :                   :
</manifest>

さっそく実機でテスト

 動作環境はjsなのですからブラウザ上でも確かめられますが、やっぱり実機でやってみたいものです。
 androidスマホをUSBデバックモードをONにした状態で、USBにてパソコンと接続します。
 USBデバックモードをONにする方法は、こちらに記事がありました。
 ONにしましたら、USBケーブルでパソコンと接続します。
 接続したら次のコマンドにて実機に転送して動作させます。
cordova run android
 少々画質が悪いですが、以下が動作結果です。

 どうでしょう。結構簡単にゲームっぽいものが作れたとおもいます。
 みなさんも頑張って見られてはどうでしょう?
2015/12/07

Cordovaでスマホアプリを簡単作成

はじめに

 スマホにはandroid,iPhoneがあるのは皆さんご存知のことと思います。
 別にOSが違うだけなら問題ないのですが、それぞれ開発キットがあり、どちらでも動くものは少々難しいようです。
 ただ、労力が潤沢ではない場合、2つをそれぞれ作るなんて出来ないわけですから、何とかしたいところです。

色々あります

 スマホが市場に出て、何年かたちました。
 完全とはいわないまでも、複数のプラットフォームに対応できるものも色々出てきています。
 その中で、HTML5+Javascriptで開発出来るCordovaというものを学習してみたいと思います。

ネットの記事がありました

 基本からすべて調べてみようと思ったのですが、ありがたいことに先駆者の方が記事を掲載されていました。
 こちらを素材に実施してみたいと思います。

 ということで、筆者が躓いた点などをアップしていきたいと思いますので、よろしくどうぞ。
2015/12/06

DELLってコンピュータメーカーの宣伝をしてみる

はじめに

 みなさんごきげんいかがでしょうか?
 今回はDELLというコンピュータメーカーについて、非常に書きたくなったので投稿してみます。

なぜ書きたくなったのか?

 書きたくなった理由ですが、いつの間にか会社のパソコンがすべてDELLになってしまったからです。
 それも客先に納品する製品までもです。
 少々面倒な相手に紹介する場合もDELLを紹介してしまう始末です。
 なぜかって?
 理由を知りたいですよね。

 その前に、DELLって何だという方に説明します。

DELLってなに?

 DELLとは外資系のコンピュータメーカーで、日本法人は1989年に設立しています。
 以外に長く日本市場に取り組んでいる会社です。
 特徴は、特にかくコストパフォーマンス最高で、アフターサービスも評判良い会社です。
 ただ、量販店などでは、ほぼ見ることはなく(都心のヨドバシカメラなどでは販売されています)、ネット販売が主な販売ルートとなっており、初心者にはあまり知られていない会社です。

DELLの良さは?

 まずなんと言っても安い。
 故障した場合も、保証期間であれば修理してもらえるのは当然のこと、簡単な部品交換で、自分でも出来る範囲のものであれば部品を送付してくれたりします。
 技術者派遣での修理は応対しないといけないですし、メーカー送りにする場合は戻ってくるまで待たされるわけで、筆者はこの対応は点数高いです。
 部品交換といっても、最近のパソコンはモジュール化がすごいですから、場合によってはネジを外すこともなかったりします。
 プラモデルより簡単だったり。
 半田ゴテなんて絶対使う必要はないです。
 知人も技術者ではないのですが、ノートパソコンのキーボードのキーを外してしまった際に、ピンを折ってしまったのですが、故障扱いで部品を送ってもらい、無事自分で交換をし終えていました。

そんなこと言っても、故障は心配

 店頭で買えば相手がわかるわけで、困った時は店頭に持っていけば何とかしてもらえるかもと安心ですね。
 DELLの場合ですが、サポート窓口に電話して本体に記載されている7桁のサービスタグ番号を伝えればすべて話が通るようになっています。
 たらい回しに合うことはありません。過去の対応記録もすべてわかるようになっています。
 電話応対してくれる方は外国人の場合はあるようですが、応対は全く問題なくこなしてくれます。価格維持の起業努力はすさまじいです。

どんなもの売っているの?

 4万円台の廉価版から、こだわった製品やゲーミングブランドまでそろっています。
 はっきり言うとここまでカバー率高いメーカーは他にはHPしか無いのではないではないでしょうか。

ノートブック廉価版

デル株式会社 デル株式会社

ノートブックハイエンド

デル株式会社

ノートブックゲーミング

デル株式会社 デル株式会社 デル株式会社

 こんな感じですね。
 DELLの製品もいいもんだなぁと思っていただけましたか?

悪いところはないの?

 DELLのノートパソコンで残念でたまらないのは電源アダプターなんです。
 19.5V 3.3Aのアダプタなんですが、何故かおっきいんです。
 気にされる方は、以下のような互換アダプタを購入されることをお薦めします。