unity3d 摄像机跟随鼠标和键盘的控制

鼠标控制:

using UnityEngine;
using System.Collections;


public class shubiao : MonoBehaviour {
//public Transform firepos;
public int Ball=30;
public int CurBall=1;
public Rigidbody projectile;
public Vector3 point;
public float time=100f;
public GameObject Juese;
public GameObject lumian;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
Juese=GameObject.Find ("shijue");
GameObject PengZhuang1=GameObject.Find ("PengZhuang1");
GameObject PengZhuang2=GameObject.Find ("PengZhuang2");
GameObject PengZhuang3=GameObject.Find ("PengZhuang3");
GameObject PengZhuang4=GameObject.Find ("PengZhuang4");
GameObject PengZhuang5=GameObject.Find ("PengZhuang5");
   GameObject PengZhuang6=GameObject.Find ("PengZhuang6");
if(Juese==null)
{


return;
}
if(Input.GetMouseButton(0))
{
Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if(Physics.Raycast (ray,out hit))
{
if(hit.transform==Juese.transform)
{
print("命中了球");

}
if(hit.transform==PengZhuang1.transform)
{
print("碰撞了墙1");
return;
}
if(hit.transform==PengZhuang2.transform)
{
print("碰撞了墙2");
return;
}
if(hit.transform==PengZhuang3.transform)
{
print("碰撞了墙3");
return;
}
if(hit.transform==PengZhuang4.transform)
{
print("碰撞了墙4");
return;
}
if(hit.transform==PengZhuang5.transform)
{
print("碰撞了墙5");
return;
}
if(hit.transform==PengZhuang6.transform)
{
print("碰撞了墙6");
Application.LoadLevel(1);
return;
}
point=hit.point;
Juese.transform.LookAt(new Vector3(point.x,Juese.transform.position.y,point.z));
time=Time.realtimeSinceStartup;
Move(0.15f);


}
}
}
void Move(float speed)
{
if(Mathf.Abs (Vector3.Distance(point,transform.position))>=1.3f)
{

// Rigidbody clone2;
// clone2 = Instantiate(projectile, point, firepos.rotation) as Rigidbody;
// clone2.velocity = transform.TransformDirection(Vector3.forward * 10);
//transform.Translate(point);
Juese.transform.Translate(Vector3.forward* Time.deltaTime*20);
// transform.Translate (point* Time.deltaTime*20);
// print(point.x);
// print("forward"+Vector3.forward.x);
// CharacterController cctl= GetComponent<CharacterController>();
// Vector3 v=Vector3.ClampMagnitude(point,speed);
// cctl.Move(v);
}

}
void OnMouseDown()
{
Debug.Log("OnMouseDown");


}




}

键盘控制:

using UnityEngine;
using System.Collections;


public class shijue : MonoBehaviour {
//public GameObject ballgo;
// Use this for initialization
void Start () {

}
// Update is called once per frame
void Update () {

// ballgo=GameObject.Find ("zidan");
// if(Ball==null||firepos==null)
// return;
if (Input.GetButtonDown("Fire1")) {
//if (Input.GetKeyDown(KeyCode.Space))
//{
// Rigidbody clone1;
// clone1 = Instantiate(projectile, firepos.position, firepos.rotation) as Rigidbody;
// clone1.velocity = transform.TransformDirection(Vector3.forward * 120);
//}
if(Input.GetKey (KeyCode.W))
{
print("----------w"); 
transform.Translate (Vector3.forward * Time.deltaTime*60);
}
if(Input.GetKey (KeyCode.S))
{

print("---------------s");
transform.Translate (Vector3.forward * Time.deltaTime*-60);
}
if(Input.GetKey (KeyCode.A))
{
print("---a");
transform.Rotate(Vector3.up * Time.deltaTime*-60);
}
if(Input.GetKey (KeyCode.D))
{

print("------------d");
transform.Rotate(Vector3.up * Time.deltaTime*60);
}



}



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨航 AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值