【问题标题】:CALayer Array with Multiple of Same Object具有多个相同对象的 CALayer 数组
【发布时间】:2011-10-08 12:35:13
【问题描述】:

我是否正在尝试创建一个不断向用户发射障碍物的游戏。我有一个 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 Class Reference ,但仍然找不到任何东西。我试过这个:

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

但它返回的只是:0。这个问题是否有一个我只是没有看到的简单解决方案?提前感谢您的任何回复。

【问题讨论】:

    标签: iphone arrays core-animation nsmutablearray calayer


    【解决方案1】:

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

    【讨论】:

    • 感谢您的快速回复,但输出的都是(null)。我做错了吗?
    • 您介意将您的代码粘贴到您生成障碍数组 MutableArray 的位置吗?
    • @AndyB 您的障碍物数组可能为空。 self.obstacleArray = [NSMutableArray array]
    猜你喜欢
    • 2022-12-03
    • 2016-01-18
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多