AndEngine Example(1):LineExample

fibplus-8.0.0.zip FIBPlus 是一套面向 Delphi / C++Builder 的 Firebird、InterBase 数据库访问组件,特点是直接走原生客户端 API,不经 BDE/ODBC,速度快且可控性强。8.0.0 版本主要适配 Delphi 2009 及以后的版本(Delphi 6–2007 需用 7.9.x),核心组件包括 TpFIBDatabase、TpFIBTransaction、TpFIBDataSet 等,支持精细事务管理、本地缓存、BLOB 处理和备份恢复等数据库服务。该库原为 Devrace 的商业组件,现由社区在 GitHub 的 madorin/fibplus 项目开源维护,建议从官方仓库获取源码而非第三方网盘压缩包。安装时解压后用对应版本的工程组(10.4+ 统一为 `FIB.groupproj`)Build 全部包,再 Install `dclFIB` 并在 Library 路径加入 Source 目录即可。新项目中若需官方技术支持,也可考虑 FireDAC、IBDAC 等更现代的替代方案。 立即下载

目标:

1.使得程序可以正常运行

2.搭建最简单的场景

3.理解Scene,Camera等几个基本的概念

4.理解整个的基本流程


----------------------------------------------------

新建一个Android工程,自动创建Activity,然后为其命名为LineExample。(如果改名了,不要忘记修改Manifest)

将下面的代码复制进去,

然后添加andengine.jar到libs中。

运行。


package org.andengine.examples;

import java.util.Random;

import org.andengine.engine.camera.Camera;
import org.andengine.engine.options.EngineOptions;
import org.andengine.engine.options.ScreenOrientation;
import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.andengine.entity.primitive.Line;
import org.andengine.entity.scene.Scene;
import org.andengine.entity.scene.background.Background;
import org.andengine.entity.util.FPSLogger;
import org.andengine.opengl.vbo.VertexBufferObjectManager;
import org.andengine.ui.activity.SimpleBaseGameActivity;

/**
 * (c) 2010 Nicolas Gramlich 
 * (c) 2011 Zynga Inc.
 * 
 * @author Nicolas Gramlich
 * @since 11:54:51 - 03.04.2010
 */
public class LineExample extends SimpleBaseGameActivity {
	// ===========================================================
	// Constants
	// ===========================================================

	/* Initializing the Random generator produces a comparable result over different versions. */
	private static final long RANDOM_SEED = 1234567890;

	private static final int CAMERA_WIDTH = 720;
	private static final int CAMERA_HEIGHT = 480;

	private static final int LINE_COUNT = 100;

	// ===========================================================
	// Fields
	// ===========================================================

	// ===========================================================
	// Constructors
	// ===========================================================

	// ===========================================================
	// Getter & Setter
	// ===========================================================

	// ===========================================================
	// Methods for/from SuperClass/Interfaces
	// ===========================================================

	@Override
	public EngineOptions onCreateEngineOptions() {
		final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

		return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
	}

	@Override
	public void onCreateResources() {

	}

	@Override
	public Scene onCreateScene() {
		this.mEngine.registerUpdateHandler(new FPSLogger());

		final Scene scene = new Scene();
		scene.setBackground(new Background(0.09804f, 0.6274f, 0.8784f));

		final Random random = new Random(RANDOM_SEED);

		final VertexBufferObjectManager vertexBufferObjectManager = this.getVertexBufferObjectManager();
		for(int i = 0; i < LINE_COUNT; i++) {
			final float x1 = random.nextFloat() * CAMERA_WIDTH;
			final float x2 = random.nextFloat() * CAMERA_WIDTH;
			final float y1 = random.nextFloat() * CAMERA_HEIGHT;
			final float y2 = random.nextFloat() * CAMERA_HEIGHT;
			final float lineWidth = random.nextFloat() * 5;

			final Line line = new Line(x1, y1, x2, y2, lineWidth, vertexBufferObjectManager);

			line.setColor(random.nextFloat(), random.nextFloat(), random.nextFloat());

			scene.attachChild(line);
		}

		return scene;
	}

	// ===========================================================
	// Methods
	// ===========================================================

	// ===========================================================
	// Inner and Anonymous Classes
	// ===========================================================
}



onCreateEngineOptions()将会创建一个EngineOptions 对象

EngineOptions 引擎的参数,创建它的时候,需要给定:屏幕方向,分辨率比率策略,和相机(这个相机是一个抽象的概念,并不是实际的硬件)


