【问题标题】:SKSpriteNode think's it is (null) after initializationSKSpriteNode 在初始化后认为它是(null)
【发布时间】:2016-05-11 22:37:32
【问题描述】:

我有一个使用此代码初始化的 SKSpriteNode

//viewDidLoad
bullet = [SKSpriteNode spriteNodeWithImageNamed:@"missile2"];
bullet.xScale = 1;
bullet.yScale = 1;
bullet.position = CGPointMake(67, 148);
bullet.zRotation = M_PI;
[self addChild:bullet];

在上一个问题中,我问为什么我不能设置它的位置,当我登录NSLog(@"bullet is %@",bullet); 时,我们确定这是因为精灵是空的

这是该问题的链接。

Sprite position not working in Objective C, Xcode

我的问题是,为什么当我在 viewDidLoad 中初始化这个 sprite 时,Xcode 会认为它为空?

【问题讨论】:

  • bullet 变量在哪里声明(不是在哪里初始化)?
  • 在.h文件中声明为SKSpriteNode *bullet;

标签: objective-c null sprite-kit skspritenode


【解决方案1】:

我猜你只是在调用

NSLog(@"bullet is %@",bullet);

之前 bullet 属性被初始化。

也许您将NSLog 行放在init 中,对吗?这是一个解释,因为init 确实发生在viewDidLoad 之前。

【讨论】:

  • 我不完全明白发生了什么,但我让它工作了。原来我以错误的方式从另一个文件调用方法,我一定是再次初始化它,因为我所有的变量都设置为 0。我以不同的方式调用了该方法并且它起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 2014-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多