
因此,今天我正在尝试解决在圆形区域“束缚”用户的问题,而不会显得沮丧或笨拙。 我相信我有一些可行的方法。
我现有的模型有些消极,并且是从我从未玩过的PUBG中窃取的。 基本上有一个安全的“区域”,它外面的所有东西。 随着时间的流逝,您会在“红色”区域受到损害。 希望这旨在鼓励玩家留在游戏区域而不会增加硬障碍。 另外,“太空”中的硬障碍会是什么样?
- Seguindo和regos do jogo
- 着色器:Somente para programadores ou todos podem aproveitar?
- MGIWW:Arch Linux和C ++:第4天
- 进入游戏区!
- 关于黑客现实本身 迷失青春
基本上,我想避免“牢固”的碰撞行为。 这有点丑陋,与游戏流程不符-您在飞行并突然停下来,可能会尴尬地撞到这个障碍。 好玩
因此,我有一个新的解决方案,部分是我认为是从Luftrausers那里偷来的-一旦玩家走了一定距离,它就会变成一种灵活的“反弹”或“重定向”机制。 我在这里有一个示例,尽管控件比游戏进行中的版本更简单:
它的核心是新的“ BoundDistance”行为,该行为检查对象(在这种情况下为播放器)是否距某个点一定距离。 如果是,它将使对象朝向该点旋转(朝向角度和速度)。
var theta = angle(this.entity.x,this.entity.y,this.target.x,this.target.y);
this.entity.angle = lerp_angle(this.entity.angle,theta,5 * dt);
this.entity.velocity = {x:Math.cos(this.entity.angle)* 80,y:Math.sin(this.entity.angle)* 80};
这很简单,但是在视觉上进行一些改进可以传达出在有限空间内被“困住”的感觉,而不会造成笨拙的文字停顿点。 不过我不知道。