游戏制作之路(18)隐藏游戏里的鼠标

栏目: 后端 · 发布时间: 8年前

内容简介:前面介绍使用子弹来杀伤怪物,但是总是有一个鼠标在界面里显示,这样感觉起来非常不舒服,因为你玩别人的游戏时,发现这个鼠标没有显示的,并且不小心点了别的窗口,也会失去焦点。因此,下面就来解决这个问题。先按下图来创建一个脚本,把脚本的名称叫做:MouseLock,然后命名如下图:

前面介绍使用子弹来杀伤怪物,但是总是有一个鼠标在界面里显示,这样感觉起来非常不舒服,因为你玩别人的游戏时,发现这个鼠标没有显示的,并且不小心点了别的窗口,也会失去焦点。因此,下面就来解决这个问题。先按下图来创建一个脚本,把脚本的名称叫做:MouseLock,

游戏制作之路(18)隐藏游戏里的鼠标

然后命名如下图:

游戏制作之路(18)隐藏游戏里的鼠标

这样就往Scene里添加一个脚本,然后修改Update方法,在里面添加下面的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MouseLock : MonoBehaviour {

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        if (Input.GetButtonDown("Fire1"))
        {
            Cursor.lockState = CursorLockMode.Locked;
            Cursor.visible = false;
        }

        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Cursor.lockState = CursorLockMode.None;
            Cursor.visible = true;
        }
    }
}

脚本代码输入之后,就是创建一个空的游戏对象,以便脚本与场景关联在一起,才可以运行代码,如下图:

游戏制作之路(18)隐藏游戏里的鼠标

这时按play之后,就可以开火,发现鼠标给隐藏了,并且鼠标永远锁定在游戏窗口里了,可以无限地转动,不怕点击到别的窗口了。如果要想把鼠标取消隐藏,只要按下键盘的ESC键,就可以了。

接着下来,我们来看一下代码,

Input.GetButtonDown("Fire1")

这行代码,其实在前面已经使用过,它就是获取开火键,它可以是鼠标左键,也可以是键左ctrl键,也可以是游戏手柄里按键。当你按下鼠标左键时,就会触发这个事件。

接着下来看到这一行:

Cursor.lockState = CursorLockMode.Locked;

Cursor.lockState是表示鼠标是否被锁住,以及它的状态设置。CursorLockMode是一个枚举变量,主要下面三种状态:

None 光标行为不作修改
Locked 锁住光标在游戏窗口中间。
Confined 限制光标在游戏窗口。

接着下来下一行:

Cursor.visible = false;

这一行是设置光标的可见性,设置false为隐藏。

if (Input.GetKeyDown(KeyCode.Escape))

这一行是获取键盘的ESC键是否按下,如果按下就取消鼠标隐藏,如下:

Cursor.lockState = CursorLockMode.None;

Cursor.visible = true;

通过这样的代码设置,就可达到隐藏鼠标,或者显示出来。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Approximation Algorithms

Approximation Algorithms

Vijay V. Vazirani / Springer / 2001-07-02 / USD 54.95

'This book covers the dominant theoretical approaches to the approximate solution of hard combinatorial optimization and enumeration problems. It contains elegant combinatorial theory, useful and inte......一起来看看 《Approximation Algorithms》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具