【v2.x OGE-example 第二章(第一节) 精灵的移动】

从零自制安卓自律APP:一套可落地的熬夜管控完整方案 移动应用开发中,针对用户行为进行时间管控已成为工具类APP的重要方向。其核心原理通过UsageStatsManager与前台服务实现应用使用监测与后台保活,搭配SYSTEM_ALERT_WINDOW权限构建系统级拦截界面。这类技术不仅可应用于数字健康管理,还能帮助用户解决深夜刷手机导致的作息失控问题。文章从需求分析、功能设计到技术选型、开发排期,系统拆解一款安卓自律APP的立项过程,重点分享睡前锁、临时解锁、使用统计与睡眠账单等模块的落地思路,并针对权限合规、防卸载策略、闹钟冲突等常见坑点给出工程实践建议。 阅读详情


1. 位置:Modifier_example --> MovingBall
2. 类名:MovingBall

 

 

(1).精灵的移动我们可以在每次刷新的时候更新精灵的X, Y位置来达到移动的效果,下面我们用PhysicsHandler 事件来移动一个笑脸精灵,通过更改PhysicsHandler 事件的X, Y速率使精灵动起来。

 

/**
  * 定义一个Ball精灵
  * @author lin
  *
  */
private static class Ball extends AnimatedSprite {
  /**移动处理事件*/
  private final PhysicsHandler mPhysicsHandler;//一个自动更新实体位置的IUpdateHandler逻辑事务
  
  public Ball(final float pX, final float pY, String pTextureRegion, final VertexBufferObjectManager pVertexBufferObjectManager) {
   super(pX, pY, pTextureRegion, pVertexBufferObjectManager);
   this.mPhysicsHandler = new PhysicsHandler(this);//实例化事件
   this.registerUpdateHandler(this.mPhysicsHandler);//注册事件,注册后才会被执行
   this.mPhysicsHandler.setVelocity(DEMO_VELOCITY, DEMO_VELOCITY);//设置X, Y速率
  }

  //控制精灵永远在屏幕内移动,不会超出屏幕外
  @Override
  protected void onManagedUpdate(final float pSecondsElapsed) {
   if(this.mX < 0) {//ball 精灵x坐标小于0时
    this.mPhysicsHandler.setVelocityX(DEMO_VELOCITY);//设置x速率为正,即往右移动
   } else if(this.mX + this.getWidth() >= SCENE_WIDTH) {//ball 精灵x坐标大于屏幕右边时,即快移出屏幕右边
    this.mPhysicsHandler.setVelocityX(-DEMO_VELOCITY);//设置x速率为负,即往左移动
   }

   if(this.mY < 0) {//ball 精灵y坐标小于0时
    this.mPhysicsHandler.setVelocityY(DEMO_VELOCITY);//设置y速率为正,即往下移动
   } else if(this.mY + this.getHeight() >= SCENE_HEIGHT) {//ball 精灵y坐标大于屏幕下边时
    this.mPhysicsHandler.setVelocityY(-DEMO_VELOCITY);//设置y速率为负,即往上移动
   }

   super.onManagedUpdate(pSecondsElapsed);//执行父类的方法
  }
}

 

 

OGE_Example项目源码

 

简单盘点游戏开发引擎 无论是2D游戏还是3D游戏,游戏引擎都充当着游戏骨架的角色,没有游戏引擎就无法做出一款真正的游戏,通过游戏引擎制作者可以把画面、剧情、关卡、操作等元素拼接在一起,成为一款完整的游戏,同时赋予制作者实现其设计理想的可能性。   游戏引擎的功能丰富程度、画面表现力与拓展性,对于游戏的最终品质有很大的影响,于是商业引擎便开始崭露头角,Unity3D、Cocos2d、UDK, libgdx、OGEngi 阅读详情

相关推荐

【v2.x OGE教程 16】 Modifier使用相关

OGE引擎的修改器功能很强大,为我们提供了丰富的修改器的实现类,可以修改实体的属性,提供了移动、旋转、缩放、透明、自定义序列、同步、循环等功能,而且改变的效果可以当场生效,也可以在某一个时间段内生效并且可以提供一些缓动函数达到更加丰富的效果。   一、Modifier创建 使用实例: IEntity ball=new Sprite(0,0,ballRegion,this.g

OrangeGame的专栏 2889

cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)。

