【cocos2dx】放置ゲームを作る際の時間の管理-part1

cocos2dxで、いわゆる「放置系」のゲームを作るにはどのように実装をすればいいのか?

放置系とは

今回はやってみたいことは、「時間の管理」です。 放置系ゲームは、時間の経過でゲームが進んでいきます。これをcocos2dxでやってみたいのです。

大まかに下記の項目の実装が必要になると考えます。

  1. 同じCCScene、もしくはCCLayer上の時間の管理
  2. 別のCCScene、もしくはCCLayer上の時間の管理
  3. バックグラウンドに移動した時、またバックグラウンドから復帰した時の時間の管理
  4. アプリを停止した時、アプリを立ち上げた時の時間の管理

この4つの実装ができるようにします。 まずは、第一回目として、「同じCCScene、もしくはCCLayer上の時間の管理」をブログで書いていきたいと思います。

同じCCScene、もしくはCCLayer上の時間の管理

これはとても簡単です。

時間の経過

時間の経過はルート内で計算するのが一番楽でしょう。 このような感じです。 [c]

float time;

void MyLayer :: update(float delta){

 time = time + delta;

}

[/c]

ある時間が経過したらアクションを起こす

ある程度時間が経過したら、何かアクションを起こします。 これは先ほどのルートを利用します。 [c]

float time;

void MyLayer :: update(float delta){

 time = time + delta;

 if(time > 100){

   //ここにアクションの記述(メソッド)する
   time  = 0;


  }

}

[/c]

これで、ある時間が経過すればアクションを起こせるようになります。

最後に

第一回目はこのような感じです。 ここまではとても簡単です。次の記事は「別のCCScene、もしくはCCLayer上の時間の管理」を書こうと思います。