Unity3d脚本10:GUI事件类 Event
来源:第三维度
Event类
Event类是一个UnityGUI事件类。 对应于用户的输入事件(按键,鼠标事件),或者是UnityGUI布局或渲染事件。 对于每个事件OnGUI在脚本中被调用;因此OnGUI在每帧中被潜在调用多次。
Event . current对应于OnGUI调用“当前”事件。 参见:GUIScripting Guide
变量
◆var alt : bool // 描述:Alt/Option键被按住?(只读)在windows下,如果Alt键被按下返回真。在Mac下,如果Option键被按下返回真。
◆var button : int // 描述:哪个鼠标键被按下 0表示左键,1表示右键。2表示中键。在EventType . MouseDown ,EventType .MouseUp 事件中使用。
◆var capsLock : bool // 描述:Caps Lock 处于打开状态?(只读)如果Caps Lock为打开返回真。
◆var character : char // 描述:输入的字符 在EventType . KeyDown 事件中使用,注意EventType . KeyUp事件不包含字符,只包含Event . keyCode .参见:Event . keyCode.
◆var command : bool // 描述:Command/Windows键被按住?(只读)在Windows下,如果Windows键被按下返回真。在Mac下,如果Command键被按下返回真。
◆var control : bool // 描述:Control被按下?(只读)如果Control被按下返回真。
◆var delta : Vector2 // 描述:与上次事件相比,鼠标的相对移动。在EventType .MouseMove,EventType .MouseDrag,,EventType .ScrollWheel时间中使用。参见:Event . mousePosition
◆var functionKey : bool // 描述:当前按下的键是功能键?(只读)如果当前按下的键是方向键,翻页键,退格键等等时返回真,如果这个键需要特殊处理才能用与文本编辑时,functionKey为打开。
◆var isKey : bool /// 描述:这个事件是键盘事件?(只读)
◆var isMouse : bool // 描述:这个事件是鼠标事件?(只读)
◆var keyCode : KeyCode // 描述:用于键盘事件的原始键代码在EventType . KeyDown 和 EventType . KeyUp事件中使用;返回匹配物理键盘的KeyCode值,使用这个来处理光标,功能键等等。参见:Event . character 。
◆var mousePosition : Vector2 /// 描述:鼠标位置. 在EventType . MouseMove 和EventType . MouseDrag事件中使用。参见:Event . delta
◆var numeric : bool // 描述:当前按下的数字的键?(只读)使用这个表示区分主&数字键。
◆var shift : bool // 描述:Shift被按下?(只读)如果Shift被按下返回真。
函数
◆function GetTypeForControl ( controlID : int ) : EventType // 描述:为给定的控件ID获取一个过滤的事件类型。
参数controlID 查询的控件ID。从GUIUtilty . GetControlID ( ) 获取。参考 EventType获取可能值的列表。这个函数可以用来实现鼠标锁和键盘焦点。
◆function Use ( ) : void // 描述:使用这个事件。当已经使用了一个事件时调用这个方法。事件类型将被设置为EventType . Used。使其 他GUI元素忽略它。
类变量
◆static var current : Event // 描述:现在被处理的当前事件。
类方法
◆static function KeyboardEvent ( key : string ) : Event // 描述:创建一个键盘事件。
这可用于检查某个键是否被按下。可能带有调整器。key字符串是键的名称(与输入管理器中的相同),可以使用任意数量的调整器前缀:& = Alternate , ^ = Controler, % = Command , # = Shift 例如:&f12 = Alternate +F12., " ^[ 0 ] " = Control +keypad0
function OnGUI ( ) {
GUILayout . Lable ( " Press Enter To Start Game ") ;
if ( Event . current . Equals ( Event . KeyboardEvent ("[enter]")))
Application . LoadLevel ( 1 );
if(Event current Equals(Event KeybordEvent("return") ))
Print( "I said enter ,not return – try the keypad" );
}