Cocos2d iphone 如何阻止角色离开屏幕?

Cocos2d iphone 如何阻止角色离开屏幕?,cocos2d-iphone,Cocos2d Iphone,我正在做一个忍者应该上下移动的游戏。我为一个按钮写了一个方法,但问题是当忍者在屏幕顶部时(风景) 当我按下“向上”按钮时,它仍然会上升,所以,我这样做了 -(void)upPressed:(id)sender { if(CGPointEqualToPoint(ninja.position, ccp(0,280))) { id standStill = [CCMoveBy actionWithDuration:0 position:ccp(0,0)]; [ninja runActi

我正在做一个忍者应该上下移动的游戏。我为一个按钮写了一个方法,但问题是当忍者在屏幕顶部时(风景) 当我按下“向上”按钮时,它仍然会上升,所以,我这样做了

-(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];
}
}
问题依然存在。有什么帮助吗


i、 当忍者在(0280)时,我希望“向上”按钮什么也不做

你正在测试是否平等。只有当忍者正好在
{0200}
时,这个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 ...
if(忍者位置y<280)
{
//无需为此运行操作
ninja.position=CGPointZero;
//但您应该停止任何可能正在运行(移动)的操作
[忍者停止行动];
}
其他的
忍不住想回答“也许好好问问他?”:)