Fistly我相当新的编程一般。 Objective C和IOS编程非常新颖。这只是我正在写作的一门练习编程。NSTimer或暂停操作?
什么它基本上做到这一点是:
计算机选择多次攻击,然后随机据法权产,以1至4或0和3(真的无所谓)的数字。每次它通过for循环时都会执行此操作。
什么,我试图完成的是:
如果计算机选取0,则凸显了相应的按钮并使其活跃用户与互动,但他们只是有一定的时间来按下所述按钮。定时器调用一个不按下按钮并使其处于非活动状态的功能。
所有这些工作,但它都发生在同一时间。如果计算机攻击三次,则所有三个按钮都会同时突出显示并激活,然后同时处于不活动状态。我想让程序暂停一段时间,让玩家有足够的时间按下按钮。我无法弄清楚这一部分。我想使用一个while循环,当一个按钮被按下时,或者当定时器调用这个函数时,这个循环只会让它停留在while循环中。我已经在第一个陈述中表明了这一点。
再次请保持简单,因为我对编程新手。由于
if(theEnemy.attackingOrBlocking == 1)
{
int whereAttack;
int numberOfAttacks = 3; //theEnemy.numOfAttacks;
for (int i = 0; i <= numberOfAttacks; i++)
{
whereAttack = theEnemy.attackButton;
if (whereAttack == 0)
{
while (buttonPushed == NO)
{
[NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(timerCallback) userInfo:nil repeats:NO];
lowAttackBlock.userInteractionEnabled = YES;
lowAttackBlock.highlighted = YES;
}
}
if (whereAttack == 1)
{
[NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(timerCallback) userInfo:nil repeats:NO];
leftAttackBlock.userInteractionEnabled = YES;
leftAttackBlock.highlighted = YES;
}
if (whereAttack == 2)
{
[NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(timerCallback) userInfo:nil repeats:NO];
rightAttackBlock.userInteractionEnabled = YES;
rightAttackBlock.highlighted = YES;
}
if (whereAttack == 3)
{
[NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(timerCallback) userInfo:nil repeats:NO];
highAttackBlock.userInteractionEnabled = YES;
highAttackBlock.highlighted = YES;
}
if (myCharacter.block != whereAttack)
{
myCharacter.health -= 10;
[yourHealth setText:[[NSString alloc] initWithFormat:@"%d",myCharacter.health]];
}
}
}
}
+1学习编程。 – 2011-12-22 15:43:30