ufolr原创,转载请注明: 转载自ufolr的博客 原文连接:http://blog.csdn.net/ufolr/article/details/7447773         在cocos2d中,系统提供了CCMove、CCJump、CCBezier(贝塞尔曲线)等让精灵移动的action,但是有时候,为了让程序看上不不是那么的呆板,或者为了实现某些特定的功能,我们需

kyfvc的专栏 3670

【v2.x OGE教程 12】 关卡编辑器帮助文档

【v2.x OGE教程 12】 关卡编辑器帮助文档 一、简介 关卡编辑器用于游戏关卡界面元素的可视化编辑,包括元素的位置、尺寸以及其它自定义属性。通过解析生成的数据文件即可获取关卡信息,并能随时调整,以减少开发工作量,提高开发效率。 二、界面 主界面 图01_主界面           1) 画布 ① 简介 画布用于关卡元素的预览,并提供元素选择和坐标设置等功能

OrangeGame的专栏 2701

【v2.x OGE-example 第二章(第二节) 修改器的使用】

1. 位置:Modifier_example --> Modifier 2. 类名:Modifier     (1).使用modifier 可以做出一些精灵的特效,旋转,倾斜,透明,放大,缩小等等。常用的modifier如下, . AlphaModifier 透明度修改器 . ColorModifier 颜色修改器 . CubicBezierCurveMoveModifier 三次方

OrangeGame的专栏 1169

【v2.x OGE教程 11】 动画编辑器帮助文档

【v2.x OGE教程 11】 动画编辑器帮助文档 版本 日期 作者 说明 1.0 2014-9-3 橙子游戏 文档创建       一、简介 动画编辑器用于游戏动画的可视化编辑,支持序列帧动画和关键帧动画。通过解析生成的数据文件即可获取动画信

OrangeGame的专栏 2425

【v2.x OGE教程 13】 Scene场景使用

【v2.x OGE教程 13】 Scene场景使用 一、场景介绍 OGE开源引擎中,场景(Scene)是用于展示游戏画面的,装载各种精灵、按钮、文字等,例如开始场景需要装载一个游戏标题、开始游戏按钮、背景等   二、Scene场景创建   创建一个类,让其继承Scene类或者Scene的子类,ISceneLauncher的接口定义了一系列对Scene的使用规范   三、Scene

OrangeGame的专栏 1420

橙子引擎CEO尚韬:Home Internet开启,TV游戏迎来革命

2014智能电视游戏品牌峰会于12月26日在深圳科技园顺利举行。这次会议是智能电视游戏行业发展的行业盛会,对于智能电视游戏未来方向有着导向作用。本次会议橙子引擎联合了众多明星游戏开发商,携多款全新交互精品TV游戏现场演示,上演最强TV游戏产品路演秀!本次会议汇聚了大部分游戏渠道、游戏开发商、以及投资机构参与,精彩的游戏演示得到了在座的观众一致好评和期待。橙子引擎CEO尚韬,在峰会上做了主题为“Ho

OrangeGame的专栏 2168

cadence CIS 库建立--建立自己维护的CIS数据库

遇到一个问题,在使用cadecnce的时候,就是没有自己的本地/分享的数据库。 在画原理图或者PCB的时候,如果能搭建一个自己的数据库,在局域网或者本地 就好了。出于这样的想法,做了一些探索,找到了一种可能的答案。 由于数据库编制知识的缺乏,要自己建一个数据库似乎花费的时间会比较多。 偶发奇想,如果能够改编CIS 自带的数据库 另建立副本进行维护 就能够省下不少麻烦。 先说下CIS 是个啥。网上一搜:总之CIS 是个好东西。 功能强大。 点击CIS capture 中的 Options CIS Config

qq_29776365的博客 2万+

OGEngine教程:字体工具使用

