无法在SpriteKit场景中使用自定义类(swift&xcode7 beta)

无法在SpriteKit场景中使用自定义类(swift&xcode7 beta),第1张

概述我不确定它是否是一个bug,但即使我在其中一个Sprite上设置了一个自定义类名,它似乎完全被忽略了. 我尝试使用拖动的资源,然后使用空节点,两者都完全忽略了Monkey类关联,只创建了一个原始的SKSpriteNode. Monkey Node代码如下. import Foundationimport SpriteKitclass Monkey: SKSpriteNode{ le 我不确定它是否是一个BUG,但即使我在其中一个Sprite上设置了一个自定义类名,它似乎完全被忽略了.

我尝试使用拖动的资源,然后使用空节点,两者都完全忽略了Monkey类关联,只创建了一个原始的SKSpriteNode.

Monkey Node代码如下.

import Foundationimport SpriteKitclass Monkey: SKSpriteNode{    let monkeyWalkAtlas = SKTextureAtlas(named: "MonkeyWalk")    overrIDe init(texture: SKTexture?,color: NScolor,size: CGSize) {        super.init(texture: texture,color: color,size: size)        print("Monkey.init deBUG")    }    required init?(coder aDecoder: NSCoder) {        super.init(coder: aDecoder)    }}

注意:.sks节点上的自定义类是xcode7中的新增类.

2015年6月21日编辑

我简化了设置,但仍然是在iOS9模拟器中编译/运行的问题.我使用默认的SpriteKit模板创建了一个项目,将GameSence命名为以下(以及空的Monkey类)

import SpriteKitclass GameScene: SKScene {    overrIDe func touchesBegan(touches: Set<UItouch>,withEvent event: UIEvent?) {        print("touch down")       /* Called when a touch begins */        for node in self.children {            print(node)        }    }    overrIDe func update(currentTime: CFTimeInterval) {        /* Called before each frame is rendered */    }}public class Monkey: SKSpriteNode {}

在GameScene.sks上拖动一个Empty节点,将自定义类设置为Monkey,但是当我触摸下来打印子节点时,我再次得到:

touch down<SKSpriteNode> name:'SKNode_0' texture:['nil'] position:{753.5,333.5} scale:{1.00,1.00} size:{0,0} anchor:{0,0} rotation:0.00
解决方法 在Swift中,您始终必须在类名之前添加模块名称.您可以在“产品模块名称”字段的构建设置中找到模块名称. 如果在项目名称中使用“ – ”,模块名称会将“ – ”转换为“_”.(在我的测试项目“Test-Game”中,模块名称为“Test_Game”,因此我必须使用“Test_Game.Monkey”作为自定义类,适用于当前Xcode Beta) 总结

以上是内存溢出为你收集整理的无法在SpriteKit场景中使用自定义类(swift&xcode7 beta)全部内容,希望文章能够帮你解决无法在SpriteKit场景中使用自定义类(swift&xcode7 beta)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1022628.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存