我想让玩家移动特定的数量(在这种情况下为1瓦/单位),然后阻止他。就像在这个视频中一样:
http://www.youtube.com/watch?v=DotOAbNngc4
通过按键,播放器应平滑移动到下一个图块,而不是停止等等。
我怎样才能达到这个目的? (在C#中)
答案 0 :(得分:5)
如果您将此问题发布到answers.unity3d.com或forum.unity3d.com,您可能会收到更多回复,因为这些论坛专门针对Unity3d。
答案 1 :(得分:2)
这就是我要做的:你给你的玩家类一个目标字段,例如一个2d矢量。这将包含播放器的当前位置(初始化时或达到目标时)或要将播放器移动到的目标。
现在在您的更新中执行此操作:
if target equals your current position then check user input for movement.
if user requests movement set target to position adjacent to current position.
else slowly move player towards target.
除GameObject中的正常位置外,您可能想要为玩家的当前位置创建一个字段。然后,您可以通过一个小的delta更新update-cylce中的GameObject.position,直到GameObject.position和target的位置具有(大致相同时使用epsilon)相同的值。
一些提示