unity3D中,限制物体移动范围时出错
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/29 05:29:06
unity3D中,限制物体移动范围时出错
我获取当前物体的位置,判断当这个位置小于一定值的时候才能移动,但是运行时移动到边界就开始反方向移动了,
void Update () {
float x = transform.position.x;
float y = transform.position.y;
if (Input.GetKey(KeyCode.W))
if (Input.GetKey(KeyCode.A))
{
if (x > -10000)
{
this.transform.Translate(Vector3.right * Time.deltaTime * -RotateSpeed);
}
}
if (Input.GetKey(KeyCode.D))
{
if (x < 10000)
{
this.transform.Translate(Vector3.right * Time.deltaTime * RotateSpeed);
}
}
}
我获取当前物体的位置,判断当这个位置小于一定值的时候才能移动,但是运行时移动到边界就开始反方向移动了,
void Update () {
float x = transform.position.x;
float y = transform.position.y;
if (Input.GetKey(KeyCode.W))
if (Input.GetKey(KeyCode.A))
{
if (x > -10000)
{
this.transform.Translate(Vector3.right * Time.deltaTime * -RotateSpeed);
}
}
if (Input.GetKey(KeyCode.D))
{
if (x < 10000)
{
this.transform.Translate(Vector3.right * Time.deltaTime * RotateSpeed);
}
}
}
if (x > -10000)
{
this.transform.Translate(Vector3.right * Time.deltaTime * -RotateSpeed);
}
大于-1000时该物体会移动
再问: 大哥。。。代码我写的肯定知道什么意思啊,麻烦看清楚我的问题啊
再答: 不好意思没看清楚你的问题,也没有看懂你的代码,没有明白你什么意思
再问: 额。。。。。。那个,我设置了,当按下键盘上的A的时候,判定物体的X轴坐标是否小于-10000,当小于时,物体往左边移动,大于时就不移动,但是现在当按住A的时候向左移动到-10000的位置的时候又会朝右边移动了
再答: // Update is called once per frame void Update() { if (transform.position.x < -10) { transform.position= new Vector3(-9.9f, transform.position.y, transform.position.z); } if (transform.position.x > 10) { transform.position=new Vector3(9.9f, transform.position.y, transform.position.z); } if (Input.GetKey(KeyCode.A)) { transform.Translate(new Vector3(-1, 0, 0)* 2*Time.deltaTime); } if (Input.GetKey(KeyCode.D)) { transform.Translate(new Vector3(1, 0, 0) * 2 * Time.deltaTime); } }
{
this.transform.Translate(Vector3.right * Time.deltaTime * -RotateSpeed);
}
大于-1000时该物体会移动
再问: 大哥。。。代码我写的肯定知道什么意思啊,麻烦看清楚我的问题啊
再答: 不好意思没看清楚你的问题,也没有看懂你的代码,没有明白你什么意思
再问: 额。。。。。。那个,我设置了,当按下键盘上的A的时候,判定物体的X轴坐标是否小于-10000,当小于时,物体往左边移动,大于时就不移动,但是现在当按住A的时候向左移动到-10000的位置的时候又会朝右边移动了
再答: // Update is called once per frame void Update() { if (transform.position.x < -10) { transform.position= new Vector3(-9.9f, transform.position.y, transform.position.z); } if (transform.position.x > 10) { transform.position=new Vector3(9.9f, transform.position.y, transform.position.z); } if (Input.GetKey(KeyCode.A)) { transform.Translate(new Vector3(-1, 0, 0)* 2*Time.deltaTime); } if (Input.GetKey(KeyCode.D)) { transform.Translate(new Vector3(1, 0, 0) * 2 * Time.deltaTime); } }
unity3d里怎样让物体左右循环移动.
3dmax怎么限制物体的移动,旋转,和缩放范围
unity3d 用射线判断物体碰撞.当物体进入和离开范围时都给出提示,为什么我的脚本只生效了一次?
unity3D特效跟随物体运动
Unity3D中如何使对象自动移动从一个点到另一个点
unity3d
unity3d物体爆炸效果怎么做
unity3d 中如何让一个物体一端固定,另一端随另一物体运动,就像弹簧一样
lingo中不是可以取消变量的非负限制吗,为什么老是出错啊
lingo中不是可以取消变量的非负限制吗,为什么老是出错啊,
3d max 中,移动物体时,物体为什么不能和X,Y移动
[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应