-1

忍者が上り下りするゲームを作っています。ボタンでそうする方法を書きましたが、問題は、忍者が画面の上部(横向き)にあるときに、上ボタンをタッチするとまだ上がることです。これを行いました

-(void)upPressed:(id)sender
{
if(CGPointEqualToPoint(ninja.position, ccp(0,280)))
{
    id standStill = [CCMoveBy actionWithDuration:0 position:ccp(0,0)];
    [ninja runAction:standStill];
}else
{
id moveUp = [CCMoveBy actionWithDuration:.1 position:ccp(0,80)];
[ninja runAction:moveUp];
}
}

問題はまだ存在します。助けはありますか?

つまり、忍者が (0,280) にいるとき、上ボタンで何もしないようにしたい

4

1 に答える 1

1

あなたは平等をテストしています。この if 条件は、忍者が正確に にいる場合にのみ真になります{0, 200}

代わりにこれを試してください:

if (ninja.position.y < 280)
{
    // no need to run an action for this
    ninja.position = CGPointZero; 

    // but you should stop any potentially running (move) action
    [ninja stopAllActions];
}
else ...
于 2013-08-23T18:44:00.190 に答える