gpt4 book ai didi

ios - 在屏幕上的 3 个特定位置生成敌人 Swift SpriteKit IOS

转载 作者:行者123 更新时间:2023-11-28 08:20:27 25 4
gpt4 key购买 nike

我正在使用 SpriteKit 快速构建游戏,此时我的敌人在屏幕上随机生成,我希望我的敌人仅在 3 个位置生成,例如左上角、中上角和右上角。这 3 个地方之间的产卵也是随机的。我尝试了一些代码,但我是初学者,我需要你们的帮助,谢谢

   //Generate the random Number

func random() -> CGFloat {
return CGFloat(Float(arc4random()) / 0xFFFFFFFF)
}
func random(min min: CGFloat, max: CGFloat) -> CGFloat {
return random() * (max - min) + min
}

这是生成敌人的代码

 func spawnEnemy() {



let randomXStart = random(min: CGRectGetMinX(gameArea), max: CGRectGetMaxX(gameArea))
let startPoint = CGPoint(x: randomXStart, y: self.size.height * 1.2)

最佳答案

尝试:

func spawnEnemy() {
let randomXStart = random(min: 0, max: 2)
let startPoint = CGPoint(x: randomXStart * self.size.width/2, y: self.size.height * 1.2)
.
.
.
}

这会生成其他 0、1 或 2 的随机数。然后将 Sprite 的 x 位置设置为屏幕宽度的一半 * 该随机数将生成 0(左上角)的 x 位置,self. size.width/2(即横跨屏幕的一半)或 self.size.width(即右上角)。

您可能需要根据 Sprite 的 anchorPoint 稍微调整这些,因此您还可以执行以下操作:

func spawnEnemy() {
let randomXStart = random(min: 0, max: 2)

switch floor(randomXStart) {
case 0 :
let startPoint = CGPoint(x: 0, y: self.size.height * 1.2) + (adjustment factor for top-left corner)
case 1 :
let startPoint = CGPoint(x: self.size.width/2, y: self.size.height * 1.2) + (adjustment factor for top-middle)
case 2 :
let startPoint = CGPoint(x: self.size.width, y: self.size.height * 1.2) + (adjustment factor for top-right corner)
default : break
}
.
.
.
}

关于ios - 在屏幕上的 3 个特定位置生成敌人 Swift SpriteKit IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41481253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com