onCreateScene() 创建一个场景

这里,我们创建了一个场景,并且往里面加入了实体(Line is a Entity)

           Line extends Shape

           Shape extends Entity 


VertexBufferObjectManager 是一个管理者,它管理这些实体对象的buffer。


--------------------------------------------------------------------------

扩展阅读:绘制是如何进行的?

EngineRenderer implements GLSurfaceView.Renderer

凡是对于OpenGL有一定了解的应该知道

GLSurfaceView.Renderer中有一个回调函数: public void onDrawFrame(final GL10 pGL)

继承类在此回调中调用了

(1) Engine.onDrawFrame

(2) Engine.onUpdateDrawHandlers(pGLState, this.mCamera)

(3) DrawHandlerList.onDraw(final GLState pGLState, final Camera pCamera)

(4) IDrawHandler.onDraw(final GLState pGLState, final Camera pCamera)

(5) interface IEntity extends IDrawHandler

(6) class Entity implements IEntity

(7) Entity.onDraw(final GLState pGLState, final Camera pCamera)

(8) Entity.onManagedDraw(final GLState pGLState, final Camera pCamera) 


基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码 基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码.是标准Maven项目,只依赖springboot,没有hibernate,struts,ibatis,数据库调优可以使用druid输出慢sql,比分析xml中的语句更直观,springrain所有的sql语句都使用Finder封装管理,只要查看Finder的引用即可. 立即下载

相关推荐

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了一种基于Simulink的双闭环PWM整流器采用虚拟同步发电机控制(VOC)策略与空间矢量脉宽调制(SVPWM)技术的仿真模型。该模型在dq同步旋转坐标系下构建电压定向控制系统,实现了电压外环与电流内环的双闭环控制结构,重点阐述了VOC控制原理、SVPWM调制算法的实现方法及其在Simulink环境中的模块化搭建过程。通过该仿真平台,能够有效实现单位功率因数运行、直流母线电压稳定控制以及优异的动态响应性能,适用于电力电子变换器、新能源并网系统及电机驱动等领域的控制策略验证与性能评估。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的高年级本科生、研究生,以及从事电力电子系统仿真、新能源并网控制研究的科研人员和技术工程师。; 使用场景及目标:①深入理解三相PWM整流器在dq坐标系下的数学建模与控制机理;②掌握VOC控制策略的核心思想及其相较于传统矢量控制的优势;③学习SVPWM调制技术的实现流程与Simulink建模技巧;④通过仿真实验验证双闭环控制系统的静态精度与动态稳定性,提升对先进电力电子控制系统的分析与设计能力。; 阅读建议:建议结合电力电子技术、现代控制理论和电机控制相关基础知识进行学习,按照仿真模型的结构逐步分析各功能模块的信号流向与参数配置,重点关注锁相环(PLL)、坐标变换、PI控制器设计及SVPWM模块的实现细节,并可通过调整控制参数观察系统响应变化,以深化对控制策略动态特性的理解。

AndEngine学习笔记(二) LineExample

项目地址:http://code.google.com/p/andengine/     LineExample源码:       package org.anddev.andengine.examples; import java.util.Random; import org.anddev.andengine.engine.Engine; import org.an...

sdfsdafsdgas的博客 177

储能双向Buck-Boost+模型预测电流控制+电压下垂控制仿真【附参考文献】(Simulink仿真实现)

内容概要:本文系统介绍了基于Simulink平台构建的储能双向Buck-Boost变换器仿真模型,融合模型预测电流控制与电压下垂控制策略,面向锂电池储能系统的高效充放电管理。该模型深入实现了双闭环控制架构的设计与动态性能分析,涵盖系统建模、关键控制算法实现及稳定性验证,并配套提供参考文献以支撑理论深度与技术复现性。资源包还整合了多种典型电力电子拓扑的仿真案例,如各类DC-DC变换器、谐振变换器、PWM整流器等,充分体现了其在新能源发电、微电网能量调度及电力系统稳定控制中的广泛应用价值和技术延展性。; 适合人群:适用于电气工程、自动化、电力电子及相关专业的高校研究生、科研人员以及从事能源系统仿真与控制设计的工程技术人员;要求具备一定的Simulink/MATLAB操作能力及电力电子与自动控制基础知识;; 使用场景及目标:①深入理解双向Buck-Boost电路在储能系统中的工作机理与能量双向流动控制方法;②掌握模型预测控制(MPC)与下垂控制在实际电力变换系统中的建模流程与参数整定技巧;③为科研课题、学位论文或工程项目提供高可靠性、可复用的仿真原型与技术参考方案; 阅读建议:建议结合文中列出的参考文献与网盘提供的完整仿真资源,按照目录结构循序渐进地学习各模块案例,重点剖析控制逻辑搭建、调节器设计与系统动态响应特性,通过动手仿真与参数调试深化对控制策略性能与鲁棒性的理解。

