ios - SpriteKit 默认项目 - 为什么 View 起源于屏幕之外?

标签 ios objective-c iphone xcode sprite-kit

我刚刚学习 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/

相关文章:

objective-c - objective-c 中的抽象工厂模式

iphone - 如何恢复 UINavigationController 中的后退按钮功能?

iphone - 绘制多个相同对象的最有效方法?

iphone - 将文件下载到 iPhone 中的文件夹

ios - 向 UIButton 添加其他 View

ios - 如何使用数据库中的键将对象添加到 NSArray?

objective-c - Cocoa Programming,设置委托(delegate)

iphone - 修改 usr/bin 后可执行文件中的 CPU 类型错误

iphone - 在 iOS 6 中发送 udp 数据包

iphone - 如何仅针对 ios5 设备?