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

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>
手把手教你用PlantVillage数据集搭建农作物病害识别模型(Python实战) 本文详细介绍了如何使用PlantVillage数据集和Python构建农作物病害识别模型。从环境准备、数据获取到模型构建、训练与评估,手把手教你实现一个实用的农业AI应用。特别针对PlantVillage数据集的特点,提供了处理类别不平衡、图像预处理和模型优化的实战技巧,帮助开发者快速掌握农作物病害识别技术。 阅读详情

相关推荐

平衡电桥检测高压绝缘电阻的原理

检测绝缘漏电的高压拓扑如下:BMU需要连接BAT+,BAT-和PE线,并测量电池总压(Ubatt)和负母线电压(Un),并计算出正母线电压(Up)。

booksyhay的专栏 1万+

关于游戏引擎PushButton的教程和演示(五)

首先,谈不上教程,我也只是把我喜欢的写给大家而已,我对Flex技术并没有什么深入的理解,只是喜欢。 我对Flash并没有比大家更多的认识(我的朋友都知道,我不过只是做些ASP.NET动态网站和进行些浏览器编程,如ExtJs,jQuery),一个偶然的想法,我打开了FlexBuilder,辗转多个网页,感谢chrome,让我找到了PushButton,以下教程的大部分内容都来自于Mat...

weixin_30920091的博客 196

DoubletFinder实战:如何优化参数提升scRNA-seq双细胞识别准确率?

本文深入探讨了如何通过优化DoubletFinder参数提升scRNA-seq双细胞识别准确率。详细解析了pK和nExp参数的影响机制,提供了系统化的参数优化流程和多样本整合策略,并结合真实数据集演示了验证方法与高级应用场景,帮助研究人员获得更可靠的分析结果。

weixin_28523493的博客 340

关于游戏引擎PushButton的教程和演示(三)

首先,谈不上教程,我也只是把我喜欢的写给大家而已,我对Flex技术并没有什么深入的理解,只是喜欢。 我对Flash并没有比大家更多的认识(我的朋友都知道,我不过只是做些ASP.NET动态网站和进行些浏览器编程,如ExtJs,jQuery),一个偶然的想法,我打开了FlexBuilder,辗转多个网页,感谢chrome,让我找到了PushButton,以下教程的大部分内容都来自于Matth...

weixin_30532369的博客 147

Nestjs框架: 集成 Prisma

NestJS官方文档提供了两种数据库相关的内容:Techniques下的数据库板块和Recipes下的具体数据库集成方案。本文以Prisma为例,演示了如何集成Prisma到NestJS项目中。首先创建NestJS项目并安装Prisma,配置MySQL数据库连接。通过Prisma CLI初始化项目、定义数据模型并生成迁移文件。接着创建Prisma模块和服务,配置Prisma客户端连接数据库。最后在控制器中注入PrismaService实现数据查询。整个过程包含了Docker启动MySQL、Prisma模型定

Wang的专栏 1296

PCB数据集

整理了一部分PCB数据集

m0_57996537的博客 3867

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

InputMap Key 名 以下是使用在InputMap class中的键,每个键盘的标签做为InputKey class 的常量名,也在XML定义的InputMap使用。 Navigation Keys PAGE_UPThe page up key. PAGE_DOWNThe page down key. ENDThe end key. HOMEThe home k...

深未来技术 273

STM32 IAP+APP合并Hex文件全自动脚本(Keil5一键生成)

本文详细介绍了一种基于Keil5开发环境的STM32 IAP与APP程序Hex文件全自动合并方案。通过编写批处理或Python脚本,并将其集成到Keil的编译后流程中,实现一键编译、自动合并,彻底解决手动操作繁琐易错的问题,极大提升STM32固件开发与远程升级的效率。

weixin_29191761的博客 307

【Unity知识速递】第7期 Unity 6.6 深度解析:WebGPU 正式版与 WebAssembly64,Web 游戏的内存革命

