プラグイン集

無料ブログはココログ
2021年11月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

サンプルJS

  • ユーロバカ一代の締切
    ・・・初期化中・・・

« 戦利品 | トップページ | Millénaire(ミレネア、村MOD) »

2012年9月17日 (月)

マスコットプログラミング(Android向け)

ソフトバンククリエイティブの書籍、「Android対応マスコットプログラミング」攻略記念。

And_mascot

本屋のandroidプログラミングコーナー行くと、置いてあるアレ。著者は「デスクトップマスコットを作ろう!! 」の松浦健一郎さんと、司ゆきさん。サンプルの絵は「這いよれ!ニャル子さん」の絵師、狐印さん。

この手の学習って言えば、オライリーの変な日本語訳を読むか、洋書を辞書と文法本をセットで読んで上達する。
もしくは、分厚い独習シリーズをやるのが普通だが、独習Androidは無いんだよね。翔泳社ガンバレ。
ちなみに、オライリーと独習は、プログラミングやりたいって人の心をへし折るのに最適。自分の心がへし折れちゃ困るので、デスクトップマスコットの松浦健一郎さんの本にした。(どっちも、やり遂げた人は、相当な力になってるけどね・・・。大体消えていく。)
ちなみに、高橋麻奈は、嘘も方便過ぎて嫌い。javaのStringは変数じゃねぇ、クラスだ。それでも、活用編まだやったよ畜生。

ちなみに、自分はマスコットプログラミングは1度。アンドロイドプログラミングは初、javaは大学の授業で1年やった程度。開発OSはCentOS 6.3。Linuxで開発しました。

使用する実機は、is14sh。店に有ったのをそのまま頂戴してきた。

Is14sh

IS14SH評判悪いらしいな。モッサリ、標準アプリがメモリ食いすぎ、root権限を簡単に取れない、変なロガーが動いてる、キーが小さくて無いのと変わらないなど・・・。

まぁ、だから、お安く店に残ってたんだろうけど。

感想としては、Android入門・初心者が手を出す代物ではない。
Androidを自由にプログラミングできるレベルの人が、従来のプログラミングとの違いを確認しながらマスコットアプリを組んでいく。
そういうハイレベルな人が読むべき本だ。

少なくとも、ソースの一部を改変したり、試行錯誤が必要だったり、検索エンジンが必要な人は、明らかに向かない。

11章のメニューの組み立ては面白かった。メニューの階層を10刻みで作り、1刻みで機能を実装する発想は勉強になった。

デスクトップマスコットを作ろう!!を参考に、VBで全部書き起こした時は、LabelコントロールのIndex値とメニュー番号から、機能を特定していた。(そして、マスコット番号を見て、どのキャラを特定して、セリフと表情を変更していたが。)

Dta_sasara

マスコットキャラクターは、Leaf/AQUAPLUSのゲームToHeart2から久寿川ささら(さーりゃんの方が通りが良いか?)。
ToHeart2 デスクトップアクセサリー買って、ささらが無い事に絶望して作ったデスクトップマスコット。XRATEDで追加されたキャラだからしょうがないんだけどねウワァァ-----。゚(゚´Д`゚)゚。-----ン!!!!

ちなみに、このみ、愛佳、タマ姉等数キャラクター変更可能。
さらに脱線すれば失敗作も良いところ、キャラクターの魅力 < 起動時間・メモリ使用量・CPU占有時間などなどで常用に耐えない。流石だね.NET FreamWork。それ以上にダブルバッファリングバグでダブルバッファリング出来なくて、ちらつくのも腹立つし・・・。
よって、スクショ用。

解説してほしかったなぁと思ったのは、アクティビティ停止時の情報の保存。フェードイン・アウト・文字のアンチエイリアス、待機時間、枠の透明度等のパラメータの保管(セーブ)とリストア。
ここが知りたかった。AVGゲーム買ってくると、毎回変える。文字の1字ずつ表示アニメーションは、瞬時に表示にするし、枠の透明度を上げて、なるべくキャラクターが見えるようする。毎回設定するのバカくさい。

ちょっとAndroid分かっている人なら、ファイルなりXMLに格納しとけばいいだろうとピンとくるだろうけど、初心者は分からないだろう。私も分からない。

あと残念なのは、webからソースを落とさないと、紙面ではカバーできないエリアがあることと、動かないコードがあること。

・誤植

某出版社で誤植よほど致命的で無い限り訂正がwebにも出ないが分かったので、勝手にまとめ。twitterにも投げてたけど。

1.第7章のテキストを表示するのところ。

654282478

P204 9,21,24行目onDrawの変更無しを鵜呑みにしないように。口パクしません。drawCharacterの最後の引数を0からmouthIndexに変更すること。

2.第11章Androidらしい機能の活用

656997789

P340 下から4行目のtry文中。holerの()いらない。

3.第11章Androidらしい機能の活用 (2.の右ページ)

657234719

P341 12行目camera.setParameters(p);でjava.lang.RuntimeException。エミュレータ・実機ともに。

ググった結果、Android 1系だとこのコードでいいらしい、2系はNGになったとのこと。
Android OS 2.3以降の端末を要求しているのにこれは痛恨のミスじゃ無いか?

動かすだけなら、気まぐれコーディングや、 LOUMO.jpを参考に、端末が扱えるカメラ解像度を取得し、メソッド引数の値に近く かつ 端末が設定できるカメラの解像度を設定する、getOptimalPreviewSizeメソッドを作る。そして、フォーマット引数をガン無視する。  773によると、『有名なエラーで、カメラ開発初心者に対する洗礼のようだ。 』とのこと。見事に引っかかったよ。

ちなみに、もっと簡単な解決は、setParametersを実行しない(コメントアウトする)こと。

対策しても、setPerviewFormatをコメントアウトしないと、RuntimeExceptionだけどね。

※もちろん、各サイト引数や変数名が違うから、ちゃんと読み替えること。Importしてるクラスも違うし。

format引数ガン無視してるのが、個人的には気持ち悪いから、Androidプログラミングが分かってきたら再挑戦すべき章かな。

以上、誤植。ソースダウンロードして見ろって言われればそれまでだけどねw

ちなみに、java.lang.OutOfMemoryError問題、ばっちり引っかかりました。.inSampleSizeも付けないとヤバいです。

あと注意事項は、プロジェクトの作成がandroid projectになってるけど、アンドロイド アプリケーション プロジェクトに名前が変わってる。

AVDは、eclipseのウインドウ、AVDの起動ボタンで起動かけられる。コマンドラインで小難しくやらなくても問題無し。

筆者としてみれば、「eclipseの機能を駆使して、全力で修正してみなさい。それが、君の糧となるだろう。」って事だろうけど・・・。これからjavaを学ぶ云々をはじめにに書いちゃったんだから、もう少し親切でもいいと思う。あれか、今流行りの心折設計って奴か。

まとめ

Androidプログラミングが分かっている人向け、初めてAndroidプログラミングやる人の本ではない。
サンプルのダウンロードと修正版ソースのダウンロード必須。無いと詰む。(1(いち),l(エル),I(アイ)的な意味で)
サンプル以外にも、キャラクターの絵が用意できれば、○○Plusも夢じゃない。
ニャル子、クー子plusマダァ?(・∀・ )っ/凵⌒☆チンチン。蒼穹工房さん、フランちゃんプラスPC版早ぅ。

« 戦利品 | トップページ | Millénaire(ミレネア、村MOD) »

書籍・雑誌」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: マスコットプログラミング(Android向け):

« 戦利品 | トップページ | Millénaire(ミレネア、村MOD) »