SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ゲームエンジン「ngCore」最速チュートリアル(AD)

「忍者ロワイヤル」を真似してみよう!
~サンプルで学ぶ、ngCoreを使ったゲーム開発

ゲームエンジン「ngCore」最速チュートリアル 第2回

  • このエントリーをはてなブックマークに追加

UpdateEmitterとは

 ここで一度コンストラクタに戻ってコードを見てみましょう。

Core.UpdateEmitter.addListener(
  this, this.onUpdate );

 この行でonUpdateへの参照が使われています。新しいエミッターがでてきました。このエミッターは何をするものなのでしょうか。

 Core.UpdateEmitterクラスは登録されたリスナーに対して1フレームごとに通知を行うクラスです。つまり、Trajectoryクラスはこのエミッターに登録しているので、毎フレーム通知を受け取ることになります。ここでは、onUpdateメソッドがそのハンドラとなります。

 onUpdateの中ではonTouchで更新したthis._vertexListをもとに描画するポリゴンの更新を行っています(LIST10)。

LIST10:ポリゴンの更新
var v = this._vertexList;
var p = this._prim;
~省略~
p.setVertex( i*2+0, new GL2.Primitive.Vertex(
  [v[i].x - v[i].dx * bw, v[i].y - v[i].dy * bw], [0, 0], [r, g, b]));
p.setVertex( i*2+1, new GL2.Primitive.Vertex(
  [v[i].x + v[i].dx * bw, v[i].y + v[i].dy * bw], [0, 0], [r, g, b]));

 setVertexは最初にpushVertexで登録したGL2.Primitive.Vertexを更新するためのメソッドです。様々な計算をしていますが、this._vertexListの内容をもとにsetVertexするというのが本質になります。setVertexでVertexのリストを更新することにより、画面に描画される内容が変化します。サンプルを用意したので確認してください。

ゲームを組み立てる

 今回紹介したモジュールやTrajectoryクラスを使用し、サンプルゲームを作成しました(図5)。

図5:サンプルゲームスクリーンショット
図5:サンプルゲームスクリーンショット

サンプルの構成

  • Sample1.zip

     Hello ngCore

  • Sample2.zip

     指紋ぺたぺたアプリ

  • Sample3.zip

     “剣の軌跡を表示する”サンプル

  • Sample4.zip

     「忍者ロワイヤル」をアクションパートをもとにしたサンプルゲーム

最後に

 駆け足でしたが、説明は以上です。

 今回はHello worldからはじまり、タッチ、スプライト、ポリゴンの描画、一定時間ごとにアップデートされるコードの説明までできました。サンプルゲームのようなアプリケーションが非常に少ないコードで動くことがお解かりいただけたと思います。本セクションで説明したモジュール以外にもngCoreには有用なモジュールがまだまだあります。Network、Social、Bankなど、ソーシャルゲームを開発する際に必要なものは全て揃っていると言ってよいでしょう。

 これから、スマートフォンで動くソーシャルゲームの分野はますます伸びていくと我々は考えています。我々と一緒にこの分野を盛り上げていきませんか? 本記事がみなさんのngCoreを理解する際のお役に立てれば幸いです。ありがとうございました。

ngCoreの事例紹介「忍者ロワイヤル」

 ngCoreにて開発された忍者アクションRPG。タップで手裏剣を投げる、スラッシュで敵を斬るなどスマフォならではの操作をゲーム内に組み込み、忍者としてミッションを実行し、ボスを倒して世界に散らばるお宝を集め、忍者としての格を上げていくゲームです(※iOS/Androidの両OSに対応しています)。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ゲームエンジン「ngCore」最速チュートリアル連載記事一覧

もっと読む

この記事の著者

沖原 正剛(株式会社ディー・エヌ・エー)(オキハラ マサタカ(カブシキガイシャディー・エヌ・エー))

株式会社ディー・エヌ・エー ソーシャルゲーム統括部 所属。コミュニティーエンジン株式会社でネットワークゲームの開発・運営に携わる。2010年6月株式会社ディー・エヌ・エー入社。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6324 2012/02/23 19:01

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング