文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>flex游戏引擎(PushButton)-控制输入(1)

flex游戏引擎(PushButton)-控制输入(1)

时间:2010-07-18  来源:deepfuture

InputManager可以完成一些简单的控制,但是当你要完成较复杂的控制时应使用InputMap,虽然InputManager使用较简单如下:

1.if(InputManager.isKeyDown(InputKey.UP)) 2.   moveItemUp();

 

当你有第三方设备输入(比如手柄等),当你要控制键盘和鼠标,你可以采用一种一致的方式去处理它们,这种方式就是使用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.      // Normally you would update your position based on this; for simplicity 21.      // we just print the direction we are being indicated to move. 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.         <!-- These correspond to the calls to AddBinding above. --> 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.         <!-- These correspond to the calls to AddBinding above.  Only GoLeft needs to be bound because MOUSE_X gives negative as well as positive results. --> 5.         <GoLeft>MOUSE_X</GoLeft> 6.      </Input> 7.   </component> 8.</entity>
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载