Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 雪碧套装,带Swift“;使用未解析标识符';尺寸'&引用;在示例代码中_Ios_Swift_Sprite Kit - Fatal编程技术网

Ios 雪碧套装,带Swift“;使用未解析标识符';尺寸'&引用;在示例代码中

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

我已经浏览了这个网站上的建议答案,也搜索了我自己的答案。我曾尝试在代码中为我认为合适的项目添加标识符(尽管我在某种程度上对Swift和Sprite工具包是新手),但我无法理解这一点。代码如下

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