战争机器3能用键盘控制鼠标加鼠标控制游戏吗

有关unity3d 输入与控制(键盘与鼠标输入控制) - CSDN博客
有关unity3d 输入与控制(键盘与鼠标输入控制)
首先我这里先来总结Input类。
键盘控制类:
1,想要读取轴向使用Input.GetAxis方法获取下列默认轴: &Horizontal& 和&Vertical& 映射于控制杆、A、W、S、D和箭头键(方向键)。 &Mouse X& 和&Mouse Y& 映射于鼠标,&Fire1&, &Fire2& &Fire3&映射于键盘的Ctrl、Alt、Cmd键和鼠标中键或控制器的按钮。新的输入设置可以使用输入管理器来添加。
2,如果你使用Input制作某种运动行为可以使用Input.GetAxis方法,它能够返回来自键盘、控制器或鼠标平缓并且可以设置的输入结果。使用Input.GetButton方法只用于像事件之类的动作。不要将它用于移动动作。Input.GetAxis方法可以使脚本代码更简洁。
3,注意:每次输入在&Update()&之前不会再更新,所以建议你将所有的输入调用都写在Update方法中。(Update循环中)
移动设备:
移动设备:
iOS和Android设备能够支持多点触控。你可以通过Input.touches属性集合访问在最近一帧中触摸在屏幕上的每一根手指的状态数据。&
当设备移动时,它们的加速感应器硬件将报告它们在三维空间中沿着三个主轴的线性加速变化数据。你可以使用这些数据检测设备当前的移动方向(相对于地面)和突然间的方向改 变。
硬件沿着某感应一轴加速就会立即返回重力值。如果值为1.0代表沿着给定轴的方向+1g的重力加速度,如果值为-1.0代表-1g的重力加速度。如果你保持设备垂直(主页键在下方)在你正前方,那么X轴就是指向你右侧的方向,Y轴指向正上方,Z轴就是你所面向的方向。
你可以读取Input.acceleration属性获得设备的加速度信息。你也可以使用Input.deviceOrientation属性获取设备在三维空间中的方位偏移。检测方位变化在你想要制作游戏行为中会非常有用,当用户转动设备或拿着设备时它是不同的。
注意:速度感应装置在每一帧中能够轮询多次,想访问上一帧的所有速度样本你可以读取Input.accelerationEvents属性集合。这在重组玩家动作中会非常有用。例如将加速数据放入一个预测器中或者实现其他一些精确的动作捕捉
Class Variables类变量
当前所在像素坐标的鼠标位置(只读)。
Is any key or mouse button currently held down? (Read Only)
是否有某一按键或鼠标按钮此时被按住?(只读)
Returns true the first frame the user hits any key or mouse button (Read Only).
在第一帧用户按下某一按键或鼠标按钮,返回true(只读)
Returns the keyboard input entered this frame (Read Only).
返回在这一帧的键盘输入(只读)
Last measured linear acceleration of a device in three-dimensional space (Read Only).
最近一次测量的设备在三维空间中的线性加速度(只读)
Returns list of acceleration measurements which occurred during the last frame (Read Only) (Allocates temporary variables).
返回上一帧测量的加速值数据列表(只读)(分配临时变量)
Number of acceleration measurements which occurred during last frame.
上一帧所进行的加速度测量次数。
Returns list of objects representing status of all touches during last frame (Read Only) (Allocates temporary variables).
返回代表上一帧所有的触摸状态的对象列表(只读)(分配临时变量)
Number of touches (Read Only).
触摸的数量(只读)。
Property indicating whether the system handles multiple touches.
此属性表明此系统是否支持多点触控。
Device physical orientation as reported by OS (Read Only).
操作系统所报告的物理设备的方位信息(只读)
Class Functions类函数
Returns the value of the virtual axis identified by axisName.
根据坐标轴名称返回虚拟坐标系中的值。
Returns the value of the virtual axis identified by axisName with no smoothing filtering applied.
通过坐标轴名称返回一个不使用平滑滤波器的虚拟坐标值。
Returns true while the virtual button identified by buttonName is held down.
根据按钮名称返回true当对应的虚拟按钮被按住时。
Returns true during the frame the user pressed down the virtual button identified by buttonName.
在给定名称的虚拟按钮被按下的那一帧返回true。
Returns true the first frame the user releases the virtual button identified by buttonName.
在用户释放指定名称的虚拟按钮时返回true。
Returns true while the user holds down the key identified by name. Think auto fire.
当通过名称指定的按键被用户按住时返回true。想想自动开火。
Returns true during the frame the user starts pressing down the key identified by name.
当用户按下指定名称的按键时的那一帧返回true。
Returns true during the frame the user releases the key identified by name.
在用户释放给定名字的按键的那一帧返回true。
Returns an array of stings describing the connected joysticks.
返回一个用来描述已连接的控制杆的字符串集合。
Returns whether the given mouse button is held down.
当指定的鼠标按钮被按下时返回true
Returns true during the frame the user pressed the given mouse button.
在用户按下指定鼠标按键的那一帧返回true。
Returns true during the frame the user releases the given mouse button.
在用户释放指定鼠标按键的那一帧返回true。
Resets all input. After ResetInputAxes all axes return to 0 and all buttons return to 0 for one frame.
在一帧中重置所有的输入,重置输入指令之后所有的方向轴都被设置为0并且所有的按键都被设置为0。
Returns specific acceleration measurement which occurred during last frame (Does not allocate temporary variables).
返回上一帧发生的指定的加速度测量(不允许分配临时变量)
Returns object representing status of a specific touch (Does not allocate temporary variables).
返回一个存放触摸信息的对象(不允许分配临时变量)。&
有关鼠标事件的总结:
鼠标事件由两方面完成
1,本身的鼠标事件
上面就是鼠标事件的几个继承子monobehavier里面的事件函数。用本身自带函数会省事很多。
下面是有关Raycast射线的讲解:
.Raycast 光线投射
static function Raycast (origin : , direction : , distance : float =
, layerMask : int = kDefaultRaycastLayers) : bool
Parameters参数
The starting point of the ray in world coordinates.
在世界坐标,射线的起始点。
The direction of the ray.
射线的方向。
The length of the ray
射线的长度。
A Layer mask that is used to selectively ignore colliders when casting a ray.
只选定Layermask层内的碰撞器,其它层内碰撞器忽略。&
鼠标拖拽物体移动实例代码:
public class text_Drag : MonoBehaviour {
& & public Camera mC
& & public float depth=10f;
//进入物体放大
& & void OnMouseEnter()
& & & & this.transform.localScale = new Vector3(1.3f,1.3f,1.3f);
//退出物体还原
& & void OnMouseExit()
& & & & this.transform.localScale = new Vector3(1,1,1);
//放在物体上面旋转
& & void OnMouseOver()
& & & & this.transform.Rotate(Vector3.up,45*Time.deltaTime,Space.Self);
//拖动物体
& & void OnMouseDrag()
& & & &Drag();
& & & &// moveObject();
& & void Drag()
& & & & Ray mRay = mCamera.ScreenPointToRay(Input.mousePosition);//这是从屏幕发射一条射线到鼠标位置
& & & & RaycastH
& & & & if (Physics.Raycast(mRay, out hit, 1000, 2))
& & & & & & this.transform.position = new Vector3(hit.point.x,hit.point.y+0.5f,hit.point.z);
& & & & Debug.DrawLine(mRay.origin,hit.point,Color.red);
& & void moveObject()
& & & & Vector3 mousescreen = Input.mouseP
& & & & mousescreen.z =//固定Z轴
& & & & Vector3 mPoint = mCamera.ScreenToWorldPoint(mousescreen);//将鼠标的位置映射在屏幕上面,这样可以使物体自由拖拽,可以使物体拖出界面。
& & & & this.transform.position = mP//把转换后的坐标赋值给物体本身的世界坐标。
本文已收录于以下专栏:
相关文章推荐
先看看unity3d中输入的东西,在编辑中可以看到
Unity 支持键盘、操纵杆和游戏手柄输入。
可以在输入管理器 (Input Manager) 中创建虚拟轴和按钮,终端用户可以在简洁美观的配置对话框中配置键盘。
在游戏中,玩家控制主角移动,按键攻击,选择行走。都需要在程序中***玩家的输入。unity为开发者提供了input库,来支持键盘事件,鼠标事件以及触摸事件。本文主要回顾键盘事件,以后会逐文复习鼠标以及触...
using UnityE
using System.C
public class Target : MonoBehaviour {
public Trans...
这篇说的是Unity Input。输入控制器
关于Unity3D是什么。我就不多做解释了。由于工作原因,该系列原创教程不定期更新。每月必然有更新。谢谢各位
Unity Input---...
键盘的输入与控制public static bool GetButton(string buttonName);
当InputManager设置的buttonName键被按下返回true,若一直按着...
在游戏中,玩家控制主角移动,按键攻击,选择行走。都需要在程序中***玩家的输入。unity为开发者提供了input库,来支持键盘事件,鼠标事件以及触摸事件。本文主要回顾键盘事件,以后会逐文复习鼠标以及触...
Unity 中,使用 Input 类获取用户输入,记录下常用的函数及注意事项。
Input.GetKeyDown(KeyCode key) 获取指定按键被按下的事件,直到松开按键再次按下,...
Unity3D使用input类控制用户的输入,输入包括了用户键盘,鼠标,触摸,重力感应以及地理位置输入等输入方式。
本节我们介绍Unity3D中如何***用户的鼠标、键盘输入。
http://blog.csdn.net/hiramtan/article/details/8927398
本篇展示在Unity3D中调用友盟SDK的实现方法.
首先附上项目源...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)& 求助战争机器鼠标不能控制左右视角的问题 ...
查看: 2971|回复: 1
UID9248844主题阅读权限10帖子精华0积分1金钱12 荣誉0 人气0 在线时间0 小时评议0
Lv.1游侠新人, 积分 1, 距离下一级还需 4 积分
帖子精华0积分1金钱12 荣誉0 人气0 评议0
我刚刚下载了战争机器,想重温一下这一经典欧系,但是进入游戏后发现鼠标不能左右控制,很无奈,已经纠结了我半个月了,在不同地方下载的逗是一样的问题,选项里也没有这一设定,又特地买了个360手柄,但不能用,求帮助啊,拜托了
UID主题阅读权限10帖子精华0积分1金钱17 荣誉0 人气0 在线时间0 小时评议0
Lv.1游侠新人, 积分 1, 距离下一级还需 4 积分
帖子精华0积分1金钱17 荣誉0 人气0 评议0
& & 真的这么神奇?
Powered by

参考资料

 

随机推荐