这篇博客源自我在泰课在线的回答。链接:http://www.taikr.com/group/1/thread/248

问:NGUI怎么模拟用代码模拟控制点击

答:

1. 这个问题问得好。因为在使用按键或摇杆控制时,会遇到这个问题。

  2. 先上代码:

  

 using UnityEngine;
using System.Collections; public class KeyBoardControl : MonoBehaviour
{
private UIButton uiButton;
void Start()
{
uiButton = GetComponent<UIButton>();
} void Update()
{
if (Input.GetKey(KeyCode.T))
{
uiButton.SetState(UIButtonColor.State.Pressed, false);
}
else
{
uiButton.SetState(UIButtonColor.State.Normal, false);
}
}
}
   3. 操作:

  将代码挂载到物体上,确保物体上有UIButton和碰撞器组件。

  4. 讲解:

  4.1 最重要的是UIButton的这个方法 public override void SetState (State state, bool immediate)。第一个参数state是要设置的状态,第二个参数immediate指是否立即转变状态。设为false的话,会有渐变的效果。

  4.2 在使用鼠标控制的时候,按下鼠标左键不放,状态切换为UIButtonColor.State.Pressed,松开鼠标左键,状态切换为UIButtonColor.State.Normal。

  4.3 为了模拟鼠标左键的按下与松开,可以再某一个键按下不放时将状态设置为UIButtonColor.State.Pressed,按键松开时将状态设置为UIButtonColor.State.Normal。

Unity问答——NGUI怎么使用按键模拟鼠标点击?的更多相关文章

  1. 使用JS或jQuery模拟鼠标点击a标签事件代码

    原文 使用JS或jQuery模拟鼠标点击a标签事件代码 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下 <a id="alink" ...

  2. jquery 动态绑定bind()及模拟鼠标点击A链接

    近来自觉前端有小小进步,幸而记之. 1.两个 css class 紧挨在一起 则在html元素中,要同时拥有这两个class,才能起作用 .block.db{ background-image:url ...

  3. MFC模拟鼠标点击

    MFC 工程 把以下代码放到你想要响应的函数里面就行 CPoint pt; GetCursorPos(&pt);//获取鼠标在屏幕的当前位置 SetCursorPos(100,200);//移 ...

  4. sendmessage()模拟鼠标点击

    {鼠标软模拟:好处就是不会真的移动鼠标 开始按钮 坐标 x=386y=387 }sendmessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,$0180017A); ...

  5. 使用JS或jQuery模拟鼠标点击a标签事件

    <a id="alink" href="abc.aspx"  style="visibility: hidden;">下一步&l ...

  6. 使用jQuery模拟鼠标点击a标签事件

    来源于:https://mo2g.com/view/42/ <html> <head> <meta charset="UTF-8"> <t ...

  7. c# 在WebBrowser中用SendMessage模拟鼠标点击

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. 利用JS最真实的模拟鼠标点击

    为了破解永乐票务登录验证码问题 http://www.228.com.cn/auth/login?logout 当然,打码的过程自然依赖第三方平台,但问题是,哪怕平台给了你需要点击的(相对)坐标.你又 ...

  9. (转载)Unity UGUI鼠标点击UI不受影响方法IsPointerOverGameObject

    这几天在做捕鱼达人游戏时发现,当鼠标点击UI时,炮台的子弹也会发射子弹,这样会影响用户体验. 然后网上百度了一波,发现在UGUI系统上,EventSystem提供了一些方法.那就是EventSyste ...

随机推荐

  1. python 写的http后台弱口令爆破工具

    今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  2. HTML5 File api 实现断点续传

    目前市场上大多数的网站的断点上传都是需要安装浏览器插件的,本文就针对高级浏览器的环境下,通过HTML5 File api实现断点上传进行说明 一.实现文件多选 HTML5的<input>新 ...

  3. Android之打开闪光灯关键代码

    在AndroidManifest中注册相应的权限: <uses-permission android:name="android.permission.FLASHLIGHT" ...

  4. Delphi TWebBrowser

    Delphi WebBrowser控件的使用 WebBrowser控件属性:1.Application      如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDis ...

  5. golang 学习笔记

    golan 声明的变量必须要用到? 语法 a,b:=2323; b为 bool 类型 结构体的赋值 需要用到逗号分隔字段 并且最后一个字段后也必须加上逗号 这和 JavaScript 的对象不一样哦 ...

  6. QSplashScreen类实现Qt程序启动画面

      QSplashScreen类实现Qt程序启动画面 收藏人:zwsj     2013-09-13 | 阅:569  转:6    |   来源   |  分享               程序启动 ...

  7. mysql 安装配置详解

    作为演示,是不可能完全模拟到生产环境的,因此不可能尽善尽美.由于是在virtualbox里面的centos6.5最小化安装版中安装配置mysql,因此前期的准备工作有很多,那么开始吧.添加一块硬盘,用 ...

  8. Linux yum命令重装mysql

    如果是 rpm 安装的话,可以用 rpm -e mysql-server 如果是yum安装的,可以用 yum remove mysql* 删除MySQL安装文件夹 然后使用yum安装mysql: 1. ...

  9. ecshop了解01

    ecshop 是一个基于b2c的开源商城系统,从现在起来我也来学习一下,它是基于面向对象的,当然里面也有类. ecshop 的目录介绍 上面简单介绍一个ecshop的几个主要的文件,上面已经截图给大家 ...

  10. C#开发基于Http的LaTeX数学公式转换器

    本文将讲解如何通过codecogs.com和Google.com提供的API接口来将LaTeX数学函数表达式转化为图片形式.具体思路如下: (1)通过TextBox获取用户输入的LaTeX数学表达式, ...