こんにちは、スプライトが飛んで落ちる cocos2d ゲームを作成しています。たとえば、ユーザーが初めて画面に触れたときに、ゲーム アニメーションが開始され、物理エンジンが開始される最初のタップ タッチ イベントを作成しようとしています。ユーザーがゲームを開始すると、スプライトがすぐに落ちるのですが、これを手伝ってくれる人はいますか?
現在、このようなものを使用していますが、ユーザーが初めて画面に触れるまで物理エンジンを待機させる方法がわかりません。
CCSprite *_pixie
CCNode *_start;
BOOL *_firstTap;
CCPhysicsNode *_physicsNode;
-(void)didLoadFromCCB{
_physicsNode.collisionDelegate = self;
_firstTap = True;
}
- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
if(_firstTap == TRUE){
_start.visible = FALSE;
_firstTap = False;
}
//flying sounds & so on
if (!_gameOver) {
[[OALSimpleAudio sharedInstance] playEffect:MAGIC volume:0.4 pitch:1 pan:0 loop:NO];
[_pixie.physicsBody applyImpulse:ccp(0, 420.f)];
[_pixie.physicsBody applyAngularImpulse:11000.f];
_sinceTouch = 0.f;
}
}
- (void)update:(CCTime)delta {
if(_firstTap == FALSE){
float yVelocity = clampf(_pixie.physicsBody.velocity.y, -1 * MAXFLOAT, 200.f);
if ((_sinceTouch > .5f)) {
[_pixie.physicsBody applyAngularImpulse:-40000.f*delta];
}
}
}