弾幕ゲーム第2弾:Android版申請してみた

ver1.0の敵は40種類

機能的には全て完成(最初のリリースでは敵の種類は40、最終的には100)したので
GooglePlayに申請しました。今回は時間が足らず広告を追加できなかったのですが
次回更新時に広告を追加する予定です。
スマホのGooglePlayで「弾幕」と検索すると25番目くらいに出てきます。
danmaku02store
このゲームは初心者向けの弾幕ゲームですが、幾つか難しい敵がいるので
ちょっと攻略方を。今回のリリースの中で最難関の1つ巡洋艦/波型/藤波です。
この敵は高速で移動してたくさんの弾を出すのですが、プレイヤー機を避けて
弾を出すので動かないだけで勝つことができたりします。

更新の度に「build_native.py」

以前の記事の通り、私の環境で何故か修正が反映されません。前回の調査で
binフォルダを削除すれば更新が反映されるのを確認したのですが、今回のような
複雑なアプリではエラーになってしまいました。ですがbuild_native.pyなどで
追加される5つのフォルダ全てを削除しbuild_native.pyからやり直すとエラーも無く
更新が反映されました。プログラム自体はxcodeの完成させてあり、この操作は
Androidアプリを作成する時だけなので意外と面倒は少なかったです。
  

Androidでtweet

広告は間に合いませんでしたが、tweetの機能は間に合いました。
tweet機能はiOSよりもAndroidのほうが簡単でした。参考にしたのは以下のサイト。
→参考:Cocos2d-x 3.0からツイートする
→参考:cocos2d-xでiOSとAndroidの処理を分ける
→参考:上記の続き:cocos2d-xでツイート機能を実装
一番上のを参考にしたのですが「AppActivity.java」のソースでエラーが
出てしまうので、その部分を最後の参考リンクの処理に書き換えて対応しました。
 
次はiOS側でtweetと広告を設定してAppleの方に申請を出したいと思います。
 
 
 

インフルエンザで口内炎が治った話

記事のストックが切れた。ストックが切れそうな時は週末を利用して補充するのですが、
前回のAndroid対応でその余裕もなく。そして今週はインフルエンザを発病。
ってことで雑記でお茶を濁します。
 

口内炎が速効完治

高熱が出ると通常の細胞は弱ります。ウィルスは細胞を乗っ取って増えるので、
高熱が出るとウィルスの増える速度が落ちることになります。そして逆に
免疫細胞は高熱で元気になるので効率が良く対応できるようになるのです。
口内炎もウィルスなのでインフルエンザの発熱に乗じてすぐに治りました。
——————————————————-
-2日目:舌裏の根本右側に違和感を感じる。できもののようなものは無し。
0日目:舌裏に鋭い痛み。見ると口内炎ができている。根本の方なので食事中も
    意外と痛みは少ない。しかしアクビの際に激痛。
3日目:風呂上がりに強烈な寒気を感じたので検温(37.5度)。喉に若干の痛み。
4日目;のど風邪と判断し、トローチをなめながら通常業務。口内炎の痛みが弱くなる
5日目;朝起き上がろうとしたらふらつく。全体的に軽い筋肉痛。下し気味のお腹。
    舌がすべすべ。高熱を結構経験してきたので、すぐに高熱の症状と気付く。
    寒気はないのに検温すると38.4度。口内炎の痛みは完全に消えている。
6日目:38.2度-熱はあるものの喉の痛みは引いてきた。
    インフルエンザの時って筋肉痛だけでなく、すぐに筋を違える。
    布団からものを取ろうと手を伸ばしたら悶絶することになった…。
7日目:37.4度-食欲が回復。ほとんど完治。
8日目:36.6度-完治。今年のインフルエンザは軽いのか?
 

インフルエンザ履歴

小学生の頃の平熱は37.0。プールの日には検温する事になっているが、正直に申告
すると永遠にプールには入れないので毎回36.8とサバをよんでいた。熱の耐性は強い方。

1994年:初インフルエンザ

