我正在制作我的第一个iOS应用程序,但我遇到了问题......移动对象从屏幕顶部到底部。 游戏的目标是在它们离开屏幕之前杀死移动的物体(具有随机位置.y)。 如果物体出来,你将失去你的三条生命中的一条。 我这样做:
if(movingObject.position.y < 0)
_lives--;
但是当我启动我的应用程序,并且一个物体从屏幕上出来时,我立即失去了我的三条生命......
通过移动物体,我该怎样做才能失去最多1点生命?
这是我创建新的movingObject的代码
double curTime = CACurrentMediaTime();
if (curTime > _nextMovingObjectSpawn)
{
float randSecs = [self randomValueBetween:3 andValue:5];
_nextMovingObjectSpawn = randSecs + curTime;
float randX = [self randomValueBetween:25 andValue:winSize.width/2-20];
float randDuration = [self randomValueBetween:4 andValue:6];
CCSprite *movingObject = [_movingObjects objectAtIndex:_nextMovingObject];
_nextMovingObject++;
if (_nextMovingObject >= _movingObjects.count) _nextMovingObject = 0;
[movingObject stopAllActions];
movingObject.position = ccp(randX, winSize.height+movingObject.contentSize.height/2);
movingObject.visible = YES;
[movingObject runAction:[CCSequence actions: [CCMoveBy actionWithDuration:randDuration position:ccp(0, -winSize.height-movingObject.contentSize.height)], [CCCallFuncN actionWithTarget:self selector:@selector(setInvisible:)], nil]];
}
谢谢! :)
答案 0 :(得分:0)
如果您的物体从上到下移动,那么当其中一个物体到达屏幕底部时,玩家将失去生命。你可能会失去所有生命,因为你多次检查病情。每个对象只能丢失一个生命,你应该删除它并停止检查它的位置是否低于屏幕的下边缘。