私はCocos2dでの作業を開始し、過去数日間このチュートリアル(リンクはパート9用)をオフにしてきました。ソースを読んでそれを理解しようとすると、私には意味のないセクションに到達しました。
-(void)gameLogic:(ccTime)dt {
static double lastTimeTargetAdded =0;
double now = [[NSDate date] timeIntervalSince1970];
AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
if(lastTimeTargetAdded == 0 || now - lastTimeTargetAdded >= delegate.curLevel.spawnRate) {
[self addTarget];
lastTimeTargetAdded = now;
}
}
これを介して呼び出されます:
[self schedule:@selector(gameLogic:) interval:0.2];
lastTimeTargetAdded
関数が実行されるたびに作成および設定されるという事実で、 0ではないのはどうしてですか?その場合、ポイントはlastTimeTargetAdded = now
何ですか?ifステートメントがOR(||)である場合、その反対側は評価されないのに、なぜそこにあるのでしょうか。
私は、関数がどのように機能するかを十分に理解しています。この方法は、スポーン率に基づいてクリープをスポーンすることを想定しています。波のすべてのクリープが画面にダンプされていないことを確認してください。そして、この方法はそれを十分に行います。