アプリ量産部始動!in private

 
date:2011.10.12   posted by:fujii
 

こんにちは、藤井です。

最近はスマフォがとてつもない速度で普及してきて、「ちょっとしたアプリを開発したら当たっちゃった」みたいな事例もよく見るようになってきました。
そこでデザイニウムでは、有志が集まって「アプリ量産部」を結成!
インターン生の木戸君を部長に祀り上げ部員3人でスタート。人数的には初っ端から廃部の危機です。

そんな逆境にも負けず作り上げた第1作目のアプリがこの「iだるま落とし」。


iTunesの紹介ページはこちら。

以下、紹介文をそのまま抜粋です。
——————————–
己の全力でiPhoneを振り抜け!iダルマは振って遊ぶバーチャルだるま落としです。
1Pプレイモードと2P対戦モードあり。

ダルマを全て落とすとクリア!次のレベルに進みます。レベルが上がるごとに崩れやすくなります。

iPhoneを右か左に傾けたまま振ると、ダルマを打つときに上下の力が加わります。状況に応じた最適な打ち方を!

注意!
・周りに人や物がないことを確認してからプレイ!
・やりすぎると腱鞘炎になるよ!
——————————–

検索してみたところ、他のだるま落としアプリはiPhone自体を振って遊ぶようなものではなかったので、実際に振ったほうが面白いかなと思って作ってみました。
思いがけず社内ではそれなりに好評でビックリ。
テストプレイ中に振りすぎて手首がすごい痛くなったのは余談です。

ちなみにこのアプリの制作期間は4日です。
デザインできない人間なので素材探しで1日かかってしまいます。なので実装からデバッグまではおよそ3日。
もうちょっと作り込めたかなーとは思いましたが、量産部にはデッドライン(半月にアプリ1本)があったため妥協しました。改善は次回のアップデートへ回します。

今回はCoronaで作りましたが、作る過程でいくつか役に立つかもしれないことに気付いたので、Coronaデベロッパーのために書き留めておきます。

———————–

▼引数で渡したグループ内の子要素を全て消去する関数

local function removeGroupChildren( group )
  for i=1,group.numChildren do
    group:remove(1)
  end
end
グループ内のテキストとか画像を全て削除するために作りました。これはそのまま使えます。
グループの子要素を削除すると、削除された分先頭に詰められていってインデックスも変化するので、全て無くなるまで先頭を消去し続けます。

———————–

▼座標調整をいちいち考えなくても多数の解像度に対応したい

config.luaで「scale=”zoomStretch”」を設定。
これでiPhoneもiPadも大丈夫。ただしiPhone用の画像だけだとiPadでは粗く見えてしまうため、綺麗に見せたい場合はDynamic Image Resolutionを使って特定解像度用の画像を表示させます。

———————–

▼GravityとInstantの扱い

GravityはiPhoneの傾きによる重力加速度です。Instantはシェイクしたときなどに発生する瞬間的な加速度。
注意点として、Gravityは安定的に値が取れますがInstantはどのタイミングで取得するかが重要になります。例えば右から左にムチを振るような動きをした場合、一瞬右方向への加速度が取れた後に左方向の加速度が取れることになります。

今回のだるま落としはハード側でシェイクを検出した瞬間に加速度を取っていたのですが、クセのある振り方をした時などは意図した方向と違う加速度が取れてしまう時がありました。
左に振ったのにブロックが右に飛んでいく・・・とかでは不自然だったので、ここは仕方なく加速度の絶対値を取り1方向にだけ飛ぶようにしています。

———————–

essays about life
 
"だるま落とし"で関連する記事一覧 (シーケンスで表示する)
•2011.10.12-アプリ量産部始動! in private
 
 
"アプリ"で関連する記事一覧 (シーケンスで表示する)
•2011.10.27-アプリ量産部第2作目 in private
•2011.10.13-悩める漢のダイエットアプリ「漢のダイエット」リリース! in news
•2011.10.12-アプリ量産部始動! in private
 
 
Copyright © TheDesignium inc. powered by WordPress & mootools.
Relative Keyword|だるま落とし アプリ