Unity3D 中如何同时获得鼠标点击和键盘按键

在Unity3D中用OnMouseDown()响应鼠标事件,但要在同时按下LeftControl时才有效。用下面的代码判断没有效果:voidOnMouseDown(){i... 在Unity3D中用OnMouseDown()响应鼠标事件,但要在同时按下LeftControl时才有效。
用下面的代码判断没有效果:
void OnMouseDown(){
if( Input.GetKeyDown (KeyCode.LeftControl) ){
Debug.log(“..............”);
}
}
展开
 我来答
tn瓶邪
2015-08-13 · TA获得超过1882个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:112万
展开全部
var moveSpeed:int=5;//player移动速度
var player:Transform;//定义一个人物的Transform
private var endposition : Vector3;

function Start()
{
endposition = player.transform.position;
}

function Update ()
{

if(Input.GetButtonUp("LeftMouse")){ //LeftMouse是在inputManager中设置的,左键值为mouse 0
PlayerMove();
}
var targetposition=player.TransformPoint(Vector3(0,48.8,-30));
transform.position=targetposition;//相机的目标位置,这两句代码的作用是让人物一直处于相机的视野下
if(endposition != player.transform.position){
player.position=Vector3.MoveTowards(player.position,endposition,Time.deltaTime*moveSpeed);
}
}

function PlayerMove()
{
var cursorScreenPosition:Vector3=Input.mousePosition;//鼠标在屏幕上的位置
var ray:Ray=Camera.main.ScreenPointToRay(cursorScreenPosition);//在鼠标所在的屏幕位置发出一条射线(暂名该射线为x射线)
var hit:RaycastHit;
if(Physics.Raycast(ray,hit)){
if(hit.collider.gameObject.tag=="Terrain"){//设置地形Tag为Terrain
endposition = hit.point;
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rmseaha
2014-03-27
知道答主
回答量:3
采纳率:0%
帮助的人:3170
展开全部
请问楼主解决了没有呀,我现在也遇到这个问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
udhjsakjd
2013-07-17
知道答主
回答量:57
采纳率:0%
帮助的人:19.8万
展开全部
不知道啊,吹啊啊,哈哈哈哈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-03-02
展开全部
if( Input.GetKeyDown (KeyCode.LeftControl) &&Input.GetKeyDown(KeyCode.Mouse0)){
Debug.log(“..............”);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式