Flex、AIR、Java、Androidなど

Archive for 12月, 2010

12/18、19に東広島のSHARPさんにて開催されたハッカソンに参加してきました。
第一回に続いて2回目の参加です。
ハッカソンの模様はUstreamで中継されていますのでそちらをご覧下さい。
今回もチームに恵まれました。
Twiccaの作者である@R246さん、K’s Launcher、降水確率ステータスバー等の@KUGOさん、おなじみメアドピッカーの@LuckOfWiseさん、ふりがなオートマチック等の@yokmamaさん、イケメンに限る等の@Toro_Kunさんアプリや講師経験などAndroid界隈では有名な方ばかりで、このメンバーなら何でも作れるようなそんな豪華なメンバー陣。
前回と同じく何となくチームが出来ていったのですが、もうこのチームで自分が役に立てるのは絵と音源作成くらいだろうと最初から思いました(笑)。
今回はゲームを3つ作ったのですが、コードを書いたのは自分以外の方ばかりで、自分がやったのは本当に絵描きとGarageBandでの音源作成くらいでした。
懇親会も楽しかったのですがバッテリーが切れてて画像がありません。でも深夜までわいわいしゃべってとても楽しかったです。温泉も行けたし。
ハッカソンの方ですが、結果から言うと優勝できました!前回に続き優勝させて頂いたようなものなので本当に感謝しています。
今回は優勝商品として腕に巻く電子マネー?のようなものが。(写真は@Toro_Kunのを拝借)他にも参加者の方全員に何らかの景品が配られました。太っ腹です。
コードはこちらにありますので興味のある方はどうぞ。
会場、端末を提供してくださったSHARPの方々、運営を担当されたブリリアントサービスの皆様、同じチームになった皆様、参加者の皆様、本当にありがとうございました。
また機会がありましたらよろしくお願いいたします!
参加者の方のブログ記事です。※追々追記していきます。
・第2回 SHARPハッカソン@東広島が開催されました – ブリリアントサービス様
・android hackathon at sharp – @lycheeさん
・第2回 SHARPハッカソン@東広島 – @Toro_Kunさん
・第2回SHARPハッカソン@東広島に参加しました。 – @LuckOfWiseさん

ここ最近はiPhone用ゲームを作るのにはまってます。んで一個横スクロールゲームで楽しいのが出来たんで公開しました。
Horseback Archery -Yabusame-

App Store
まあよくある横スクロールゲームですね。既にたくさんありますが、これまで私が遊んだのは
Run!

紹介ページ
App Store
iHelicopter

紹介ページ
App Store
とか。ここらは私が作ったゲームと同じタイプ?ですね。
あとはAngry Birdとかの発射ゲームも背景のスライドとかは同じかもしれません。
んで、この記事はこういうのを一から作っていくチュートリアルになります。
今回はとりあえずパーツとかを貼っていったりイベントを追加していく前の段階、背景画像をスクロールさせるところまでやりたいと思います。
ご要望があるようでしたらアニメーション、当たり判定、広告の入れ方等も書いていきたいと思います。
では始めます。長いんで畳みますね。
◆ 最初に注意
ここに載せているコードはちょー適当ですが自分の環境では動いてます。上手な方に言わせると間違いだらけですし遅いでしょうが動いてるのを直すと別のところが動かなくなるのでアドバイス頂いても直さないかもしれません。スミマセン。
◆ いるもの
・Snow Leopard搭載のMac
・XCodeとiPhoneSDK(入れ方はググってください)
・cocos2d(こちらとかこちらを参考に)
・やる気
あと、英語が苦手じゃない方はこの本買いましょう。ひと通りできるようになります。
http://apress.com/book/view/9781430233039
◆ 始めます
□ プロジェクト作成

XCode開いて左のcocos2dペインを選択、cocos2d Applicationを選択して右下の選択ボタン。適当に名前を付けてプロジェクトを作成します。出来たらこんな感じになるでしょう。

