sprite-kit - SKEmitterNode:如何随机开始/停止下雨?
问题描述
我在游戏中添加了雨作为 SKEmitterNode 粒子,我希望它在随机时间显示。我应该使用什么样的功能?
以防万一,我的下雨代码:
函数开始游戏(){
if let rain = SKEmitterNode(fileNamed: "rain.sks") {
rain.position = CGPoint(x: frame.width, y: frame.height)
addChild(rain)
}
……
解决方案
您可以使用一个动作在随机时间去除雨水,例如:
if let rain = SKEmitterNode(fileNamed: "rain.sks") {
rain.position = CGPoint(x: frame.width, y: frame.height)
addChild(rain)
let waitAction = SKAction.wait(forDuration: Double.random(in: 10.0 ... 50.0))
let removeAction = SKAction.removeFromParent()
rain.run(SKAction.sequence([waitAction, removeAction]))
}
推荐阅读
- android - 如何在 NDK-BUILD 中构建 arcore camera_utility 共享库?
- reactjs - react ie fetch Unhandled Promise Reject TypeError: Network request failed
- mysql - 加入同一张表的增量数据的表
- git - 如何在不直接从 github 门户创建存储库的情况下从本地系统创建远程存储库?
- java - 使用命令行从 jar 运行黄瓜测试执行 --tags @my-tag
- ios - Objective c 如何在ios13中将方向设置为横向
- python - 处理多索引标头数据帧 - Python
- django - 使用 Whitenoise 但仍无法提供静态文件
- javascript - 获取在此之外
- css - 如何使用flex让div中的段落并排弹出?