InputManager可以完成一些简单的控制,但是当你要完成较复杂的控制时应使用InputMap,虽然InputManager使用较简单如下:
1.
if
(InputManager.isKeyDown(InputKey.UP))
当你有第三方设备输入(比如手柄等),当你要控制键盘和鼠标,你可以采用一种一致的方式去处理它们,这种方式就是使用InputMap,提供一个回调函数,一个输入名称,一个数字参数, Digital inputs (buttons) will be called back with 0 or 1 based on if the button is up or down.用0和1表示键盘的 起来和按下,Analog inputs (mouse) will be called back with the change in position of the input.鼠标使用位置参数。
01.
public
class
MyInputHandlingComponent
extends
TickedComponent
02.
{
03.
public
function
get input():InputMap
04.
{
05.
return
_inputMap;
06.
}
07.
08.
public
function
set input(value:InputMap):
void
09.
{
10.
_inputMap = value;
11.
12.
if
(_inputMap !=
null
)
13.
{
14.
_inputMap.addBinding(
"GoLeft"
, _onLeft);
15.
_inputMap.addBinding(
"GoRight"
, onRight);
16.
}
17.
}
18.
public
override
function
onTick(tickRate:Number):
void
19.
{
20.
21.
22.
var
direction:Number = right - left;
23.
Logger.print(
this
,
"I am moving "
+ direction);
24.
}
25.
26.
private
function
onLeft(value:Number):
void
27.
{
28.
left = value;
29.
}
30.
private
function
onRight(value:Number):
void
31.
{
32.
right = value;
33.
}
34.
35.
36.
private
var
_inputMap:InputMap;
37.
private
var
_left:Number = 0;
38.
private
var
_right:Number = 0;
39.
}
level XML做为实体一部分被启动,注意:你定义输入做为level一部分,更易于支持多人在同一个输入设备游戏
01.
<
entity
name
=
"InputHandlingEntity"
>
02.
<
component
class
=
"MyInputHandlingComponent"
name
=
"Input"
/>
03.
<
Input
>
04.
05.
<
GoLeft
>LEFT</
GoLeft
>
06.
<
GoRight
>RIGHT</
GoRight
>
07.
</
Input
>
08.
</
component
>
09.
</
entity
>
鼠标绑定:
1.
<
entity
name
=
"MouseInputHandlingEntity"
>
2.
<
component
class
=
"MyInputHandlingComponent"
name
=
"Input"
/>
3.
<
Input
>
4.
5.
<
GoLeft
>MOUSE_X</
GoLeft
>
6.
</
Input
>
7.
</
component
>
8.
</
entity
>
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Flex游戏引擎PushButton来创建一个简单的键盘控制组件,以实现小球的移动。Flex是一种强大的开源框架,用于构建富互联网应用程序(RIA),而PushButton是其内置的交互式组件之一。...
Flex引擎基于ActionScript 3,这是一种面向对象的编程语言,它是Flash Player和Adobe AIR平台的一部分。通过ActionScript,开发者可以创建丰富的互联网应用和游戏,具有高性能和强大的图形处理能力。 在“简单移动...
《Flex游戏引擎与PushButton组件:实现自动行走的小球》 Flex游戏引擎,作为一个强大的开发工具,为创建互动式、富媒体的应用程序提供了便利。在本文中,我们将专注于使用Flex中的PushButton组件来实现一个自动行走...
3. **Flex游戏引擎(PushButton)--键盘控制组件-移动小球**:讲解了如何响应用户的键盘输入,控制游戏对象如小球的移动,实现了基本的交互功能。 4. **Flex游戏引擎(PushButton)--移动小球变成移动飞机**:展示了...
《Flex游戏引擎——PushButton实现飞机发射子弹》 在游戏开发领域,Flex作为一种基于ActionScript 3.0的开源框架,常被用于构建富互联网应用(RIA),包括各种类型的游戏。本篇将深入探讨如何利用Flex游戏引擎中的...
【PushButton游戏引擎教程与演示详解】 PushButton是一款专为游戏开发设计的游戏引擎,它提供了一种模块化、组件化的编程方式,让开发者可以更灵活地构建游戏。本教程旨在帮助你快速掌握PushButton的基本结构和用法...
而Pushbutton Engine,作为一款强大的Flash游戏开发引擎,为设计师们提供了丰富的游戏组件,让开发者可以更加专注于游戏本身的创新与设计,而非底层技术的实现。 Pushbutton Engine的核心优势在于其对游戏开发流程...
PushButton Engine is a free framework for building Flash games. There are lots of great libraries for Flash game development. PushButton Engine makes it easy to bring those libraries together to build...
一键式语音/停止技能 关于 假设有一个连接到Raspberry Pi的按钮,则会编写此Mycroft技能。 短按该按钮与说出唤醒词相同,然后允许用户说出命令。 长按与发出“停止”命令相同,因此将停止播放任何音频。...
舊帖請至 https://www.ilovematlab.cn/thread-86806-1-4.html 查看 該函數應該已經很完善 如果有出現問題可至下方網址的日誌回報 環境及建構方式: 使用R2010a 所建立的M檔案 無法獨立運行,必須配合gui ...
### Flash2D+3D游戏引擎详解 #### 一、引言 随着技术的发展与进步,游戏行业也在不断地寻求创新与发展。Flash作为一种重要的游戏开发工具,不仅支持2D游戏的制作,同时也能够实现3D效果。本文将详细介绍几种基于...
AS3游戏引擎框架是开发基于ActionScript 3的交互式内容,尤其是游戏的重要工具。...Ffilmation更适合需要精细控制光影和场景布局的游戏,而PushButton Engine则更适合希望快速开发并拥有丰富内置组件的游戏项目。
ui->pushButton->setEnabled(false); myCom->setBaudRate(BAUD9600); myCom->setDataBits(DATA_8); myCom->setParity(PAR_NONE); myCom->setStopBits(STOP_1); myCom->setTimeout(500); connect(myCom,...
pushbutton1_Callback.m
在Qt编程环境中,Pushbutton(按钮)是一种常用的控件,用于触发用户操作。当你点击一个按钮时,通常会执行预定义的动作。然而,有时我们希望按钮不仅触发单一操作,而是弹出一个菜单供用户选择多种操作。这可以通过...
智能家居自动化是指通过集成各种家居设备和系统,利用先进的信息通信技术,实现家庭环境中的各种设备、设施智能化控制和管理,以及各种信息的收集、处理和共享。GIRA PUSHBUTTON SENSOR 4和GIRA TASTSENSOR 4作为...
在MATLAB开发过程中,对文本中的输入值进行控制是一项关键任务,这有助于确保程序的稳定性和数据的准确性。本教程“matlab开发-5编辑文本中的指南材料输入值控制”聚焦于如何在GUI(图形用户界面)中有效地管理用户...
在这个例子中,`showLabel`函数会接收到默认参数 `-1`,但我们可以通过额外的逻辑来处理这种情况。 **方法二:使用元对象系统(Meta-Object System)和`QSignalMapper`** Qt的元对象系统提供了更灵活的方式来传递...
在本文中,我们将深入探讨如何在Linux系统下利用Qt框架来控制ARM开发板上的LED灯和蜂鸣器。Qt是一个跨平台的应用程序开发框架,广泛应用于GUI编程,同时也能用于非图形化的系统交互,比如设备控制。对于硬件控制,Qt...