如何启用 Wasm64?需要注意的是,Wasm64 需要浏览器支持 Memory64 提案,目前主流浏览器的最新版本都已支持。一句话总结: Unity 6.6 用 WebGPU 转正、Wasm64 16GB 内存和渐进式加载三连击,将 Web 游戏的体验天花板又往上推了一大截——Web 平台不再是"妥协版",正在成为真正的一等公民。Unity 6.6 新增了 WebAssembly64(Wasm64) 构建选项,这可能是本次更新中对 Web 游戏开发者影响最大的一项升级。

crystal_WJT的博客 438

Pydoll浏览器自动化框架教程

让浏览器自动化回归本质。不再纠缠驱动兼容、不再手动处理验证码、不再因为请求和 UI 分裂而头疼。如果你经常做 Web 自动化、爬虫或者测试,不妨试试 Pydoll。也别忘了给项目点个 ⭐,让作者知道有人喜欢这个工具。👉GitHub 地址。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 204

使用 WSL 在 Windows 上安装 Linux

开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。

隔壁老瓦的专栏 2872

游戏录屏怎么选画质和帧率?先看动态画面需求

录制时注意帧率与画质的平衡,根据内容选择合适设置,兼顾细节与连贯性。

xiangrikui2016的博客 298

Langchain cannot connect with Azure SQL Database

Langchain 无法连接到 Azure SQL 数据库

suiusoar 633

设计模式(unity游戏研发版)

当你使用图形用户界面类时通常会遇到一个问题。比如,你创建了自定义按钮类并允许客户端在按钮中注入自定义代码,这样当用户按下按钮时就会触发这些代码。观察者模式允许任何实现了订阅者接口的对象订阅发布者对象的事件通知。你可在按钮中添加订阅机制,允许客户端通过自定义订阅类注入自定义代码。在Unity中,这就像UnityEvent在Inspector中绑定多个回调。

m0_63330263的博客 120

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Claude Fable 5.2 登顶:65 分、单发做游戏,和一份 $26.54 一单的账单

Anthropic 发布 Claude Fable 5.2:AA 智能指数 65 分登顶历史第一,但性能 #71、成本 #73、冗余度 #72——最强能力、最贵成本、最慢速度的矛盾体。同底层 Mythos 5.2 无护栏反而更强。文章拆解:65 分构成、官方实战验收、基准提升真伪、一条提示词一晚做出街机游戏的完整流水线(自写机器人跑完 12 关自检)、$26.54 账单与 98% 缓存折扣下的真实成本重估。

johnsong2009的博客 292

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Unity 数据存储指南:本地存储、个性化设置、缓存与 Resources/StreamingAssets 的区别

在 Unity 开发中,“数据存到哪里”、“缓存能不能清”、“打包后资源有什么区别” 是新手最容易混淆、老手也经常踩坑的问题。Unity 本地存储机制(包括 Unity 放在 C 盘的内容);Unity 个性化设置(编辑器首选项 Editor Preferences);Unity 缓存的打开、关闭与清理;打包后 Resources 与 StreamingAssets 的区别;其他可自定义存储的内容汇总。为方便理解,本文配有一个可直接运行的演示工程,所有代码见文末"配套工程说明"。

zhchyun 242

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

用 AI 在 Unity 里做一款 RTS:最难的不是生成代码,而是证明它真的能玩

git@github.com:zoucdr/unity-skilled-mcp.git

邹杭特的博客 278

HarmonyOS 游戏与图形渲染入门:Canvas、渲染管线与掉帧排查

本文详解鸿蒙图形渲染选型与优化,指出多数“游戏感”需求仅需Canvas+requestAnimationFrame即可实现。通过deltaTime保证跨设备流畅性,优先使用animateTo声明式动画,避免逐帧绘制开销。强调性能优化应从主线程长任务、过度绘制、对象分配入手,结合Profiler排查掉帧。XComponent适用于高负载场景,但需权衡开发成本。最后提醒引擎迁移三要点:性能模型差异、打包流程匹配、版本兼容。核心结论:先用简单方案验证,再决定是否上引擎。

