- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一款简单的游戏,玩家通过收集金币升级关卡。玩家收集的每一枚硬币都会使他们在关卡中走得更远。这是一张图片,可以对其进行更多解释:
有两种不同的硬币 - 普通硬币和“特殊”硬币。普通硬币给他们一个正常的提升。特殊硬币应该给玩家一个临时的额外提升。
特殊硬币总是可以在普通硬币组的中间找到(如图所示)。我的问题是,当用户击中一枚特殊硬币时,它只会给他们带来一瞬间的提升,因为他们最终几乎立即击中了普通硬币。
我尝试了 3 种不同的选择,但都没有按我的计划工作。
选项 1 -(问题 - 一颗“特殊”星星会给他们瞬间提升,但当玩家接触到一颗普通星星时,几乎立即就会回到正常速度)
if starType == .Special {
player.physicsBody?.velocity = CGVector(dx: player.physicsBody!.velocity.dx, dy: 900.0)
}
else {
player.physicsBody?.velocity = CGVector(dx: player.physicsBody!.velocity.dx, dy: 500.0)
}
选项 2- 在触摸特殊星星后使用 SKAction 延迟 3 秒,这样它就不会从普通星星读取任何东西(问题 - 同上)
if starType == .Special {
let wait = SKAction.waitForDuration(3)
let boost = SKAction.runBlock({
player.physicsBody?.applyImpulse(CGVector(dx: 0.0, dy: 80.0))
})
let action = SKAction.group([boost, wait])
player.runAction(action)
}
else {
player.physicsBody?.velocity = CGVector(dx: player.physicsBody!.velocity.dx, dy: 500.0)
}
选项 3 - 使用脉冲而不是设置新速度。 (问题 - 每个冲动都会叠加到最后一个冲动上,让玩家 super 快并在几秒钟内完成关卡)
if starType == .Special {
player.physicsBody?.applyImpulse(CGVector(dx: 0.0, dy: 90.0))
}
else {
player.physicsBody?.applyImpulse(CGVector(dx: 0.0, dy: 40.0))
}
任何关于更好实现的建议都会很棒。
谢谢
最佳答案
我建议使用选项三 + 检查 y 速度是否太高,然后减少或根本不进行提升。
if starType == .Special && player.physicsBody?.velocity.dy <= 40 {
//40 is just an example number
player.physicsBody?.applyImpulse(CGVector(dx: 0.0, dy: 90.0))
}
else {
player.physicsBody?.applyImpulse(CGVector(dx: 0.0, dy: 40.0))
}
您还可以根据当前速度改变冲量。这完全取决于您想要的机制,以及最大速度应该是多少。
关于swift - 在 SpriteKit 中应用脉冲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32290323/
如果之前已经回答过这个问题,我深表歉意,但我无法找到我想要的东西。 我有一个 Box2D 动态主体,我对其应用线性脉冲以将其变成射弹。因此,当我单击屏幕上的任意位置时,我希望 body 投影到触摸位置
脉冲神经网络和循环神经网络都可以对时变信息进行建模。但我不确定哪种模型相对于计算成本更好。使用更复杂的脉冲神经网络是否值得,或者循环神经网络是否可以在所需计算量少得多的情况下工作?脉冲网络收敛得更快吗
如何在我的应用程序运行且屏幕打开时使 LED 或轨迹球闪烁或闪烁?比如接到电话时? 谢谢 最佳答案 Android 具有仅在屏幕关闭时 LED 才会亮起的硬编码功能。这是在源代码 Notificati
我的目标是从健身手环获取数据(脉搏)Torntisc T1使用我的应用程序并独立处理来自手环的数据。 为了实现,我使用了 Xamarin 并找到了一个 Bluetooth LE plugin for
我很难理解 Wait()、Pulse()、PulseAll()。他们都能避免僵局吗?如果您解释一下如何使用它们,我将不胜感激? 最佳答案 简短版: lock(obj) {...} 是 Monitor.
我在 Cigarette Smoker Problem 工作. 我只应该使用 Monitor 类。没有信号/信号量。 (是的,这是给学校的,但不是家庭作业,只是我的实践测试的免费练习,我真的需要做好准
我想使用 bcm2835.h 和纯 C 语言通过 PWM 控制 LED 二极管。我的代码不起作用。我错过了什么? 我尝试过“gpio”控制台命令,它工作正常,所以我知道 LED 已连接到正确的端口。我
在 ARKit/SceneKit 中,当用户点击按钮时,我想对我的节点施加一个脉冲。我希望冲动来自当前用户的角度。这意味着节点将远离用户的视角。多亏了这段代码,我能够获得当前的方向/方向: func
我正试图在 SK/SWIFT 中“脉冲”一个 Sprite 。我尝试使用 For 循环和 .setScale 进行粗略尝试,但它们不起作用(没有错误 - 只是没有动画)。我觉得使用 SKActions
我想为以下绘图符号设置动画(脉冲、发光)。实现所需行为的最佳方法是什么。谢谢 最佳答案 您不能为绘图符号设置动画。您可以做的是在突出显示的点上放置一个绘图空间注释。创建一个自定义的 CPTLayer
在 Perl 下,在 Linux 上将 Serial::Device 作为文件打开会重置我的 Arduino,但我不希望它被重置。 Arduino 可以通过脉冲 DTR 来重置,因此默认打开串口设备必
我用 alsa 成功渲染了音频,但是我完全无法确定 channel 映射。正如各种消息来源所说,我调用 snd_pcm_get_chmap设置好硬件和软件参数并准备好设备后。 snd_config_g
我是一名优秀的程序员,十分优秀!