Android开发遇到的细节问题(一)

1 为什么按钮XML绑定的点击事件出错,或者无效? 例如: <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button_send" android:layout_width="wrap_content" android:layout_heigh

computer165的专栏 6057

SiC双向车载充电器技术解析与V2G应用

碳化硅(SiC)功率器件凭借其高击穿电场强度、优异热导率和低开关损耗特性,正在重塑电力电子系统的设计边界。作为第三代半导体材料的代表,SiC MOSFET通过降低80%的开关损耗,使车载充电器(OBC)效率突破96.5%。在双向能量转换架构中,图腾柱PFC与CLLC谐振变换器的组合实现了ZVS软开关,配合三维集成散热方案使功率密度达54W/in³。这些技术进步直接支撑了V2G(车辆到电网)应用场景,使电动车成为虚拟电厂(VPP)的关键单元。通过智能充放电策略优化,电池循环寿命可提升至4000次以上,为电力市

weixin_30693683的博客 274

DASH 流媒体协议(Dynamic Adaptive Streaming over HTTP)概述——起源、MPD文件解析、相关项目

简单介绍DASH的起源与发展、MPD文件简要解析、相关项目,以及常见流媒体协议的比较

farewellyi的博客 6884

Smail语法基本知识(一)

Smali 背景:  Smali,是指安卓系统里的 Java 虚拟机(Dalvik)所使用的一种.dex 格式文件的汇编器。  Baksmali 则是反汇编器。  其语法是一种宽松式的 Jasmin/dedexer语法,而且它实现了.dex 格式所有功能(注解,调试信息,线路信息等)。  Smali,Baksmali 分别是冰岛语中编译器,反编译器的叫法。 Smali 语法简

computer165的专栏 3274

SpringBoot+Vue实现图片上传

SpringBoot+Vue实现图片上传

叶♥璃 2730

微信SDK分享出现的各种问题

很多开发者在开发微信的时候 点击分享无反应 可能的问题: (1)没有使用对应的开发APP_ID 在开发的DEMO中,你需要使用微信的keystore来进行签名,这个签名,项目名,和APP_ID实际已经在微信开发平台注册了,不过微信提供给开发者使用。 所以,如果你要开发相应的程序,你需要在开放平台上进行注册。 (2)Demo 安卓4.2以上存在问题 仔细观察demo, 有的地方传入的图

computer165的专栏 1688

NVIDIA Jetson之交叉编译工具

参考:http://bbs.xfyun.cn/forum.php?mod=viewthread&amp;tid=33630 用TX2做红外热成像仪的识别,厂家不提供源码,只能提供对应版本的SDK,但是需要我们自己提供交叉编译器 由于之前没有做过交叉编译相关工作,对编译工具不太了解,因此查找相关资料学习下 交叉编译知识 一般来说,针对嵌入式平台的开发有两种编译模式:原生编译和交叉编译。原生编...

ZONGXP的博客 8383

llama-factory微调qwen2.5-vl

使用llama-factory完成qwen2.5-vl微调

qq_44908396的博客 2932

AndEngine Example(9):EaseFunctionExample

目标: 1. 了解什么是EaseFunction 2. 了解几种类型的EaseFunction ----------------------------------------------------------------- package org.andengine.examples; import org.andengine.engine.camera.Came

computer165的专栏 1463

TIM 2024 | AD-YOLO:一种结合 Swin Transformer 和注意力机制的实时 YOLO 网络用于机场场景检测

实时获取机场场景信息对于保障机场安全和提升机场运营效率至关重要。然而,机场场景图像中的人员和车辆目标尺寸较小,而且公开的机场数据不足,这使得机场物体检测成为一项颇具挑战的任务,难以同时实现高精度和实时检测。本文提出了一种全新的机场物体检测方法——机场检测器YOLO(AD - YOLO),它融合了改进的你只看一次(YOLO)算法、Swin Transformer和注意力机制的优势,以应对这一挑战。

小白学视觉 315

AndEngine Example(7):EntityModifierExample

