如何阻止角色走出屏幕?

时间:2013-08-23 17:27:01

标签: cocos2d-iphone

我正在制作这个游戏,其中忍者应该上下起伏。我为按钮编写了一个方法,但问题是当忍者位于屏幕顶部时(横向) 当我触摸向上按钮时它仍然会上升,所以我做了这个

-(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)时,我希望向上按钮不执行任何操作

1 个答案:

答案 0 :(得分:1)

你正在测试平等。如果忍者正好在{0, 200},则此if条件才为真。

请改为尝试:

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 ...