同时向前,向左,向右自动移动对象
我正在制作一个游戏项目,我希望自动移动对象向前以及向左或向右移动,就像庙宇跑步角色一样使用以下简单脚本将对象向前移动:同时向前,向左,向右自动移动对象
void Start() {
}
void Update() {
transform.Translate(Vector3.forward *Time.deltaTime);
transform.Translate(Vector3.left * Time.deltaTime, Space.World);
}
我不知道该怎么做。
到目前为止您还处于正确的轨道,但我认为您希望根据用户输入发生左右移动?
这是一个将考虑左右输入的代码示例,但它可能需要根据您的用例进行自定义。
public float movementSpeed = 6f;
void Update()
{
transform.Translate(Vector3.forward * Time.deltaTime);
//Strafe your object Left and right based on user input
transform.Translate(Vector3.right * Time.deltaTime * Input.GetAxis("Horizontal") * movementSpeed);
}
,你可以使用旋转播放器的方法的例子:
为了让您的播放器转90度,你将需要旋转实际的对象。根据您的实际逻辑/游戏,你可以做简单的东西如:
void Update() {
transform.Translate(Vector3.forward * Time.deltaTime);
//Strafe your object Left and right based on user input
transform.Translate(Vector3.right * Time.deltaTime * Input.GetAxis("Horizontal") * movementSpeed);
if (Input.GetKeyDown("q")) {
this.transform.Rotate(0, -90, 0);
}
if (Input.GetKeyDown("e")) {
this.transform.Rotate(0, 90, 0);
}
}
加速度计输入:
void Update() {
transform.Translate(Vector3.forward * Time.deltaTime);
if (Input.acceleration.x > 0) {
this.transform.Rotate(0, 90, 0);
}
else if (Input.acceleration.x < -0) {
this.transform.Rotate(0, -90, 0);
}
}
谢谢,但这不是我真正想做的事情,我希望我的对象像庙宇运行字符一样移动。它意味着它会同时使用我的手机向前和向左/向右移动运动。 –
啊,对不起,我只记得寺庙如何转动而不是左右移动。 – ejsd1989
你能告诉我该怎么做吗? –
你可能想也考虑在[游戏开发]问这个了( http://gamedev.stackexchange.com/)。 –
好的,谢谢... –