1.打开 BitmapFont tool,在红框中输入你要显示的字。 2.写完后保存字体文件 保存后可以得到一个.fnt  和  一个.png 文件 3.使用 TexturePacker 工具将bitmapFont.png转换pvr格式通过Add Sprites把 bitmapFont.png导入,填写好相关文件保存位置和名字。 注意下面红框部分的参数设置,跟下面的截图

OrangeGame的专栏 1945

Python RK3588 MPP 8路视频硬解码!全体目光向我看齐!

本文重写了官方demo、加入了Zlmediakit进行拉流并通过pybind11将代码封装成so库,现在,在python中直接通过import的方式,就能完成基础的拉流解码操作,目前支持8路拉流解码!!!

m0_46303486的博客 4878

从0到1做AI漫剧:即梦+豆包+剪映+红果全流程实战

AI视频生成正在重塑内容创作的生产方式,它让原本高门槛的影视制作,变成了一条由文本、画面、剪辑与分发环节协同的流水线。理解其底层原理,在于将大模型的语义理解、图像生成与视频合成能力,与工程化的流程管理相结合,从而实现从创意到成片的自动化输出。这种技术的价值,不仅体现在降低制作成本,更在于让个人创作者能够独立完成高质量短剧,并快速迭代内容。在短剧、短视频、广告营销等场景中,利用即梦生成画面、豆包编写剧本、剪映完成剪辑、红果进行分发的组合,已成为一种被广泛验证的实践路径。本文聚焦AI漫剧制作,从环境准备、分镜设

weixin_34072637的博客 380

橙子引擎携多款精品TV游戏诚意呈献 2014智能电视游戏品牌峰会

橙子引擎携多款精品TV游戏诚意呈献 2014智能电视游戏品牌峰会   活动时间:2014.12.26  14:00—17:00 活动地点:深圳南山科技园科兴科学园会议中心8号厅 主办单位:橙子引擎 协办单位:网势网络、浩动游戏   活动介绍: 智能电视游戏行业前景光明,但是也存在一些问题:游戏内容不够吸引人,大型游戏画面感粗糙,玩家无法更好的体验游戏带给他们的乐趣。 智能电视

OrangeGame的专栏 1938

【深度学习新浪潮】OpenClaw技术架构详解:从核心组件到生产级优化

OpenClaw 以三层解耦架构 + 四大核心模块为基础,实现了本地优先、易部署、易扩展、易优化的 AI 智能体平台。开发者可通过极简部署快速落地,再通过量化、缓存、并发、分布式等手段持续优化性能,适合从个人助理到企业级自动化的全场景应用。

专注:太空算力、AI infra、异构调度、大模型成本工程 2920

橙子引擎CEO尚韬:蓝海破冰,重新定义TV游戏

橙子引擎CEO尚韬:蓝海破冰,重新定义TV游戏   2014智能电视游戏峰会于11月29日在深圳南山科技园召开。这次是智能电视游戏未来发展的行业盛会,是加速智能电视游戏发展的蓝海破冰之旅。本次会议业内巨头云集,精英汇聚,从引擎技术到电视游戏分发,共探讨电视游戏的发展。橙子引擎CEO尚韬,在峰会上做了主题为“蓝海破冰,橙子引擎重新定义TV游戏”的主题演讲。 黑暗中摸索前进的智能电视 据数

OrangeGame的专栏 1932

C#上位机+TensorFlow Lite 轻量化AI模型部署实战(工业级完整版,低算力工控机首选)

工业自动化轻量化AI部署指南:C# + TensorFlow Lite实战 摘要:本文针对工业自动化领域机器视觉部署的痛点,提出基于C#和TensorFlow Lite(TFLite)的轻量化解决方案。该方案完美适配低算力工控环境(J1900/2G内存),具有以下核心优势:1)极致轻量化,模型体积仅KB-MB级;2)CPU深度优化,单帧推理≤15ms;3)零环境依赖,纯C#部署;4)工业级稳定性,7×24小时运行。教程涵盖从环境搭建、模型转换到C#封装的完整流程,特别提供YOLOv8等工业常用模型的TFLi

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1030

【OpenClaw企业级智能体实战】第13篇:1+N架构实战!OpenClaw多Agent数字员工军团搭建指南(含完整配置+路由策略+代码落地)

