-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 条件只有在 ninja 正好在 时才为真{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 回答