具有多个相同对象的CALayer数组



我是否在尝试创造一个不断向用户发射障碍的游戏?我有一个NSMutableArray所以我可以作为一个组访问所有障碍。下面是我的代码:

CALayer *obstacle = [[[CALayer alloc] init] autorelease];
UIImage *obstacleImage = [UIImage imageNamed:@"Obstacle.png"];
obstacle.contents =  (id)obstacleImage.CGImage;
obstacle.bounds = CGRectMake(0, 0, starImage.size.width/2, starImage.size.width/2);
int xPosition = (arc4random()%(360-0))+0;
obstacle.position = CGPointMake(xPosition, 20);
[self.view.layer addSublayer:obstacle];
[self.obstacleArray addObject:obstacle];

我的问题是:我如何访问这个数组中的对象?我希望能够访问最新的对象,这样我就可以对它进行动画。我已经通过NSMutableArray类参考,但仍然找不到任何东西。我试过了:

NSLog(@"%d",[obstacleArray indexOfObject:obstacle]);

但是它返回的是:0。有什么简单的方法可以解决这个问题吗?提前感谢您的回复

使用[obstacleArray lastObject][obstacleArray objectAtIndex:[obstacleArray count]-1]获取最后一个对象。你可以在NSArray类参考中找到。(因为它是NSMutableArray的父类)

最新更新