多少熱っぽくても身体は元気なので中学/高校では無遅刻無欠席。大学に入ってから
人生初のインフルエンザで3日間寝込む。急速に行動困難になるくらい症状が悪化、
通常の風邪との格の違いを感じる。
ちなみに初のMac(LC630)はこの年に購入。この時のアルバイトはCプログラマ。
プリンタドライバを書いていた。時給も高く完全フレックスの良い環境だった。

1995年:2ヶ月の後遺症

やたら咳の出るインフルエンザだった。バイト先は前述と同じなのですが
開発部門が移転したためプログラマとしてはリストラ。営業サポート(データベースの
整理)としてバイト。インフルエンザで休みますとと連絡したら凄く怒られた…。
インフルエンザって急に行動不能になるから直前にしか連絡できないですよ…。
このインフルエンザは治った後も「空咳」が2ヶ月も止まらなかった。バイト先で
「その咳イライラするんだけど!」と怒られる…。このバイトをやめて塾の講師になった。

1999年:熱だけのインフルエンザ?

社会人としてバリバリお仕事。38度を超える熱が1週間続くも、喉の痛み/咳はなく
ふらふらして筋肉痛。そして下し気味のお腹だけ。こんな長期間熱が続くことが
無かったので、週末に病院に行こうと決意。したものの怖じ気づいて行かなかった。
週末にゆっくり休んだら月曜には治っていた。
当時はお腹下していたから消化器系の病気と思っていたけれど熱だけのインフル
エンザってのもあるらしい。
スクリーンショット 2015-02-15 1.35.36

2003年:40度を超えた

この本を執筆中に発症。スケジュールが2週間遅れる。熱が39度を超えても咳も喉の痛みも出ないので体温計が壊れた?と思い「水銀体温計」を購入、やはり39度を超えている。
ですが半日もしないうちに急に悪化。咳も喉の痛みも鼻水も全部やってきた。そして
最終的に熱は40度を超えることに。38度を超えると舌がスベスベになってくるのですが
40度を超えると舌の白い部分(味蕾)が死滅します。気味の悪いくらい綺麗なピンクです。
砂糖や塩をなめても微妙な苦みしか感じません。食事はできずヴィダーinゼリーが
主食になりました。脳は熱に弱いので頸動脈を冷やして脳の温度を下げるようにして
いました。ちなみに回復後、わりと早く味蕾は復活しました。

2005年:原君のせい

後ろの席の原君がインフルエンザから復帰。「大丈夫?」と効くと「大丈夫です」
という言葉と共にウソっぽく咳き込むお茶目な原君。インフルエンザって熱が引いた
あとも2日くらいはウィルスが残っているそうです。見事感染しました…。
数日後の夜9時くらいに急な寒気におそわれ会社を早退。今回のインフルエンザは
すぐに症状が出始めて、途中で行動困難状態に。大通りまで出て自転車を放棄し
タクシーにて帰宅。私は左右盲なので道の指示を間違い運転手に睨まれた…。
このインフルエンザは喉の痛みが特徴的。加湿器を持っていなかったので
風呂場を解放し湯気を充満させようとしたのですが上手くいかず、常備薬の咳止め
シロップ(喉の痛みに良く効きます)とVicksVapoRubでしのぎました。

感染ルート

こうして眺めると、電車通勤/通学をしている時にインフルエンザになっている
場合が多い。たぶん電車が感染ルートなのだと思う。
今回(6回目)のインフルエンザはたぶんショッピングモールで感染したのだと思う。
 
さて来週はきちんと記事を更新することができるだろうか?
 
 

再挑戦:cocos2d-xでandroid

androidの問題はまとまった時間を使わないと解決できなさそうなので
先週末と今週末を利用して対応しました。なんとかなりそうです。 
 

ワークスペースを変更

eclipseは最新のlunaにきめて、設定を再度見直しました。が…やはりエラーに。
半年の間に新たな情報がネットにないか探したところ、workspace内のメタデータ
が壊れている可能性があるから、workspaceを変更すればエラーを回避できる
可能性があるとの記事を発見!
実際にworkspaceを変更したらエラーを回避してビルドに成功!
 
