Ios 雪碧套装,带Swift“;使用未解析标识符';尺寸'&引用;在示例代码中
我已经浏览了这个网站上的建议答案,也搜索了我自己的答案。我曾尝试在代码中为我认为合适的项目添加标识符(尽管我在某种程度上对Swift和Sprite工具包是新手),但我无法理解这一点。代码如下Ios 雪碧套装,带Swift“;使用未解析标识符';尺寸'&引用;在示例代码中,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我已经浏览了这个网站上的建议答案,也搜索了我自己的答案。我曾尝试在代码中为我认为合适的项目添加标识符(尽管我在某种程度上对Swift和Sprite工具包是新手),但我无法理解这一点。代码如下 func addMonster() { // Create Sprite let monster = SKSpriteNode(imageNamed: "monster") // Determine where to spawn the monster along the Y axis let ac
func addMonster() {
// Create Sprite
let monster = SKSpriteNode(imageNamed: "monster")
// Determine where to spawn the monster along the Y axis
let actualY = random(min: monster.size.height/2, max: size.height - monster.size.height/2)
// Position the mosnter slightly off-screen along the right edge and along a random position along the Y axis as calculated above
monster.position = CGPoint(x: size.width + monster.size.width/2, y: actualY)
// Add the mosnter to the scene
addChild(monster)
// Determine speed of the monster
let actualDuration = random(min: CGFloat(2.0), max: CGFloat(4.0))
// Create the actions
let actionMove = SKAction.moveTo(CGPoint(x: -monster.size.width/2, y: actualY), duration: NSTimeInterval(actualDuration))
let actionMoveDone = SKaction.removeFromParent()
monster.runAction(SKAction.sequence([actioinMove, actionMoveDone]))
}
在代码行中
let actualY = random(min: monster.size.height/2, max: size.height - monster.size.height/2)
我收到一个错误“使用未解析的标识符'size'”
现在,我猜这是因为没有像min:参数(monster.size.height)vs.(size.height)中那样的“标识符”。我不知道的是,那个标识符应该是什么。只有当我使用SKScene.size.height时,错误才会消失,但我不认为教程所有者试图根据场景减去怪物设置最大轴
正如我所说,我是新来的。我已经发布到网站论坛,让教程所有者看看这个。这可能是Swift 2.2修订版的一个变化(我还在学习),所以我可能只是缺少了一种编写代码的新方法
这是我关于堆栈溢出的第一个问题。提前,很高兴见到你们大家
如果要相对于场景位置定位y位置,请尝试:
let actualY = random(min: monster.size.height/2, max: self.size.height - monster.size.height/2)
编辑:抱歉,我更改了错误的代码行,这就是我的意思:
monster.position = CGPoint(x: self.size.width + monster.size.width/2, y: actualY)
如果要相对于场景位置定位y位置,请尝试:
let actualY = random(min: monster.size.height/2, max: self.size.height - monster.size.height/2)
编辑:抱歉,我更改了错误的代码行,这就是我的意思:
monster.position = CGPoint(x: self.size.width + monster.size.width/2, y: actualY)
在
游戏场景
类中使用类似于size.height
的东西,或者无论当前场景是什么,都与self.size.height
相同。这两个例子之间的唯一区别是内隐自我和外显自我的使用。但效果是一样的
如果实例没有名为size的属性,则可能发生此错误。SKScene
和SKSpriteNode
都有。例如,如果monster是SKNode
,因为SKNode
没有名为size的属性,则可能会发生此错误
因此,上述问题并不是问题所在,而真正的问题(正如您已经发现的)与打字错误和错误的代码格式有关。在
游戏场景
类中使用类似于大小的东西。高度
,或者无论您当前的场景是什么,都与self.size.height
相同。这两个例子之间的唯一区别是内隐自我和外显自我的使用。但效果是一样的
如果实例没有名为size的属性,则可能发生此错误。SKScene
和SKSpriteNode
都有。例如,如果monster是SKNode
,因为SKNode
没有名为size的属性,则可能会发生此错误
因此,上述问题并不是问题所在,而真正的问题(正如您已经发现的那样)与打字错误和错误的代码格式有关。哪种大小导致了错误
monster.size
或size
?错误来自max:area,monster.size.height没有错误,但是size.height有错误。这段代码属于哪个类?根类是GameScene:SKScene{但是,它看起来像是分离到了自己的函数func addmonster(){((我将不得不在这些注释中查找如何注释代码,对此表示抱歉。)首先,你有很多拼写错误…首先修复它。你的代码为我编译。哪个大小会产生错误?monster.size
或size
?错误来自max:area,monster.size.height不会出错,但是size.height会出错。这段代码属于哪一类?根类是GameScene:SKScene{但是,它看起来像是被分割成了自己的函数func addmonster(){((我必须在这些注释中查找如何注释代码,很抱歉。))首先,您有很多打字错误…请先修复。您的代码为我编译。这:self.size.width
与当前场景类中使用的size.width
相同。为什么您认为会有差异?如果实例没有名为size
的属性,则可能会发生此错误。这两个SKScene
和SKSpriteNode
拥有它。如果monster是SKNode
,则可能会发生此错误,因为SKNode
没有名为size
的属性。我的想法是,尽管如此,它显然没有编译为SKScene的size属性,因此这可能会解决此问题。@Whirlwind使您的主cOMENT(带代码)它帮助我在SKScene中重新构建了代码,并解决了我的问题。我最终不得不重做了所有的事情,然后才得到正确的答案,但在你的建议下,我能够以正确的方式构建应用程序。这也教会了我很多!谢谢!顺便说一句,我发电子邮件加入SKA,我一直在到处寻找这样的地方t!这:self.size.width
在当前场景类中使用时与size.width
相同。为什么您认为会有差异?如果实例没有名为size
的属性,则可能会发生此错误。SKScene
和SKSpriteNode
都有此属性。如果monster是SKNode
,因为SKNode
没有名为size
的属性。我的想法是,尽管如此,它显然没有编译为SKScene的size属性,所以这可能会解决这个问题。@Whirlwind发表您的主要评论(带代码)它帮助我在SKScene中重新构建了代码,并解决了我的问题。我最终不得不重做了所有的事情,然后才得到正确的答案,但在你的建议下,我能够以正确的方式构建应用程序。这也教会了我很多!谢谢!顺便说一句,我发电子邮件加入SKA,我一直在到处寻找这样的地方T