Luy*_*yer 5 ios sprite-kit swift
我正在开发一款游戏,我的角色可以从一个陆地跳到另一个陆地。我已经把所有事情都做好了,除了我剩下的问题是,如果你继续点击屏幕,他可以永远跳跃。我希望他必须先落地才能再次跳跃。
import SpriteKit
import GameplayKit
class GameScene: SKScene, SKPhysicsContactDelegate {
struct PhysicsCatagory {
static let Knight : UInt32 = 0x1 << 1
static let land : UInt32 = 0x1 << 2
}
var Knight = SKSpriteNode()
var land = SKSpriteNode(imageNamed: "CJLand4")
Run Code Online (Sandbox Code Playgroud)
这是我当前的代码,让他跳了起来:
Knight.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
Knight.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 325))
Run Code Online (Sandbox Code Playgroud)
我把它放在下面touchesBegan,它增加了重力,让他一冲动就可以跳跃。但我只希望他每次落地时都能跳一次。如果可以的话请帮忙。
只需将一个 BOOL 属性添加到您的场景中,称为类似的isJumping初始化为 的属性false。
然后,touchesBegan检查是否isJumping属实。如果不是,则执行跳转并设置isJumping为true。
当跳跃结束时(骑士接触地面),设置isJumping回false。
| 归档时间: |
|
| 查看次数: |
216 次 |
| 最近记录: |