Base SDK Missingになる方はメニューバー > プロジェクト > プロジェクト設定を編集 > ビルドタブから適当に他のSDKを指定してください。
ここでテンプレートに含まれているHelloWorldSceneの説明をしときます。
ヘッダファイルを見て頂ければ分かると思いますが、CCSceneではなくCCLayerを継承しています。んで、用意されている関数は+(id) sceneのみ。ソースファイルを見ると+(id) scene関数は新規にCCSceneをインスタンス化したものに自分自身を-(id) init関数でインスタンス化したものをaddして返しています。
試してみたい方はCCLabelの文字列を変えてみて下さい。
意味が分からん、という方は普通のゲームを考えてみて下さい。最初にゲームモードを選んで、ゲームメイン画面があって、オプション画面があって、というところの「画面」がCCSceneです。そんで、キャラクターとか背景がCCLayer上に描画されていて、CCLayerは同一CCScene上に重ねて表示したりもできる、という感じです。まあやってる内に分かると思います。
□ メイン画面を作る
色んなやり方があると思いますが自分はメイン画面は以下のような構成にしています。

MultiLayerSceneはGameLayerとControlLayerを貼りつけたシーンを返すのですが、自分自身のインスタンスをstaticに持っていて、これによりGameLayerとControlLayerの間でのやりとりを容易にします。
GameLayerは背景画像やキャラクターが描画されているレイヤーです。ControlLayerがタッチイベントを受け取り、状況によりGameLayer上のオブジェクトを変化させる関数を呼びます。
ControlLayerはタッチイベントを受け取り、座標等を元にGameLayerに命令を出します。
今回のような単純なゲームだとGameLayerとControlLayerを一枚のレイヤーにしても問題ないと思うのですが、ソースが長くなるのといつかタッチイベントの処理を拡張したくなった時にタッチをハンドルするレイヤーと描画のレイヤーが別れている方が都合がいいのでいつもこうするようにしています。
□ スクロールする背景を作って、GameLayerに貼り付ける
仕組みは簡単です。背景画像は奥に位置するもののスクロールを遅く、近いもののを早く移動させるだけ。画像の端が途切れないように一枚の画像を横反転させて追加します。図解するとこんな感じ。

ソースコードとコメント見てもらえれば分かると思います。
□ 最初に起動するSceneをHelloWorldSceneからMultiLayerSceneに変更
プロジェクト名AppDelegate.mファイルにMultiLayerScene.hをインポートし- (void) applicationDidFinishLaunching:(UIApplication*)applicationの中のHelloWorldSceneを変更します。
◆ ソースコード
ここまでのソースコードを置いておきます。
SampleScrollGame.zip

コメントは受け付けていません。

iPhone用新作ゲーム、Horseback Archery -Yabusame- をリリースしました。
プレイ&説明動画を撮ってますので御覧ください。

軽快に遊べる横スクロールやぶさめゲーです。単純なゲームですが得点を上げれば上げるほど的は小さくなり、馬が走るスピードもアップします。
クリアするまで寝れないようなのめりこむタイプのげーむではないですがちょっとした空き時間にやりたくなるかも?

メニュー画面です。音のON/OFFの設定やヘルプ画面、ゲームモードの選択ができます。また、右下のアイコンをタップするとオンラインランキングが見れます。

ヘルプ画面です。英語のみなので説明しておきます。

矢を射る高さは左下のコントロールをぐりぐりして調整して下さい。
矢を射るためにはパワーを貯めないといけません。画面を長押しするとプレイヤーのまわりを赤い炎が包みますのでその状態になればまっすぐに射ることができます。
普通の的は1点、ラジコンヘリは30点、鳥は-50点です。コンボは5の倍数回矢を的に当て続けるとその数だけ加算されます。

ゲームが終了すると結果が表示されます。点数が最高だった場合は自動的にサーバーに登録されます。
無料ですので是非お試しください!気に入って頂けましたらレビュー、フィードバックもお願いします。

コメントは受け付けていません。

Categories

 

2010年12月
« 11月   1月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here