unity鼠标滑轮输入,unity新版输入系统获取鼠标滑动

测评百科 bcvbfgjt165798 2024-04-09 10:15 5 0

一、Unity3D实现键盘鼠标控制角色移动及旋转

Unity3D实现键盘鼠标控制角色前后左右移动及旋转

打开Unity3D,新建项目,如图,项目名称先填写为“PlayerControl”,然后点“CreateProject”按钮。

在项目(Project)面板中的Assets下面分别建立“Materials"、"Prefabs"和"Scripts”文件夹。

在层级(Hierarchy)面板中,点鼠标右键,在弹出菜单中选“3D Object”--"Plane"(地面),然后点检视(Inspector)面板中的Transform组件设置按钮,在弹出的菜单中选“Reset”,将添加的地面复位。可以看到在Inspector面板中的Transform组件里,Position(位置)属性X,Y,Z都是0。下面进行关键的一步,按住ATL键,鼠标移到"Scene"面板中(这时鼠标变成眼睛形状),拖动鼠标,可以移动场景中的视角,注意:一定要将视角移动成如图所示的X轴在右方,Z轴在前方,Y轴在上方。这步很关键,移成这样的方位,后面移动物体时,前后左右才会正常,不然你的方向可能会和别人相反。

调整好Scene面板中的视角后,选中层级(Hierarchy)面板中的"Main Camera",点菜单"GameObject"--"Align With View",将主摄像机位置调整到Scene面板中所看到的视角。

与上一步相同,在层级(Hierarchy)面板中,点鼠标右键,在弹出菜单中选“3D Object”--"Cube"(立方体),然后点检视(Inspector)面板中的Transform组件设置按钮,在弹出的菜单中选“Reset”,然后将Transform组件里,Position(位置)的Y值改成0.5,X和Z均为0。

选中Project(项目)面板中的Assets下的"Materials"文件夹,在右边空白处,右击鼠标,选"Create"--"Material",将新建的材质球默认名称"New Material"改名为"Cube",并在右边"Inspector"(检视)面板中,设置颜色为蓝色。将材质球"Cube"拖到Scene面板中的立方体"Cube"上面,这时,场景中的立体方Cube变成蓝色,如图所示。

方法/步骤2

点击项目(Project)面板中的"Prefabs"文件夹,将层级(Hierarchy)面板中的Cube立方体,拖动到项目(Project)面板中的"Prefabs"文件夹中,这时Cube立方体则变成了预制体。

点击项目(Project)面板中的"Script"文件夹,在右边空白处点鼠标右键,选"Create"--"C# Script",将新创建的C#代码重命名为"PlayerController",并将该代码拖拽到层级(Hierarchy)面板中的Cube物体上。然后双击打开该代码。

在代码编辑器MomoDevelop或VS2015中,将以下代码输入,然后按CTRL+S保存代码。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController: MonoBehaviour{ private Transform m_Transform; void Start(){ m_Transform= gameObject.GetComponentTransform();}// Update is called once per frame void Update(){ MoveControl();} void MoveControl(){ if(Input.GetKey(KeyCode.W)){ m_Transform.Translate(Vector3.forward* 0.1f, Space.Self);} if(Input.GetKey(KeyCode.S)){ m_Transform.Translate(Vector3.back* 0.1f, Space.Self);} if(Input.GetKey(KeyCode.A)){ m_Transform.Translate(Vector3.left* 0.1f, Space.Self);} if(Input.GetKey(KeyCode.D)){ m_Transform.Translate(Vector3.right* 0.1f, Space.Self);} if(Input.GetKey(KeyCode.Q)){ m_Transform.Rotate(Vector3.up,-1.0f);} if(Input.GetKey(KeyCode.E)){ m_Transform.Rotate(Vector3.up, 1.0f);} m_Transform.Rotate(Vector3.up, Input.GetAxis("Mouse X")); m_Transform.Rotate(Vector3.left, Input.GetAxis("Mouse Y"));}}

回到Unity3D,点击"运行"按钮,发现原来的Scene面板会切换到Game(游戏预览)面板。这时,就可以通过WSAD键控制立方体的前后左右移动,Q和E键控制立方体左右旋转。同时,鼠标前后和左右移动可以控制物体上下及左右旋转了。

测试完成后,发现物体移出地面后竟然会悬在空中不会下落,这时,可以点击“运行”按钮,选中Cube立方体,点菜单“Component"--"Physics"--"Rigidbody",可以在检视(Inspector)面板中看到该立方体多了一个“刚体(Rigidbody)组件,因为默认的"Use Gravity"(启用重力)有打上勾。所以,再次运行,可以看到立方体移出地面(Plane)范围后会下落。

二、unity右击鼠标代码

Unity中可以使用如下代码来检测右击鼠标事件:

using UnityEngine;

public class Example: MonoBehaviour{

void Update(){

if(Input.GetMouseButtonDown(1)){

Debug.Log("Right mouse button clicked");

}

}

}

Input.GetMouseButtonDown()函数用来检测鼠标按键的状态,第一个参数是要检测的鼠标按键,0代表左键,1代表右键,2代表中键。当返回值为 true时,说明相应的鼠标按键被按下。

你可以将上述代码放在Update函数中,这样每一帧都会进行检测,如果需要在右键点击之后进行一些其他操作,可以在Debug.Log后面加上相应的代码。

如果你需要在点击特定的物体上才进行操作,可以在给物体加上Collider并脚本脚本,在脚本中监听鼠标右键事件来检测是否点击到了这个物体上。

三、unity新版输入系统获取鼠标滑动

unity新版输入系统获取鼠标滑动不揍如下:Unity鼠标键盘输入:代码写在Update()函数中,屏幕坐标的原点在屏幕的左下角。

1、通过Input(API)获得鼠标的操作信息:获得鼠标的坐标位置:Input.mousePosition,检测鼠标按:Input.GetMouseButtonDown(0)返回值为布尔值,鼠标左键按下为true,检测鼠标抬起:Input.GetMouseButtonUp(0)返回值为布尔值,鼠标抬起为true,检测鼠标长按:Input.GetMouseButton(0)返回值为布尔值,鼠标长按为true,检测鼠标中键滚动:Input.mouseScrollDelta返回值为-1,0,1(Vector的值),-1表示往下滚,0表示没有滚,1表示往上滚。

2、通过Input(API)获得键盘的操作信息:检测键盘按下某键Input.GetKeyDown(),如下例检验键盘按下的是否是W键:补充:KeyCode枚举类中提供了键盘上所有键的枚举值,检测键盘抬起某键nput.GetKeyUp(),如下例检验键盘抬起的是否是W键:检测键盘长按某键Input.GetKeyUp(),如下例检验键盘长按的是否是W键:。

四、unity鼠标滚轮放不大

方法一:n1、按住“Ctrl”键,同时按“+”号键,即可放大界面;同理,配合“-”减号,可以缩小界面。nn2、当然,也可以自由设置快捷按键。n

方法二:n1、最便捷的方法,是设置滚轮通过鼠标的滚轮控制放大或者缩小。方法如下:【编辑】——【首选项】——【常规】。nn2、勾选【使用滚轮缩放】,再单击确定,保存设置即可。

«    2024年5月    »
12345
6789101112
13141516171819
20212223242526
2728293031