Unity3D基础10:利用Transform组件移动物体

本文详细介绍如何在Unity中使用Transform组件和键盘输入实现物体移动。通过实例化Transform对象并利用Translate方法,结合键盘按键(WASD)进行物体位置调整,适用于游戏开发初学者。
摘要由CSDN通过智能技术生成

 

前文:https://blog.csdn.net/Jaihk662/article/details/86750789(Transform组件)

https://blog.csdn.net/Jaihk662/article/details/86751535(获取鼠标键盘输入)

PS:注释和讲解部分在代码中

一、利用Transform组件移动物体

脚本程序步骤:

①实例化Transform对象,并通过 gameObject.GetComponent<T> () 获取相应对象的引用

②利用 Transform.Translate(Vector3, Space) 方法移动物体的位置,函数含义:游戏物体以"Space"坐标系往Vector3方向移动

相关参数:

Vector3.xxx:结构体;用来表示向量,例如:vector3.forward:向前方移动1m,vector3.forward*0.5:向前方移动50cm

Space.xxx:枚举类;Space.Self 表示物体自身的坐标系,Space.World 表示物体所在的世界坐标系


备注:脚本是游戏物体的一部分,一般控制谁的脚本就挂载在谁的身上

 

(图片引用于擅码网)

 

二、利用'W', 'A', 'S', 'D'移动物体

了解上面的API后,就很容易解决这个问题了

新建C#脚本,代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Text1: MonoBehaviour
{
    //因为Start()只会在开始游戏时被执行一次,所以一般都用来初始化
    private Transform myTransform;      //实例化Transform对象
    void Start()
    {
        Debug.Log("Start");     //输出调试
        myTransform = gameObject.GetComponent<Transform> ();        //获取相应对象的引用
    }
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.W))
        {
            Debug.Log("W键按下,向前移动");
            myTransform.Translate(Vector3.forward, Space.Self);
        }
        if (Input.GetKeyDown(KeyCode.A))
        {
            Debug.Log("A键按下,向左移动");
            myTransform.Translate(Vector3.left, Space.Self);
        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            Debug.Log("S键按下,向后移动");
            myTransform.Translate(Vector3.back, Space.Self);
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            Debug.Log("D键按下,向右移动");
            myTransform.Translate(Vector3.right, Space.Self);
        }
    }
}

将其拖到对应的物体上即可,效果如下:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值