作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试图在 iOS 9.0 中使用新的 SKCameraNode,但我遇到相机总是为 containsNode() 返回 false,为 containedNodeSet() 返回一个空集。
为了测试,我使用 SpriteKit 模板创建了一个空项目并添加了一个摄像头。我唯一改变的是在 GameScene 中:
class GameScene: SKScene {
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
override func didMoveToView(view: SKView) {
/ Setup your scene here */
myLabel.text = "Hello, World!";
myLabel.fontSize = 65;
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame));
let camera = SKCameraNode()
camera.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
self.addChild(camera)
self.addChild(myLabel)
self.camera = camera
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/ Called when a touch begins */
for touch in touches {
let location = touch.locationInNode(self)
print(camera!.containsNode(myLabel))
print(camera!.containedNodeSet())
}
}
override func update(currentTime: CFTimeInterval) {
/ Called before each frame is rendered */
}
}
日志中的输出是:
false
[]
既然它是场景中的一个节点(并且清晰可见),它不应该在集合中返回 true 和 myLabel 吗?我做错了什么吗?感谢您的帮助!
就在有人说模拟器不准确之前,我正在 iPad mini 2 上运行它。 :P
最佳答案
这似乎是一个错误,Apple 已在 iOS 9 beta 3 中识别出它。我将编辑我的答案以确认它是否有效。
编辑:有效!更新您的开发设备,它应该可以工作。
关于ios - SKCameraNode 函数 containsNode() 和 containedNodeSet() 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31275235/
我有 5 个参数,我想确认选择了哪些参数。 The 1st paragraph. Hello everyone.Nice meeting you! The 2nd paragraph. Hello e
我试图在 iOS 9.0 中使用新的 SKCameraNode,但我遇到相机总是为 containsNode() 返回 false,为 containedNodeSet() 返回一个空集。 为了测试,
我是一名优秀的程序员,十分优秀!