我的目标是让我的游戏玩家在他们按下的更难的情况下打开“大门”(打开大门可以让玩家更轻松地通过)。我尝试过使用force
属性。首先,我尝试在touchesBegan
中使用以下代码,但强制始终注册为0.0
。然后,我将其移至touchesMoved
,但这只需要第一次触摸,因此force
非常低。这是代码:
var force: Float
for touch in touches {
force = touch.force
}
let moveGate = SKAction.moveByX((50.0 * force), y: 0, duration: 5.0)
gate.runAction(moveGate)
使用该代码,您按下的门越难(在moveGate
动作中)移动越远。但是,如果您轻轻按下,touchesMoved
甚至不会被调用,或者即使 被调用,force
也是一个较小的数字,因为触摸的开始有一个亮点力。当代码位于touchesBegan
时,force
始终为0.0
。
我一直在调整很多不同的东西,但我无法使用SpriteKit使3D Touch正常工作。这是我的问题:如何使用SpriteKit和Swift实现3D Touch,以便我可以基于单次触摸的力量来确定游戏玩法的某些方面?
有人知道怎么做吗?
非常感谢你的时间!