Unity3D 游戏开发day01

首先感谢雨松MOMO,我是看他写的Unity3D 游戏开发书籍开始学习我的Unity3D游戏开发的。

下面是这位大牛的网址

http://www.xuanyusong.com/

整款Unity3D开发工具其实也就几个模块而已,只要你有心去学习,很快就可以上手。我就不想去介绍了


在Project视图中创建Js代码,

function Update(){
  transform.Translate(Vector3.forward*Time.deltaTime);
}
这里的Update()方法是系统自动调用的方法,可以理解为Unity3D脚本编程的一个生命周期函数,重写这个函数。类似于Android的生命周期函数。

Vector3.forward表示向前移,Time.deltaTime表示Update方法上一帧持续的时间。由于Update方法是在游戏每一帧中都会调用,

所以Vector3.forward*Time.deltaTime表示一帧移动的距离。当然可以在后面乘以倍数,提高速度

function Update(){
  transform.Rotate(Vector3.up*Time.deltaTime);
}
Vector3.up表示自身旋转,我的理解为这个物体相对于摄像机拍摄到的自己的顶

使用脚本控制模型的移动

#pragma strict

//模型移动速度
var TranslateSpeed = 20;

//模型旋转速度
var RotateSpeed = 1000;

//绘制UI
function OnGUI(){
	//设置GUI背景颜色
	GUI.backgroundColor = Color.red;
	if(GUI.Button(Rect(10,10,70,30),"向左旋转")){
		//想左旋转模型
		transform.Rotate(Vector3.up *Time.deltaTime * (-RotateSpeed));

	}

	if(GUI.Button(Rect(90,10,70,30),"向前移动")){
		//向前移动
		transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed);
	}

	if(GUI.Button(Rect(170,10,70,30),"向右旋转")){
		//向右旋转
		transform.Rotate(Vector3.up * Time.deltaTime *RotateSpeed);
	}

	if(GUI.Button(Rect(90,50,70,30),"向后移动")){
		//向后移动
		transform.Translate(Vector3.forward * Time.deltaTime *(-TranslateSpeed));
	}
	if(GUI.Button(Rect(10,50,70,30),"向左移动")){
		//向左移动
		transform.Translate(Vector3.right * Time.deltaTime *(-TranslateSpeed));
	}
	if(GUI.Button(Rect(170,50,70,30),"向右移动")){
		//向右移动
		transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed);
	}

	//显示模型位置信息
	GUI.Label(Rect(250,10,200,30),"模型的位置" + transform.position);
	//显示模型旋转信息
	GUI.Label(Rect(250,50,200,30),"模型的旋转" +transform.rotation);
}

在这里使用了很多函数,都可以见名知意,
GUI.Button(画区域)是生成了一个按钮,然后点击都会返回true,默认返回false,可以这样理解
通过实验表明,

Vector3.up  表示相对于自己的Y轴(绿色轴)  向右旋转时,Roate()方法参数为正,向左旋转为负

vector3.right  表示相对于自己的X轴(红色轴)  向右移动是,Translate()方法里面的参数为正,左移为负

Vector3.forward  表示相对于自己的Z轴(蓝色轴) 想前移动为正,向后为负数

这个可以看物体上显示的坐标轴


GUI界面开发,GUI高级控件的开发了解。

在js中声明的public或者未添加任何关键字表示这个变量为共有变量,只有共有变量才可以出现在编辑器中,并且编辑可以可以修改

GUI.Label标签,可以添加文字,也可以添加贴图Texture信息

GUI.Button\GUI.RepeatButton点击不放按钮可以监控到变量。

GUI.TextField  和 GUI.PasswordField  前一个输入文本框,后一个输入密码框,并且都返回输入的字符串

PS:注意声明的变量需要初始化,如果不初始化会报错,可以在console控制台中看到红色的错误信息


最后,感觉Unity3D上手还不错,感觉还行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值