编码SpriteKit游戏,我收到“不能在类型'CGRect上使用实例成员'minX'”

内森·钱伯斯(Nathan Chambers)

我无法通过CGRect.minX / Y和CGRect.MaxX / Y修复此错误消息。错误“无法在类型'CGRect上使用实例成员'minX'”。我该如何解决?

func spawnNewDisc(){

    var randomImageNumber = arc4random()%4
    randomImageNumber += 1

    let CheeseBlock = SKSpriteNode(imageNamed: "CheeseBlock\(randomImageNumber)")
    CheeseBlock.zPosition = 2
    CheeseBlock.name = "CheeseObject"

    let randomX = random(min: CGRect.minX(gameArea) + CheeseBlock.size.width/2,
                         max: CGRect.maxX(gameArea) - CheeseBlock.size.width/2)

    let randomY = random(min: CGRect.minY(gameArea) + CheeseBlock.size.height/2,
                         max: CGRect.maxY(gameArea) - CheeseBlock.size.height/2)

    CheeseBlock.position = CGPoint(x: randomX, y: randomY)
    self.addChild(CheeseBlock)

}
纳吉特

minXmaxX等是实例属性,这意味着需要在CGRect实例上调用它们,而不是类型本身。

更改

CGRect.minX(gameArea)

gameArea.minX

旁注:在Swift(以及其他语言)中,了解类型和实例之间的区别也很重要。在Swift中,约定是以大写字母开头的类型以及以小写字母开头的实例的名称。

您的代码行

let CheeseBlock = SKSpriteNode(imageNamed: "CheeseBlock\(randomImageNumber)")

应该更改为

let cheeseBlock = SKSpriteNode(imageNamed: "CheeseBlock\(randomImageNumber)")

这使得更容易分辨哪些变量是类型,哪些变量是实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

实例成员不能在类型上使用

Swift实例成员不能在类型上使用

实例成员不能在'ViewController'类型上使用

Swift:实例成员不能在类型上使用

实例成员“图层”不能在类型“ CustomPrettyView”上使用

错误:实例成员不能在类型'ViewController'上使用

使用Swift时出错-实例成员不能在'ViewController'类型上使用

如何修复“实例成员'坐标'不能在类型'MKMapPoint'上使用”的问题,在Swift 5.0中

Swift 3:实例成员不能在“ View Controller”类型上使用

Swift 2.0地图“实例成员不能在类型上使用”

这里出了什么问题:实例成员不能在类型上使用

在自定义类中初始化日期会导致错误:“实例成员不能在类型上使用”

推送UIViewController时无法在类型上使用实例成员

电源BI | 将 MIN 或 MINX 与 IF 一起使用和/或规避与度量不兼容的文本和数字的度量

使用实例成员的编码模式

我经常收到错误“实例成员 isPaused 不能用于类型 GameScene”

从多维数组获取minX,maxX,minY,maxY

为什么会出现“无法在类型'...'的实例上使用静态成员'...'”的错误?

xcode8更新后出现错误“在Realm类型上使用实例成员'objects'

致命错误:不能在不同大小的类型之间使用unsafeBitCast(使用游戏包)

无法将变量传递到一个特定的类中,实例成员不能在类型错误时使用

我不断收到错误...“使用未解析的标识符”和“类型 gameType 没有成员暂停游戏”

为什么我收到此错误“在订户上插入或更新的行不能在文章分区之外”?

“不能在模块外使用导入语句”当我尝试 mocha 时收到消息

在awakeFromNib()上-错误实例成员“按钮”不能用于类型“ CustomView”

Swift 4上带有嵌套类的“实例成员不能用于类型”错误

为什么我不能在任何类型的设备上运行我想要的任何软件?

为什么我不能在 listView 上滚动?我收到典型错误`底部 xx 像素溢出的 RenderFlex`

为什么我不能在类转换异常后检查实例类型?