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

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项目源码

时间: 2024-10-13 05:48:23

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

软件构造 第二章 第一节 软件生命周期和版本控制

软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process models (waterfall, incremental, V- model, prototyping, spiral) Agile development and eXtreme Programming (XP) Collaborative software development Software

第二章 第一节 语言基础

1.注释 注释指的是一些描述代码的文字. 我们可以把对代码的各方面描述,都写成代码的注释.注释中经典的内容包括:这段代码是如何工作的.这段代码使用了什么算法.这段代码的执行流程如何,等等.注释不是Java代码的一部分,编译时,编译器会把Java代码翻译成字节码,而注释则会被编译器自动忽略.因此,代码中有没有注释,都不会影响到代码的运行效果. 但是,注释却是编程中必不可少的内容,有良好的注释,能够极大的增强代码的可读性.也就是说,加上注释的代码更容易让人读懂. 如果你是一个初学者,一开始可能意识不

【软件构造】第六章第一节 可维护性的度量与构造原则

第六章第一节 可维护性的度量与构造原则 本章面向另一个质量指标:可维护性--软件发生变化时,是否可以以很小的代价适应变化? 本节是宏观介绍:(1)什么是软件维护:(2)可维护性如何度量:(3)实现高可维护性的设计原则--很抽象. Outline 软件的维护和演化 可维护性的常见度量指标 聚合度与耦合度 面向对象五大原则SOLID 单一职责原则SRP(Single Responsibility Principle) 开放封闭原则OCP(Open-Close Principle) 里式替换原则LSP

Welcome to Swift (苹果官方Swift文档初译与注解二十)---133~139页(第二章..本节完)

Unicode (Unicode码) Unicode是一种国际标准的文本编码.它的标准表中几乎包含所有语言的任意字符,并且可以通过扩展文件或者网页读写这些字符. 在Swift中,String(字符串)类型和Character(字符)类型完全兼容Unicode,而且它们也支持非Unicode码. Unicode Terminology (Unicode 术语) 每个Unicode码都可以用一个或者多个Unicode标量表示.对于一个字符来说,一个Unicode标量都是一个唯一的21位的值(或名称)

【软件构造】第七章第一节 健壮性和正确性的区别

第七章第一节  健壮性和正确性的区别 第七章:进入软件构造最关键的质量特性 --健壮性和正确性. 本节在1-2节的基础上,重申了Robustness and Correctness的重要性,澄清了二者之 间的差异,并指明了在软件构造中处理二 者的典型技术(防御式编程.异常处理. 测试.调试等) Outline 健壮性(Robustness)和正确性(correctness) 如何测量健壮性和正确性 Notes ## 健壮性(Robustness)和正确性(correctness) [健壮性] 定

软件构造 第五章第一节 可复用性的度量、形态和外部观察

第五章第一节  可复用性的度量.形态和外部观察 面向复用编程(programming for reuse):开发出可复用的软件 基于复用编程(programming with reuse):利用已有的可复用软件搭建应用系统 代码复用的类型: 白盒复用:源代码可见,可修改和扩展 含义:复制已有代码到正在开发的系统,进行修改 优点:可订制化程度高 缺点:对其修改增加了软件的复杂度,且需要对其内部充分的了解 黑盒服用:源代码不可见,不能修改 含义:只能通过过API接口来使用,无法修改代码 优点:清晰.

【计算机网络】第一章第一节 计算机网络的基本概念

第一章第一节 计算机网络的基本概念 第一章概述了计算机网络和因特网,这一章从整体上粗线条地勾画出计算机网络的概貌和全课程的框架 Outline 计算机网络的具体构成描述 协议 Notes ## 计算机网路的具体构成描述  [计算机网络的定义] 计算机网络是 通信技术 与 计算机技术 紧密结合的产物 计算机网络就是 互连的.自治的 计算机集合 自治:无主从关系 互连:互联互通 计算机网络就是一种特殊的通信网络(信源和信宿都是计算机.传输数字化信息) [具体构成] 主机:处在因特网的边缘部分的设备都

第一章 第一节 笔记

一, 1.什么是程序? 为了让计算机执行某些操作或解决某些问题而编写的一系列有序指令的集合. 2. Java相关的技术 (3种): Java  SE  标准版   core  java   java技术的核心  (第一学期) Java  EE  企业版   (第二学期) Java  ME 微小版 (现在用的不多) 3.编写程序的步骤 : 三步走 a.编写源程序    HelloWorld.java b.编译成字节码文件  编译命令:javac HeloWorld.java---->HelloWo

c语言第一章第一节 认识变量

声明:本人大一新生,闲着无聊..写写c语言教程..菜鸟一枚..大神勿喷!!! 接下来我们都用dev来进行编译..vc++太古老了,没提示功能,不好上手,并且老是出毛病..vs太大了,编个c不至于,运行太慢..下面是dev的下载链接...无毒放心 http://pan.baidu.com/share/link?shareid=1587509971&uk=4169326073 下面进入正题...认识变量(一般教程都是以hello world开始..我们直接搞事算了) 一.程序设计语言构成基本要素有什

第一章 第一节 理解 .Net Core 项目

先打开我们万能的VS2015,选择新建一个.Net Core项目,空项目就好. 建好之后的项目如下: 首先第一个Properties这个文件是关于本项目的一些设置,有有兴趣的同学可以去深入研究一下,本节就不在具体描述. 然后就是wwwroot文件夹,展开之后如下: 是用来存放项目需要用到的一些静态的资源,比如css文件.js文件.图片等等的静态文件,都放在这个文件夹.使用的时候url为http://xxx.com/css/xxx.css,而不是http://xxx.com/wwwwroot/cs