我刚刚学习 SpriteKit 和 Objective-C,我想知道为什么我的 View 原点在屏幕之外。我刚刚在 xCode 6 中创建了一个默认的 SpriteKit 项目,并简单地添加了一个 NSLog 来显示触摸的当前位置。控制台上的输出告诉我,对于 x 坐标,这个位置在 260.0 上,而不是在 0.0 附近。
在场景实现文件中描述我的问题的示例: 当我添加一个带有背景图像的 SKSpriteNode 并将其定位在屏幕的原点时:
-(void)didMoveToView:(SKView *)view {
...
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"Starfield"];
background.anchorPoint = CGPointZero;
background.position = CGPointZero;
[self addChild:background];
...
}
图片也超出了屏幕,而不是在设置anchorPoint的左下角。
我在各种设备(iPhone4S、5、6、6+)和纯纵向模式下尝试过横向模式,但它也不起作用。 感谢您的帮助。
致谢,
马丁
最佳答案
在 xcode 6.0.1 中,他们使用了这个导致问题的新解压器。我遇到了和你一样的问题,直到我删除了 unarchiver 代码并恢复到 SKSCENES 在 unarchiver 之前是如何创建的:
GameScene * scene = [GameScene sceneWithSize:skView.frame.size];
//instead of this
GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"];
回到原来的方式后一切正常。希望这对其他人有帮助。
关于ios - SpriteKit 默认项目 - 为什么 View 起源于屏幕之外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26001313/