ゲームの解像度は大きすぎないこと

ゲームの解像度は大きすぎないこと
ゲームの解像度を大きくすると
綺麗に表示できるけど
リソースファイルが大きくなり
キャッシュの影響で
徐々に動作が重くなる
なので、あまり大きくせす
少し古い端末でも
サクサク動くぐらいがベスト

SimpleLayoutGameActivityのライフサイクル

SimpleLayoutGameActivityのライフサイクル
onCreate ~ onCreateGameまでは
上位親クラスで実装されているので
直接変更することはない
onCreateResource
でリソース類を管理するクラスを継承
onCreateScene
でSceneのサブクラスを返す
ライフサイクルは
onCreate
onResume
onSurfaceCreate
onCreateGame
ここまでは、親クラスに実装
onCreateResources
リソース類管理クラス準備
onCreateScene
Sceneサブクラスを返す
onPopulateScene
onGameCreate
onSurfaceChanged
onResumeGame
Activity
実行中
onPause
onPauseGame
onDestroy
onDestroyResources
onGameDestroyed
オリジナルゲームを作るとき
画面が真っ黒などの場合
このライフサイクルのどこかに問題がある
リソースやテクスチャの読み込みがおかしいなら
リソース関連の関数呼び出しが適切か確認する

SimpleLayoutGameActivityについて

MainActivity編集開始
ます、必要なパッケージをimport
org.andengine.関連になる
あとextendsするのを
Activityから
SimpleLayoutGameActivity
にする
で、画面サイズ指定
private int CAMERA_WITH=480;
private int CAMERA_HEIGHT=800;
となっていくが書籍にポイントごとに
解説があるから
それをメモ
SimpleLayoutGameActivityクラスは
BaseGameActivityのサブクラスで
XML Layoutを使って
Activityを作成するクラス
XML Layoutを使わないゲームを描画するなら
SimpleBaseGameActivity
を使う
ちなみに、広告やWebViewの追加を考慮する、つまり
後から広告をつけたいとか
WebViewを一部表示するなら
SimpleLayoutGameActivity
を使う
これにより、ゲーム以外のAndroidアプリ
と同じ実装が可能になる

Sceneクラスとは

Sceneクラスとは
Sceneクラスは
全画面を描画範囲として持つクラスで
オブジェクトの追加
それ自体をタッチのリスナーとして登録
毎フレーム呼び出して
オブジェクトの位置、スコアの更新する
アップデートハンドラの登録をする
ゲームの起動中は、
常に1つのSceneクラスのインスタンスが最前面に表示されている状態
次に、BaseGameActivityについて
BaseGameActivityは
AndEngineを利用したゲームのActivityの
最上位クラスで
Scene上に保持しておくことで
リソース、テクスチャなどに
アクセスしやすくなるので
メンバ変数として保持しておく
これにより、Androidアプリを作成する際
何らかのクラスのサブクラスを作成するときに、
コンストラクタで Contextを渡すのと
同様な使い方か可能になる
クラスを自作するときのポイントは
後々の拡張性も考え
最初からBaseGameActivity型の
インスタンスを初期化時に呼ぶようにする

HTTPS通信対応

HTTPS通信対応してみました
yum -y install mod_ssl
cd /etc/pki/tls/certs/
#有効期限10年へ
sed -i ‘s/365/3650/g’ Makefile
make server.crt
#サーバー用秘密鍵からパスワード削除
openssl rsa -in server.key -out server.key
#SSL設定
sed -i “105s/localhost/server/” /etc/httpd/conf.d/ssl.conf
sed -i “112s/private\/localhost/certs\/server/” /etc/httpd/conf.d/ssl.conf
sed -i “77s/^#//” /etc/httpd/conf.d/ssl.conf
#apache 再起動
/etc/rc.d/init.d/httpd restart
これらをまとめて
setupssl.sh
にして
sh ./setupssl.sh
と実行することで設定できます

web server install

web server のインストールメモと作成したスクリプトです
とはいっても、簡易的なものですが
以下のところを、setupapache.sh
というファイルに保存し、
sh ./setupapache.sh
で実行するだけでよいようにしてみました
#!/bin/bash
yum -y install httpd
yum -y install php php-mbstring
#httpd.conf 設定
#OS非表示へ
sed -i “44s/OS/Prod/” /etc/httpd/conf/httpd.conf
sed -i “276s/^#//” /etc/httpd/conf/httpd.conf
#サーバー名指定
echo “IPもしくはサーバー名を入力してください”
read IPADD
sed -i “276s/www.example.com/$IPADD/” /etc/httpd/conf/httpd.conf
#CGI SSI許可
sed -i “331s/Indexes FollowSymLinks/Includes\ ExecCGI\ FollowSymLinks/” /etc/httpd/conf/httpd.conf
#.htaccess 許可
sed -i “338s/None/All/” /etc/httpd/conf/httpd.conf
#エラーページでのサーバー情報非表示
sed -i “536s/On/Off/” /etc/httpd/conf/httpd.conf
#文字化け対応
sed -i “759s/^/#/” /etc/httpd/conf/httpd.conf
#CGI script へ .pl追加
sed -i “796s/^#//” /etc/httpd/conf/httpd.conf
sed -i “796s/$/\ .pl/” /etc/httpd/conf/httpd.conf
#/usr/local/bin/perlから/usr/bin/perlへリンクをはる
ln -s /usr/bin/perl /usr/local/bin/perl
#Document Root 所有者変更
echo “DocumentRoot 所有者を入力してください”
read USERNAME
chown $USERNAME. /var/www/html
#Web Server 起動
/etc/rc.d/init.d/httpd start
chkconfig httpd on
これで、設定ができます

Androidミラーリングケーブルで失敗

Android端末をミラーリングできるケーブルがあったので
購入してみました
しかし、残念ながら windows でしか動かないため
今後 VMware Player に windows7 をインストールし
それでテストしてみようと思います
今日は、この解決を試みたため、計画していたサーバー構築ができずに
終わりました
探し物をするときには時間を指定しないと
いつまでも探すことになるので注意しようと思います

ゲーム開発するときの注意点 

ゲーム開発するときの注意点 
古い端末にも対応させるため
MinimumRequired SDK
は8にしておく
あと、Build SDKを 13にしておく
Build SDK を14 以降で
Minimum Required SDK を
10以前にしてしまうと
Android 4.0以上で
ユーザーがメニューボタンにアクセスできなくなるらしい

AndEngineを使ったゲーム開発の流れ

AndEngineを使ったゲーム開発の流れ
書籍を参考に、Android2Dゲーム開発の勉強
開発の流れを忘れそうなので
後々思い出せるようにメモ
ゲームを描画するクラスMainScene
を作成
ホーム画面から起動したら
最初に呼び出され
ゲームのシーンを管理するActivityの
MainActivityを作成
画像を管理するクラス
ResourceUtil
を作成
org.andengine.entity.scene.Scene
を継承した、ゲーム開発に利用する
Sceneの親クラス
KeyListenSceneを作成
org.andengine.ui.activity.SimpleLayoutGameActivityクラスを継承した
ゲーム開発に利用するActivityの親クラス
MultiSceneActivityの作成
という流れ
解説の途中に
完成したプロジェクトを参照することもあるため
書籍のwebサイトから
ダウンロードしておく