gpt4 book ai didi

ios - 如何从屏幕中间到任何地方生成随机图像?

转载 作者:行者123 更新时间:2023-11-28 15:47:10 25 4
gpt4 key购买 nike

我很好奇是否可以从屏幕中间以随机速度将图像发射到屏幕上的任何位置。

在没有包含 .sks 的文件的情况下执行此操作很重要,因为当我尝试打开此类文件时 Xcode 会崩溃。它必须在 UIViewController 中完成。

我已经尝试将 View 子类化为 SKView 但没有成功。查看现有项目总是使用 SKViews 和包含我无法打开的 .sks 的文件。我希望有人能帮助我!

最佳答案

您需要“发射”的每个图像都应该是一个 SKSpriteNode。他们应该是 SKScene 的 child 。如果您不知道如何创建 SKScene 或如何让 View Controller 呈现它,请尝试在 Xcode 中创建示例游戏项目 - 文件 > 新建项目 > 游戏。它将创建一个很好的示例项目,只要您触摸屏幕就会显示一些漂亮的矩形。

一旦你的场景启动并运行,以及你的 Sprite 节点准备好发射,只需为你需要从屏幕中间发射的每个节点运行以下几行:

let viewSize = UIScreen.main.bounds.size
let randomX = RandomInt(min: 0, max: viewSize.width)
let randomY = RandomInt(min: 0, max: viewSize.height)
let randomPosition = CGPoint(x: randomX, y: randomY)
let minDuration = 1 // Put here whatever value you feel fit for the minimum duration of flying
let maxDuration = 5 // Put here whatever value you feel fit for the maximum duration of flying
let randomDuration = TimeInterval(RandomInt(min: minDuration, max: maxDuration))
let fireAtWill = SKAction.move(to: randomPosition, duration: randomSpeed)
yourSpriteNode.runAction(fireAtWill)

不要忘记将“yourSpriteNode”替换为您需要触发的 Sprite 节点的名称。

这是 RandomInt 辅助函数:

func RandomInt(min: Int, max: Int) -> Int {
return Int(arc4random_uniform(UInt32(max-(min-1)))) + min
}

关于ios - 如何从屏幕中间到任何地方生成随机图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859676/

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