一、推箱子
重难点:
箱子移动,推动箱子。
1、移动:
思路:
按下WASD键,先改变player的角度,然后沿着Z方向移动;
if(Input.GetKeyDown(KeyCode.W))
{
Vector3 newangle = new Vector3(transform.localRotation.x,
transform.localRotation.y + 0, transform.localRotation.z);
transform.rotation = Quaternion.Euler(newangle);
Direct = Vector3.forward;
Detection(Direct);
transform.Translate(transform.forward*5, Space.World);
}
2、推动箱子
思路:
利用射线检测,如果检测到箱子,箱子改变position;
RaycastHit hit;
if (Physics.Raycast(this.gameObject.transform.position, direct, out hit, 5))
{
if (hit.transform.tag == "box")
{
RaycastHit boxhit;
if (Physics.Raycast(hit.transform.position, direct, out boxhit, 5))
{
if (boxhit.transform.tag !&#