しかしアプリは起動せず強制終了に。しかし以前のブログ記事にあった
「libcocos2dx」のリンク設定の変更で解決。でもって
自分用にeclipseのプロジェクト作成の流れをメモ。
———————————————————–
・cocos2dxでプロジェクトを作成
・proj.android内のbuild_native.pyを実行してビルドに必要なファイルを生成
・eclipseに読込
・読み込んだプロジェクトの「libcocos2dx」のリンク切れを修正
———————————————————–
上記でアプリをビルドして実機上で機能するアプリが作成できる。
 
 

新たな問題:修正が反映されない

しかしcppファイルを変更しても、アプリに反映されないという別の問題に遭遇。
「Hello World」の文字すら変わらない…。メニューから「clean」を実行しても
改善されない。ネットで探しても同じ問題に遭遇している人はいなさそう…。
 
なので自力で問題点を探ってみた。 
—————————————————-
・ビルドしたアプリが上書きされずに残っているのでは?
・build_native.pyを実行する前に変更しておくとok
・build_native.pyを実行すると作成されるファイルを確認
—————————————————-
まずプロジェクトを作成した直後の「proj.android」内の構成は以下の通り
スクリーンショット 2015-01-28 0.14.31
でもって「build_native.py」を実行すると以下3つのフォルダが追加される。
スクリーンショット 2015-01-28 0.16.50
このうち重要なのはたぶん「asset」フォルダ。ここにiOS側のプロジェクトから
画像素材などがコピーされてくる(てかiOSと共通の場所ではないことにビックリ)。
 
でもって、さらにビルドするとさらに2つフォルダが追加されるのを発見
スクリーンショット 2015-01-28 0.18.30
上記のうち「bin」フォルダ内にアプリっぽいのがあるので
これを削除してからビルトすると反映されている!
ネット上には発見できない問題と解決法なのでちょっと不安だけど解決できそう。
 
本来は諸ファイルはビルドの際に更新されるようです。以下のサイトの21ページ
ではassetフォルダ内のファイルがビルド時に更新されると記載されているし…
私の環境だけの問題なのだろうか?
→参考:Cocos2d-x 3.2 Eclipseを利用したAndroid開発環境の構築
 

まずはゲームの流れを完成させよう

問題解決の糸口が見つかったけれど、とりあえずメニューからゲームの流れを
完成させてからAndroidへの移植作業に入ろうと思う。とはいえ、今回のアプリで
iOSとAndroidで分けて書くのはtwitterの起動部分だけだと思うので、それほど
大変ではなさそう。
 
 
 

弾幕ゲーム第2弾:メニュー部分の作成

メニューとクリア情報の記憶

今週はメニュー部分を作成しました。あと敵を撃破したデータを記憶する仕組みも。
AppleのGameCenterは1アプリにつき500種のAchievementを設定できますが成績を
確認するためにGameCenterに移動する必要があり、ユーザビリティが低い感じが
するので今回は利用しないことにしました。
まだ敵のデータを作成していないので、メニューをクリックすると
撃破/非撃破を切り替えて正常に記憶できているか確認できるようになっています。

 

Androidアプリに再挑戦

脳トレ15パズルもダウンロード数が1000を越えました。そのうち約7割が北米で
ダウンロードされ、残り3割がアジアです。アジアとは言っても日本での
ダウンロード数は100以下で、アジアのトップは以下の様にマレーシアという状態。
このように日本よりも海外でダウンロードされるようなアプリはアンドロイド版が
良いと思うのですよ。弾幕系ゲームもAndroidの方が人気なようですし。
競争は激しくてダウンロード数の差が大きいのですが、今回のアプリで参入して
みたいのです。
スクリーンショット 2015-01-28 2.56.46
ということで再挑戦することに。しかしAndroid環境は昨年の8月に
アプリが起動できないほど破壊され放置したまま…。ちょっと気が重いです。
参考→ブログ記事「eclipseが壊れた」