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

   更新日期:2024.05.11

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

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

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

usingUnityEngine;

usingSystem.Collections;

publicclassMoving:MonoBehaviour

{

publicTransformPointB;

privateint_direction=1;

privatefloat_pointA;

//Usethisforinitialization

IEnumeratorStart()

{

_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);

yieldreturn0;

}

}

}



  • 13265176826 :如何使物体实现移动【unity3D】
    沃俭缸574 :答:主要讲述如何使用javascript脚本使游戏组件实行按WSAD键移动,学习完此脚本后可以将脚本附加在物体上,使物体能实现移动。打开unity3D软件,点击create创建一个新的javascript的脚本,初试内容如图所示 在Update函数上方创建一个变量...
  • 13265176826 :Unity3D中如何实现怪物可以追击主人公的AI?
    沃俭缸574 :答:以下采用c#代码,可能有大小写或者单词拼写的问题,但是功能不会错。将该脚本附加到怪物上,怪物将笔直的按照你给定的速度超目标移动。注意,在编辑器中一定要设置PlayerGo和Speed这2个属性 public class AI:monobehivour { ...
  • 13265176826 :怎么在Unity3D中实现这种线框效果
    沃俭缸574 :答:o.pos = mul( UNITY_MATRIX_MVP, v.vertex);o.texcoord1 = v.texcoord1;o.color = v.color;return o;} fixed4 frag(v2f i) : COLOR { fixed4 answer;float lx = step(_LineWidth, i.texcoord1.x);float ...
  • 13265176826 :在unity3d里怎么做进度条
    沃俭缸574 :答:八、之所以能够得到满意的效果,每一个百分比的进度都能展示在眼前,是因为这个脚本中还有一个重要的语句。yield return new WaitForEndOfFrame();九、将该语句移到while循环语句的大括号外面,再次运行Unity3D,看一下效果,会...
  • 13265176826 :Unity3d C# 鼠标点击下物体,物体匀速旋转180°,要看到旋转过程,这个...
    沃俭缸574 :答:将我下面的脚本挂到场景中 创建目标物体Cube 这里使用射线检测物体名字实现的 using System.Collections;using System.Collections.Generic;using UnityEngine;public class RotateCube : MonoBehaviour{ bool startRotate; T...
  • 13265176826 :unity3d几个物体同时移动代码
    沃俭缸574 :答:题主是否想询问“unity3d几个物体同时移动代码的方法是什么”unity3d几个物体同时移动代码的方法是:定义需要移动的物体列表、编写移动代码、将代码添加到适当的位置。1、定义需要移动的物体列表。可以使用数组或列表来存储需要...
  • 13265176826 :unity3d 在代码中怎样控制粒子特效的重新播放与停止?答案最好详细点,可...
    沃俭缸574 :答:通过粒子系统的Simulate方法来模拟对应时间的粒子状态来完成效果,控制粒子特效的重新播放与停止。具体操作如下:1、首先下段代码比如对于Legacy粒子,使Emitter在timeScale=0停止时继续有效发射并显示效果。2、给cube2加上了针对...
  • 13265176826 :unity3d中怎么制作关卡载入进度条
    沃俭缸574 :答:1.新建两个场景,保存为level1和level2 2.将图片素材放进工程文件中,分别作为关卡背景、进度条背景和进度条前景 3.创建C#脚本,取名Life 4.打开脚本,加入如图所示代码 5.将脚本拖拽到摄像机上,将三张图片对号入座到...
  • 13265176826 :unity3d 用WSAD控制物体移动的代码
    沃俭缸574 :答:public void MoveCubeByInput (){ if (Input.GetKey (KeyCode.W)) { this.gameObject.GetComponent <Transform> ().Translate (Vector3 .forward * Time.deltaTime * 3, Space.World);} if (Input.GetKey (KeyCode....
  • 13265176826 :我想写个unity3D C#脚本用鼠标拖动物体,该怎么办呀,
    沃俭缸574 :答:* 用到了unity3d非常好的协同机制实现这一点,OnMouseDown事件表示鼠标已作了射线判断得到了对象。 * 拖拽时保持z轴不变,因为屏幕是xy二维的,空间是三维的。 * */ IEnumerator OnMouseDown () {var camera = Camera.mainCamera; if...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网