信息安全领域优质创作者|操作系统领域专家 444

【转战智能眼镜开发】ROKID AIUI 小游戏 亚马逊标枪项目实战讲解

《亚马逊标枪》要解决的问题可以一句话概括:**在没有摇杆、没有扳机、视野又必须留给真实世界的眼镜设备上,怎样把"我要用多大劲、往哪投"这种连续的模拟意图,变成不占视野、不需要学习、并且能被物理规则如实反馈的动作。** 目标用户是想在眼镜上玩一点轻量运动/竞技、并且愿意用身体而不是手指来操作的人。整个应用跑在本地:不需要账号、不依赖网络、没有任何联网权限,弹道、命中、音效、存档全部在设备内完成。

孙琛斌的专栏 291

王者荣耀主页效果图制作教程:游戏模板四步出图

本文介绍使用装样大师"游戏模板"功能制作王者荣耀等游戏主页效果图的完整流程,四步完成制作与保存。工具为手机端图片生成,不涉及账号登录与真实数据修改,适合内容创作素材与娱乐场景。

2601_96701324的博客 388

Windows远程桌面实现之二十:实现 moonlight 游戏串流协议之(一)

本文介绍在xdisp_virt中集成Moonlight游戏串流协议的实现过程。基于开源项目Sunshine逆向的GameStream协议,作者从零研究并自研实现Moonlight服务端网络通信部分,涵盖mDNS设备发现、nvhttp/nvhttps加密通信、nvrtsp协议交互及三类UDP数据通道(视频、音频、控制)。重点解决多客户端并发问题,采用串行处理机制确保连接一致性。通过自定义证书验证与密钥管理,完成配对与安全通信,最终实现低延迟、高性能的游戏串流体验,显著优于WebRTC浏览器方案。

fanxiushu的专栏 173

软件打不开或游戏闪退,怎样排查DLL和运行环境异常?

文章总结:遇到软件或游戏问题,检查DLL、DirectX、运行库和.NET Framework,使用工具扫描并处理异常,逐步排查故障。

xiangrikui2016的博客 160

mark 黑塞《玻璃球游戏》

【最近在读黑塞的《玻璃球游戏》-“ai预言“ - 优快云 App】

2502_94306440的博客 195

《基于Spring Boot的迷游哈游戏综合服务平台的开发》

本文设计并实现了一款基于SpringBoot的“迷游哈”游戏综合服务平台,解决玩家攻略分享与二手交易分散、信息杂乱、交易无保障等问题。系统采用B/S架构,支持普通用户、服务人员、管理员三类角色,具备攻略投稿审核、商品交易闭环、余额充值提现、在线客服与投诉工单处理等核心功能,实现内容共建、资金流转、售后保障等多维度业务闭环。技术栈主流(Java+Vue3+MySQL),模块清晰,开发难度适中,覆盖后端开发、数据库设计等核心知识点,兼具实用性与教学价值,适合作为本科毕业设计选题。

402

Cocos Creator3.8.8 + Xcode27.2 编译运行失败

Cocos Creator3.8构建IOS工程后,使用最新的Xcode27.2版本进行真机调试,遇到C++标准库冲突,如is_floating_point、is_arithmetic和is_signed失败,以及webp对齐失败等问题。

HYNN12的博客 464

Unity 相机围绕物体旋转(可打印相机视角和设置相机视角)

该代码用于相机围绕物体旋转,并且可以恢复初始状态,以及打印相机视角和设置相机视角。

qq_37524903的博客 35
上一篇: 神奇的Perl-哈希和数组(7)
下一篇: flex游戏引擎(PushButton)-控制输入(2)
deepfuture
博客等级 码龄17年 211粉丝 1287原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值