我正在使用数组尝试将图像加载到特定的UIImageViews中。我在故事板上设置了10个UIImageViews。
我还有一个Game Over方法,只要一个UIImageView的帧与另一个UIImageView相交,它就会运行。出于某种原因,每当我尝试使用数组来加载我的UIImageViews时,我的Game Over方法会立即触发。我无法弄清楚为什么。一旦我删除initWithImage行,游戏就会正常运行。有任何想法吗?
- (void)viewDidLoad
{
KanaCharacters = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"a.png"],...
nil];
int imageDisplay = arc4random_uniform([KanaCharacters count]);
Monster1 = [[UIImageView alloc] initWithImage:[KanaCharacters objectAtIndex:imageDisplay]];
}
-(void) Collision
{
if ((CGRectIntersectsRect(Monster1.frame, Ship.frame)) && (Monster1Hit==NO))
{
[self GameOver];
}
}
-(void)GameOver
{
WinOrLose.hidden=NO;
WinOrLose.text = [NSString stringWithFormat:@"You Lose!"];
}
答案 0 :(得分:0)
我怀疑Collision是否会在Monster1和Ship.frame中触发一次图像。 这是因为我怀疑你的怪物被放置在你的船的位置?
在将图像添加到视图中之前,您可能想要移动船只或怪物。