0
我想退出游戏中的“触发器”区域时放弃对象。因此,当我进入触发区时,会发生什么情况,对象是否开始浮动。但是当我离开这个区域的时候,物体不会落回地面,当我再次进入触发区域时,它会在半空中停止,它会继续漂浮?如何让物体在离开触发区时掉落?
这里是我的浮动脚本:
using UnityEngine;
using System.Collections;
public class Floatinga : MonoBehaviour {
public float horizontalSpeed;
public float verticalSpeed;
public float amplitude;
private Vector3 tempPosition;
void Start()
{
tempPosition = transform.position;
}
void FixedUpdate()
{
tempPosition.x += horizontalSpeed;
tempPosition.y += verticalSpeed;
transform.position = tempPosition;
}
}
,然后当我进入或退出:
using UnityEngine;
using System.Collections;
public class Floating : MonoBehaviour {
public GameObject otherObject;
// Use this for initialization
void Start() {
otherObject.GetComponent<Floatinga>().enabled = false;
}
void OnTriggerEnter()
{
otherObject.GetComponent<Floatinga>().enabled = true;
}
// Update is called once per frame
void OnTriggerExit()
{
otherObject.GetComponent<Floatinga>().enabled = false;
}
}
所以我不知道我做错了吗?任何人都可以帮忙吗? 谢谢
不,它不工作。该物体刚开始漂浮,没有我进入触发区域,似乎现在正在反弹。 – Newbie
由于您的固定更新正在设置物体的位置,同时重力作用于其上。当你希望对象浮起来时,你应该禁用重力,并启用引力,当你想让它掉落时禁用该浮动脚本。 – Everts
啊,好吧。谢谢!现在工作。 – Newbie