gpt4 book ai didi

ios - SKSpriteNode 返回空名称

转载 作者:行者123 更新时间:2023-11-29 02:54:27 25 4
gpt4 key购买 nike

为什么创建的 Sprite 名称不保存甚至不返回?

我在场景的初始化中添加了几个对象(SKSpriteNode)

-(id)initWithSize:(CGSize)size {
NSArray *oxyObjects = [self.oxygens objectsNamed:@"oxy"];
for (NSDictionary *enemyObj in oxyObjects) {
SKSpriteNode *oxyNode = [SKSpriteNode spriteNodeWithImageNamed:@"oxygen"];
NSString *valeurX=enemyObj[@"x"];
float x = [valeurX floatValue];
NSString *valeurY=enemyObj[@"y"];
float y = [valeurY floatValue];
CGPoint oxyPosition = CGPointMake(x, y);
oxyNode.position = oxyPosition;
oxyNode.name = @"ballOxygen";
NSLog(@"oxy %@",oxyNode);
[self.map addChild:oxyNode];
}

日志给我这个 Sprite 的正确名称

oxy name:'ballOxygen' texture:[ 'oxygen@2x.png' (24 x 24)] position:{454, 99} size:{12, 12} rotation:0.00

为了检查碰撞,我尝试使用

    [[self children] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
SKNode *node = (SKNode *)obj;
NSLog(@"obj : %@", obj);

或者这个

NSArray *nodes = self.children;
for(SKNode * node in nodes){
SKSpriteNode *obj = (SKSpriteNode *) node;
NSLog(@"obj : %@", obj);

但它总是返回一个空名称

obj : name:'(null)' texture:[ 'Bird1@2x.png' (8 x 24)] position:{100, 100} size:{17, 12} rotation:0.00

最佳答案

我的最佳猜测:

您正在将 oxyNode 添加到 self.map,但您正在枚举 self.children,而您可能应该枚举 self.map.children。

试试这个:

[self.map.children enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
SKNode *node = (SKNode *)obj;
NSLog(@"obj : %@ (%p)", obj, obj);
}];

关于ios - SKSpriteNode 返回空名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com