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);
}
}
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);
}
}