Unity3D入门(七):使用变换组件移动游戏物体

Unity3D入门(七):使用变换组件移动游戏物体

准备工作

延续之前的工程:
1.构建一个角色Cube,命名为Student。
2.创建材质球,利用纯色填充,并拖拽到Student上。
3.将Student拖拽到Prefabs面板中。
在这里插入图片描述

变换组件移动物体

游戏物体与组件之间的联系:
在这里插入图片描述

相关方法

gameObject.GetComponent():获取相应组件的引用。
查找当前游戏物体身上的某个组件,然后保存它的引用。

Transform.Translate(Vector3, Space):移动物体的位置。
游戏物体往某个方向移动;以自身坐标系或世界坐标系。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class StudentMove : MonoBehaviour {

    private Transform m_Transform;

	// Use this for initialization
	void Start () {
        //获取当前物体的Transform组件
        m_Transform = gameObject.GetComponent<Transform>();
	}
	
	// Update is called once per frame
	void Update () {
        //移动物体位置:以自身坐标系为基准,向前走
        m_Transform.Translate(Vector3.forward * 0.1f, Space.Self);
        //移动物体位置:以世界坐标系为基准,向前走
        //m_Transform.Translate(Vector3.forward * 0.1f, Space.World);
    }
}

相关参数

Vector3[struct]:三维向量。
向量,可以表示一个方向,也可以表示一个位置。
Space[enum]:空间。
Space.Self:表示物体自身的坐标系。
!Space.World:表示物体所在的世界坐标系。
备注:脚本是游戏物体的一部分,一般控制谁的脚本就挂载在谁的身上。

在这里插入图片描述

2.键盘控制移动方向
查使用键盘上的“W,A,S,D”来控制游戏物体的前后左右移动。

变换组件运动特点

使用 Transform.Translate()方法移动物体的位置,特点如下:
①移动的物体会“穿透”场景中其他的物体模型;
②移动的物体不会受重力影响(到达场景边缘外,不会下落)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值