有的时候,在学习的过程中不能一味的学习,还得多写写一些实例,这样才能更好地学号知识,怎么说呢,我感觉会用一个知识点要不知道两个知识点实在,只要你会用那么它就是你的。
今天在这里介绍几个方法,主要是为之后的一个游戏实例(坦克大战)准备的,这个游戏教程很多高手都写过,我也是仿他们的,呵呵,之后会有很多的代码回合他们的类似(说白了,那种模式的代码不类似才怪了),我看过海海的视频,虽然不知道他是谁,但感觉他讲的很细,只是视频到现在还没有出完,同时我也看过很多人的文档时的教程,讲的也很好,大家也可以看看他们的教程,很有帮助的。
现在就不多说了,开始说可能用到的三个方法,方法可能不全,我会在以后写的过程中慢慢补全的。
对象移动旋转、物理力的添加、对象碰撞销毁等
1.对象移动旋转:
在unity3d世界里是以实际的世界单位来衡量的,同时也可以用像素来衡量,但是我不是很清楚它们两者之间是什么联系,如果谁知道的话可以留言,告诉我,我先在这里谢谢了。废话不多说,在这里以下我说的都是以像素为单位。
(1)物体移动:transform.Translate(Vector3.forward*1f);//向前移动一个单位的距离
(2)物体的旋转:transform.Rotate(Vector3.up*1);//物体向右旋转1(π为180度)
方向关键词forward、up、lift在这里是指坐标系统的三个正方向,移动就不说了,旋转的是以该轴为旋转轴旋转的,这里我们可以根据以上的信息可以写出各个方向的移动选择。
2.物理力的添加:为物体添加Rigidbody属性后可以用代码添加力;
(1)Rigidbody.AddForce(Vector.forward*100);//给物体一个方向为正方向的100N的力
(2)Rigidbody.AddForceAtPosition(Vector.forward*100,force.position);//给物体的force的位置上施加一个方向为正方先的100N的力
3.对象的碰撞销毁:
unction OnCollisionStay(collisionInfo : Collision) { //这个方法可以检查物体的碰撞结果
Destroy (gameObject,10); //物体在10秒后自动销毁,也可以是Destroy (gameObject);,就成为物体直接销毁
}