我正在制作这个游戏,其中忍者应该上下起伏。我为按钮编写了一个方法,但问题是当忍者位于屏幕顶部时(横向) 当我触摸向上按钮时它仍然会上升,所以我做了这个
-(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)时,我希望向上按钮不执行任何操作
答案 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 ...