unity3d _lesson02

public class CubeScript : MonoBehaviour {


// Transform 类型的公共变量引用其他游戏对象的 Transform
public Transform WCubeTransform;
// GameObject 类型的公共变量引用一个预设体
public GameObject RCube;


// 脚本加载完毕之后执行
void Awake () {


}


// 脚本激活后执行(脚本的 Enable 设置为 True 时)
void OnEnable () {


}


// 第一次执行 Update 函数之前执行(只会执行一次)
void Start () {

}


// 一般用于执行一些物理效果的逻辑
void FixedUpdate () {


}


// 每帧执行一次
void Update () {
// 使当前游戏对象朝 Y 轴正方向移动 1 个单位
transform.position += new Vector3 (0f, 1f, 0f);
// 使当前游戏对象绕 Y 轴正方向旋转 60 度
transform.rotation *= Quaternion.AngleAxis (60f, Vector3.up);
// 使游戏对象按照给定的向量进行移动
transform.Translate (new Vector3 (0f, 0.05f, 0f));
// 使当前游戏对象绕 Y 轴正方向旋转 1 度
transform.Rotate (Vector3.up, 1f);


// Vector3.up // Y 轴正方向表示上方
// Vector3.down // Y 轴负方向表示下方
// Vector3.right // X 轴正方向表示右方
// Vector3.left // X 轴负方向表示左方
// Vector3.forward // Z 轴正方向表示前方
// Vector3.back // Z 轴负方向表示后方
// Vector3.zero // 原点
// Vector3.one // (1f, 1f, 1f)
// 求两个点之间的距离
float d = Vector3.Distance (Vector3.zero, Vector3.up);


// transform.forward // 当前游戏对象的正前方
// transform.up // 当前游戏对象的正上方
// transform.right; // 当前游戏对象的正右方


// 将本地坐标中的点转换为世界坐标点
print (transform.TransformPoint (Vector3.zero));
// 将世界坐标中的点转换为本地坐标中的点
transform.InverseTransformPoint (Vector3.zero);


// 使当前游戏对象的正前方(Z 轴正方向)朝向目标点
transform.LookAt (WCubeTransform.position);
// 使当前游戏对象围绕目标点,绕 Y 轴正方向旋转 1 度
transform.RotateAround (WCubeTransform.position, Vector3.up, 1f);


//
// 获取当前游戏对象的父对象
Transform p = transform.parent;
// 在当前游戏对象中查找名为 XXX 的子对象
Transform child = transform.FindChild ("XXX");
// 获取当前游戏对象的根对象
Transform r = transform.root


// 键盘相关事件
if (Input.GetKeyDown (KeyCode.A)) {
print ("键盘按键按下的一瞬间执行");
}
if (Input.GetKey (KeyCode.A)) {
print ("键盘持续按住时一直执行");
}
if (Input.GetKeyUp (KeyCode.A)) {
print ("键盘按键弹起的一瞬间执行");
}


// 鼠标相关事件
// 参数 0 表示鼠标左键, 1 表示鼠标右键, 2 表示鼠标中键
if (Input.GetMouseButtonDown (0)) {
print ("鼠标左键按下的一瞬间执行");
}
if (Input.GetMouseButton (0)) {
print ("鼠标左键持续按住时一直执行");
}
if (Input.GetMouseButtonUp (0)) {
print ("鼠标左键弹起的一瞬间执行");
}
// 获取并打印出鼠标位置
print (Input.mousePosition);


// 使用预设体动态创建游戏对象
// 第一个参数需要指定预设体, 第二个参数设置创建出的游戏对象的位置, 第三个参数设置游戏对象的旋转
// 如果要使用 GameObject 类型的变量接收创建出的游戏对象, 需要使用 as GameObject 转换类型
GameObject c = Instantiate (RCube, Vector3.zero, Quaternion.identity) as GameObject;
// 把创建出的游戏对象的父对象设置为当前游戏对象本身
c.transform.parent = transform;


// 在当前游戏对象中获取指定类型的组件
Light l = GetComponent <Light> ();
// 设置组件失效
l.enabled = false;
// 销毁组件
Destroy (l);
// 销毁当前游戏对象
Destroy (gameObject);
// 给当前游戏对象添加 Light 组件
gameObject.AddComponent <Light> ();
}


// 在 Update 函数执行完毕之后执行
void LateUpdate () {


}


// 处理绘制 UI 的代码
void OnGUI () {


}


// 脚本取消激活状态(脚本失效, 属性 Enable 为 False 时)
void OnDisable () {


}


// 脚本被销毁时执行
void OnDestroy () {


}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值