Unity引擎(物理引擎上)

using UnityEngine;
using System.Collections;


public class lianxi : MonoBehaviour {
//定义一个全局变量
float a;
float b;
Rigidbody gt;
void Start () {

}
//键盘输入常用方法
void Update () {
if (Input.GetKey (KeyCode.A)) {
Debug.Log ("按住了A");
      }
if (Input.GetKeyDown (KeyCode.A)) {
Debug.Log ("按下了A");
}
if (Input.GetKeyUp (KeyCode.A)) {
Debug.Log ("松开了A");
}
yidong ();
shubiao ();
gangti ();


}
 //移动物体方法
void yidong(){
a=Input.GetAxis("Vertical");
b=Input.GetAxis("Horizontal");
if (b<0) {
b = -b;
}
transform.position +=transform.right * a * 10 * Time.deltaTime;


transform.Rotate (Vector3.up * 30 * b * Time.deltaTime);
}
//鼠标操作方法
void shubiao(){
//得到当前鼠标的位置
Vector3 shubiaoweizhi = Input.mousePosition;
//鼠标按键按下的第一帧返回true
//0是左键1是右键2是滚轮键
if(Input.GetMouseButtonDown(0)){
Debug.Log ("鼠标左键按下的第一帧返回true");
}
//鼠标按键松开的第一帧返回true
if(Input.GetMouseButtonUp(0)){
Debug.Log ("鼠标左键松开的第一帧返回true");
}
//鼠标按键按下期间一直返回true
if(Input.GetMouseButton(0)){
Debug.Log ("鼠标左键按下的期间一直返回true");
}
}
//碰撞器
void OnMouseDown(){
Debug.Log ("鼠标在Collider之上,按下鼠标,该事件即被触发");
}void OnMouseUp(){
Debug.Log ("鼠标在Collider之上,抬起鼠标,该事件即被触发");
}
void OnMouseDrag(){
Debug.Log ("鼠标在Collider之上,拖动鼠标,该事件即被触发");
}
void OnMouseEnter(){
Debug.Log ("移动鼠标进去Collider区域的时候,该事件即被触发");
}
void OnMouseExit(){
Debug.Log ("移动鼠标移出Collider区域的时候,该事件即被触发");
}
void OnMouseOver(){
Debug.Log ("鼠标处于Collider区域之上,该事件每帧触发");
}
void OnMouseUpAsButtOn(){
Debug.Log ("当鼠标在同一个Collider上按下又弹起的情况下会触发调用该事件");
}
//刚体组件
void gangti(){
if (Input.GetKeyDown(KeyCode.W)) {
//给物体一个速度
gt.velocity = transform.forward * 10;
}
if (Input.GetKeyDown (KeyCode.A)) {
//给物体一个角速度
gt.angularVelocity = transform.forward *10; 
}
if (Input.GetKeyDown (KeyCode.Space)) {
//按下空格,刚体一个向上的力
gt.AddForce((Vector3.up)*10);
}
//在vec这个位置施加一个向上的力
Vector3 vec = transform.position + Vector3.left * 0.5f;
if (Input.GetKeyDown (KeyCode.X)){
gt.AddForceAtPosition (Vector3.up *10,vec);
}
//给刚体添加一个爆炸力 gt.AddExplosionForce(爆炸力,爆炸位置,爆炸范围)
if (Input.GetKeyDown(KeyCode.F)) {
gt.AddExplosionForce (10, transform.position + Vector3.left+Vector3.down,1);
}




}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值