Unity3D中如何用代码实现物体的左右循环移动?

如题所述

Unity3D中用代码实现物体的左右循环移动的方式如下:

1、新建一个Cube,在Cube X轴的正方向放置一个空物体或者其他GameObject,Cube和空物体的Y值一致,确保2者在同一水平线上;

2、把下列代码保存为C#,赋给Cube,并在Inspector视图中,把空物体赋到脚本的PointB中;

using UnityEngine;

using System.Collections;

public class Moving : MonoBehaviour

{

public Transform PointB;

private int _direction = 1;

private float _pointA;

// Use this for initialization

IEnumerator Start ()

{

_pointA = transform.position.x;

while (true)

{

if (transform.position.x < _pointA)

{

_direction = 1;

}

if (transform.position.x > PointB.position.x)

{

_direction = -1;

}

transform.Translate(_direction * 2 * Time.deltaTime,0,0);

yield return 0;

}

}

}

温馨提示:内容为网友见解,仅供参考
无其他回答

Unity3D中如何用代码实现物体的左右循环移动?
Unity3D中用代码实现物体的左右循环移动的方式如下:1、新建一个Cube,在CubeX轴的正方向放置一个空物体或者其他GameObject,Cube和空物体的Y值一致,确保2者在同一水平线上;2、把下列代码保存为C#,赋给Cube,并在Inspector视图中,把空物体赋到脚本的PointB中;usingUnityEngine;usingSystem.Collections;...

Unity3D中如何用代码实现物体的左右循环移动?
1、主要讲述使用javascript脚本使游戏组件实行按WSAD键移动,学习完此脚本后可以将脚本附加在物体上,使物体能实现移动。2、定义需要移动的物体列表。可以使用数组或列表来存储需要移动的物体。编写移动代码。可以使用for循环遍历需要移动的物体,对每个物体进行移动操作。将代码添加到适当的位置。3、碰撞发生后...

unity3d 中如何让一个物体一端固定,另一端随另一物体运动,就像弹簧一样...
首先在3d软件里把物体的pivot point(不知道怎么翻译 就是缩小扩大的原点)改到物体的一端,Vector3 direction = target-transform.position;direction.y = 0;transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), Time.deltaTime*40);transform.eulerAngles = new ...

unity3d中如何用代码实现方块的左右移动 且人物站在上面可以跟着移动...
1、 利用层级关系,触碰时,方块是角色的父级,离开解除关系 void OnCollisionStay(Collision other){ other.gameObject.transform.parent = transform;} void OnCollisionExit(Collision other){ other.gameObject.transform.parent = null;} 2、利用位移,触碰时,角色的位移和方块移动的位移一样 using Uni...

unity3d 中如何让一个物体一端固定,另一端随另一物体运动,就像弹簧一样...
首先在3d软件里把物体的pivot point(不知道怎么翻译 就是缩小扩大的原点)改到物体的一端,Vector3 direction = target-transform.position;x05x05direction.y = 0;x05x05transform.rotation = Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(direction),Time.deltaTime*40);x05x05transform...

Unity3d 如何用按钮控制物体前后左右移动?
public var moveSpeed=1;function Start(){ if(!target){ print("not set target!");var go=GameObject.CreatePrimitive( PrimitiveType.Cube);target=go.transform;target.position=Camera.main.transform.TransformPoint(Vector3(0,0,5));target.rotation=Camera.main.transform.rotation;} } function ...

unity3d中如何让物体从一个点自动移动到另一个点呢,求解?
再把起始点的 xyz 分别填入,终点的也填入 就可以了。Time.time 换成 Time.deltaTime 然后可以用 Time.deltaTime 乘以一个数 可以百jjop度搜:编.程.回.忆.录.之.unity3d 都是从零基础开始讲解的 比如 Time.deltaTime *2 或者 Time.deltaTime * 0.1 数越大速度越快 ...

unity3d中如何让物体从一个点自动移动到另一个点
function Update () { transform.position = Vector3(Mathf.Lerp(minimum, maximum, Time.time), 0, 0);} lerp 就可以了 minimum 是你起始点, max是你到的点 你可以把 x y z 都换成 lerp transform.position = Vector3(Mathf.Lerp(minimum, maximum, Time.time), Mathf.Lerp(minimum...

unity3d 用WSAD控制物体移动的代码
public void MoveCubeByInput (){ if (Input.GetKey (KeyCode.W)) { this.gameObject.GetComponent <Transform> ().Translate (Vector3 .forward * Time.deltaTime * 3, Space.World);} if (Input.GetKey (KeyCode.A)) { this.gameObject.GetComponent <Transform> ().Translate (Vector3.left...

Unity3D实现键盘鼠标控制角色移动及旋转
Unity3D实现键盘鼠标控制角色前后左右移动及旋转 打开Unity3D,新建项目,如图,项目名称先填写为“PlayerControl”,然后点“CreateProject”按钮。在项目(Project)面板中的Assets下面分别建立“Materials"、"Prefabs"和"Scripts”文件夹。在层级(Hierarchy)面板中,点鼠标右键,在弹出菜单...

相似回答