Unity 基础 - Input 类

任何一款游戏都必须和用户进行交互才行,最常用的就是通过键盘和鼠标进行交互,在 Unity 中想要获取用户的键盘或鼠标的事件的话,就必须使用 Input 类来获取。

打开 Unity ,新建一个空的项目,创建一个 Cube 物体:

创建一个 Cube 物体

然后给这个 Cube 物体添加一个新脚本:

Add Component

New Script

创建完成后,双击打开此脚本,就需要写一些代码了,如果想要获取用户按键或鼠标点击的事件,那就需要使用 Input 类。一般来说 Input 类的方法需要写在 Update() 方法中。

using UnityEngine;
using System.Collections;

public class CubeScript : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    // 获取用户的键盘和鼠标点击事件需要用到 Input 类
    void Update () {
        // 每帧都需要监听用户的事件
        // 在当前这一帧中,如果用户按下了 W 就会返回 true,否则返回 false
        bool keyCodeDown = Input.GetKeyDown (KeyCode.W);
        // 检测键盘按下
        if (keyCodeDown) {
            // print 只能在 MonoBehaviour 的子类中使用,其他情况只能使用 Debug.Log() 输出
            print ("往前走");
        }
        
        if (Input.GetKeyDown (KeyCode.S)) {
            Debug.Log("往后退");
        }
        // 检测键盘弹起
        if (Input.GetKeyUp (KeyCode.Alpha1)) {
            Debug.Log("按下 1 键,弹起");
        }
        //按下鼠标左键
        if (Input.GetMouseButtonDown (0)) {
            print ("按下鼠标左键");
        }
        //按下鼠标右键
        if (Input.GetMouseButtonDown (1)) {
            print ("按下鼠标右键");
        }
        //按下鼠标中键
        if (Input.GetMouseButtonDown (2)) {
            print ("按下鼠标中键");
        }
    }
}

点击运行按钮, 按下 W 之后,如下图输出

按下 W

则说明已经成功的接收到了用户按下键盘的事件。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员的知识天地

高大上的微信小程序中渲染html内容—技术分享

大部分Web应用的富文本内容都是以HTML字符串的形式存储的,通过HTML文档去展示HTML内容自然没有问题。但是,在微信小程序(下文简称为「小程序」)中,应当...

8761
来自专栏HTML5学堂

JavaScript | 选中并获取多行文本框内容的效果

HTML5学堂(码匠):文本操作一直是开发中不可避免的存在,用户选中的文本内容,是否可以进行获取并处理到需要的位置当中?如果可以,这样的操作到底需要使用到哪些方...

4566
来自专栏编程

10个短小却超实用的JavaScript代码段

JavaScript正变得越来越流行,它已经成为前端开发的第一选择,并且利用基于JavaScript语言的NodeJS,我们也可以开发出高性能的后端服务,甚至我...

2028
来自专栏快乐八哥

CSS3制作心形头像

1.功能需求: 最近有一个基于微信开发的Mobile Web项目,是一个活动页面。功能需求:用户使用微信扫描二维码,然后授权使用微信登录,然后读取用户的昵称和头...

27410
来自专栏Python绿色通道

Python爬虫:现学现用xpath爬取豆瓣音乐

爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能

2183
来自专栏深度学习自然语言处理

爬虫基础入门

为什么要学习爬虫 其实我们身边到处都是爬虫的产物,比如我们经常用的Google,百度,bing等,这些搜索引擎就是根据你的需求在网上爬去相关的网页;比如...

3778
来自专栏腾讯IVWEB团队的专栏

React V16 给我们带来了那些东西 ?

在如今越来越复杂的前端环境下,往往可能需要加载且渲染大量的 DOM 节点,那么在渲染的过程中,即使我们使用了 React virtualDom 进行维护,但是,...

6000
来自专栏跟着阿笨一起玩NET

编写更好的jQuery代码

现在已经有很多文章讨论jQuery和JavaScript的性能问题,然而,在这篇文章中我计划总结一些提升速度的技巧和一些我自己的建议来改善你的jQuery和Ja...

632
来自专栏大学生计算机视觉学习DeepLearning

2018最新mfc作为上位机接收硬件端USB或串口数据显示成图片 解决串口接收数据丢字节丢包问题

第一步:首先建立一个MFC工程,成功后会跳出一个对话框,直接在对话框上点击右键-》点击插入ACTIVAE控件-》选择MicrosoftCommunication...

6332
来自专栏程序员的知识天地

web前端开发规范总结

Web前端作为开发团队中不可或缺的一部分,需要按照相关规定进行合理编写(一部分不良习惯可能给自己和他人造成不必要的麻烦)。不同公司不同团队具有不同的规范和文档。...

3592

扫码关注云+社区

领取腾讯云代金券