【发布时间】:2014-04-06 15:58:38
【问题描述】:
当我按下w 键时,我正试图移动一个精灵。我一直在使用我在 YouTube 上找到的教程,但我似乎无法让它发挥作用。这是代码。也许我在转换时遇到问题;我可以看到 x 位置增加,但精灵没有做任何事情。
#pragma strict
var startPoint : Vector3;
var endPoint : Vector3;
var speed : float;
private var increment : float;
var isMoving : boolean;
function Start ()
{
startPoint = transform.position;
endPoint = transform.position;
}
function Update ()
{
if (increment <= 1 && isMoving == true) {
increment += speed/100;
Debug.Log("Moving");
}
else {
isMoving = false;
Debug.Log("Stopped");
}
if (isMoving == true)
transform.position = Vector3.Lerp(startPoint, endPoint, increment);
if (Input.GetKey("w") && isMoving == false) {
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x, transform.position.y, transform.position.z + 1);
}
if (Input.GetKey("s") && isMoving == false) {
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x, transform.position.y, transform.position.z - 1);
}
}
【问题讨论】:
-
您确定要让您的精灵在 z 轴上移动吗?
-
是的,当我在“变换”面板中手动在 Z 轴上写入一个数字时,精灵确实会按照预期的方式移动。
-
我认为你的脚本有点复杂,只是移动你的精灵。有什么特别的方式你想让你的弹簧移动,或者它基本上是一个简单的移动?
-
我对任何想法持开放态度,我只是在学习一个教程。有任何想法吗?我只想将我的角色(目前)向上移动一个位置
标签: unity3d sprite game-physics