目标: 1. 了解修饰符Modifier 2. 学习透明度变化(AlphaModifier) 3. 学习缩放变化(ScaleModifier) 4. 学习延时(DelayModifier) 5. 学习旋转(RotationModifier) 6. 学习顺序使用修饰符(SequenceEntityModifier) 7. 学习并行使用修饰符(ParallelEntityModifier

computer165的专栏 1348

【精品5万字图文详解】特征平台建设方案与最佳实践

关键词:特征工程、特征平台、特征存储、特征服务、机器学习、数据工程摘要:本文全面介绍了特征平台的建设方案与最佳实践,从特征工程的基本概念出发,深入剖析了特征平台的核心组件、架构设计和实现方法。文章通过生动的类比和实例,使读者能够轻松理解特征工程的重要性及特征平台如何解决企业在机器学习过程中面临的数据管理挑战。同时,详细探讨了主流开源特征平台的对比分析、系统设计要点、实际落地案例以及未来发展趋势,为企业构建高效特征平台提供了全面的指导和参考。想象一下,小明是一位热爱烹饪的小学生。有一天,他想做一道美味的菜肴送

AI天才研究院 952

ParaView :在paraview创建渲染视图

ParaView :在paraview创建渲染视图

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1304

Smail语法基本知识(二)

这篇文章介绍了一些常见的指令语法, 想要知道更全的指令语法,请见:http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html 移动 move vx,vy                      将vy的内容移动到vx中。 两个寄存器必须是最前面256个寄存器中之一。 move-object vx,vy          移动对

computer165的专栏 1327

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Smail语法基本知识(三)

------------------------------------------------分割线------------------------------------------------------------------------------------- 虽然关于指令集现在还没有讲,但是可以先看一个例子,加深一下理解。 HelloWorldAppActivity.smail

computer165的专栏 1312

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...

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

AndEngine Example(5):SpriteBatchExample

目标: 1. 了解SpriteBatch 2. 理解DynamicSpriteBatch 3. 两者(SpriteBatch , DynamicSpriteBatch)的区别 4. 绘制多个图形 package org.andengine.examples; import org.andengine.engine.camera.Camera; import org.an

computer165的专栏 1231

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

AndEngine Example(2):RectangleExample

目标: 1.场景截屏对象 ScreenCapture , 2.场景截屏回调接口IScreenCaptureCallback  3.场景截屏回调方法 onScreenCaptured / onScreenCaptureFailed 4.场景点击事件  package org.andengine.examples; import org.andengine.engine.camer

computer165的专栏 1195

AndEngine Example(8):PathModifierExample

目标: 1. 了解场景背景图片的设置RepeatingSpriteBackground 2.  掌握如何使用PathModifier控制精灵的移动 3. 了解如何使用路径Path得到PathModifier 4. Sprite的animate函数,用于选择当前帧的动画 ------------------------------------------------- p

computer165的专栏 1146

Android:Animator使用指南

(一)快速开始 Animator是属性动画,通过修改对象的属性来达到实现动画的效果。 一段替换Animation全功能的Animator代码: ObjectAnimator animation = ObjectAnimator.ofFloat(view, "alpha", 0f, 1f); // ObjectAnimator animation = Ob

computer165的专栏 1105

安卓:gravity 和layout_gravity 的关系

一、两者区别 android:gravity 与 android:layout_gravity 的区别在于: gravity用于设置内部内容位置,而layout_gravity 用于设置当前组件与父组件的位置。 这个想必在读者在很多地方都看到了。 二、android:gravity研究 一开始,我以为这个是属于布局管理的XML属性,于是查看并搜索了FrameLayout以及它继承

computer165的专栏 1088

AndEngine Example(4):SpriteRemoveExample

目标: 1. 了解纹理 BitmapTextureAtlas 2. 纹理区域工场 BitmapTextureAtlasTextureRegionFactory 3. 锁 EngineLock 4. 移除精灵 package org.andengine.examples; import org.andengine.engine.Engine.EngineLock; imp

computer165的专栏 1065

AndEngine Example(6):MovingBallExample

目标: 1. 学习如何制作简单的动画 2. 新的纹理区域 TiledTextureRegion 3. 使用AnimatedSprite 4. 了解物理引擎 PhysicsHandler package org.andengine.examples; import org.andengine.engine.camera.Camera; import org.andengi

computer165的专栏 1043
上一篇: Smail语法基本知识(二)
下一篇: AndEngine Example(2):RectangleExample
computer165
博客等级 码龄16年 7粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值