单Agent因“记忆负担重、Token消耗高、响应不精准”已难以满足复杂场景需求,而多Agent团队通过“1个编排者+N个执行者”的分工协作模式,能让效率提升300%以上。本文基于OpenClaw 2026稳定版,结合阿里云开发者社区实战案例,从核心认知、准备工作、实操流程、协作机制、安全配置五大维度,完整拆解多Agent团队搭建全流程。文中包含可直接复制执行的代码、详细配置模板、路由策略设置及常见问题排查,新手可在1-2小时内落地属于自己的“数字员工”军团,覆盖内容创作、技术支持、多平台运营等多场景。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 745

智能电视游戏品牌峰会顺利召开,多款精品TV游戏发布

12.26,在大家还沉浸在欢乐的圣诞氛围中时,智能电视游戏行业内颇具影响力的会议已经在深圳召开。由橙子引擎(OGEngine)主办的《2014智能电视游戏品牌峰会——精品TV游戏产品发布会》在深圳南山科技园顺利举办,本次会议汇聚了众多明星游戏CP和游戏渠道等业内巨头,更是得到了业内众多媒体的支持。        纵观整个智能电视游戏行业的发展趋势,我们不难发现其中的各种机遇,积极的发展趋势和

OrangeGame的专栏 1742

ABAP CDS SELECT, parameters 全面解析:把参数化视图玩明白(含可运行示例)

这篇技术博客介绍了ABAP CDS中参数化视图的用法与实践。文章从业务需求出发,解释了参数化视图的必要性,并详细说明了语法规则、参数类型匹配、视图内部参数引用等关键点。重点展示了在JOIN和ASSOCIATION中传递参数的写法,提供了航线分析的完整业务案例和可运行代码示例。文章还总结了视图实体与DDIC视图的差异、会话变量使用技巧等实践要点,特别强调了JOIN中必须显式传参的语法要求。通过真实场景演示,帮助开发者掌握参数化CDS的高效应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 362

【v2.x OGE教程 14】 控件使用

下面介绍精灵、动画精灵、按钮精灵、文本的常用使用方法   一、精灵相关   1.添加精灵 //创建精灵 Sprite bar_up = new Sprite(400, 0, RegionRes.getRegion(Res.BAR_UP),    getVertexBufferObjectManager()); //将精灵添加至BaseEntityGroup或其子类(如:Scene、L

OrangeGame的专栏 1618

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

OGEngine教程: 图片资源加载及工具使用

下面给大家讲下关于图片资源从下载到使用的一个流程 说明 TexturePacker这个词从字面来说就是Texture(纹理) + Packer(打包)。将材质打包成大图,将小图通过算法合并成大图,减少了io的读取,同时占用了更少的内存空间。并且代码里也更容易管理这些材质。 下载 官网:http://www.codeandweb.com/texturepacker 使用 安装完毕,现在我

OrangeGame的专栏 1512

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android安卓游戏引擎大搜罗

1.AndEngine 简介: AndEngine基于libGDX框架开发,使用OpenGL ES进行图形绘制。同时继承了BOX2D物理引擎,因此能实现一些较为复杂的物理效果。在Rokon停止更新以后,AndEngine 成为Android 最为流行的2D游戏引擎 优点: (1)高效:在大运算量好事情况下,使用C/C++本地代码进行开发。比如物理引擎或者音频处理。 (2)AndEngin

OrangeGame的专栏 1432

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OGEngine —— 基于JAVA的手游开发开源引擎

OGEngine是国际著名开源引擎AndEngine的一个分支,遵循LGPL开源协议使用OpenGL ES进行图形绘制。同时集成了Box2D物理引擎,因此可以实现复杂的物理效果。     OGEngine主要使用Java语言开发,但在大运算量的耗时功能时,OGEngine使用了C/C++本地代码进行开发。比如物理引擎及音频处理。作为用户,你只需要关注Java端就可以了,它

OrangeGame的专栏 1379
上一篇: 【v2.x OGE-example 第三节 播放精灵动画】
下一篇: 【v2.x OGE-example 第二章(第二节) 修改器的使用】
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值