http://blog.csdn.net/cen616899547/article/category/1269391
1.下载AndEngine源代码:
网址:https://github.com/nicolasgramlich/AndEngine
2. 导入 andengine 工程 , 此时就有了一个 AndEngine 工程
3. 新建一个基础的android project ( 比如licai)
4. 将 AndEngine/bin/andengine.jar 拷贝到 新的project 的libs 中. licai/libs/
5. ,右键选择新的project(licai) -> Build Path->Configure build path
然后选择Projects,点击右边的Add.选择上AndEngine
6. 拷贝 下面的图 bg.png , smell.png 到 licai 工程的 assets 下.
7. licai工程的 MAIN.JAVA 修改成如下代码
package licai.mft; import org.andengine.engine.camera.Camera; import org.andengine.engine.options.EngineOptions; import org.andengine.engine.options.ScreenOrientation; import org.andengine.engine.options.resolutionpolicy.IResolutionPolicy; import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy; import org.andengine.entity.scene.Scene; import org.andengine.entity.scene.background.RepeatingSpriteBackground; import org.andengine.entity.sprite.AnimatedSprite; import org.andengine.entity.sprite.TiledSprite; import org.andengine.entity.sprite.vbo.ITiledSpriteVertexBufferObject; import org.andengine.opengl.texture.TextureOptions; import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas; import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory; import org.andengine.opengl.texture.atlas.bitmap.source.AssetBitmapTextureAtlasSource; import org.andengine.opengl.texture.region.ITiledTextureRegion; import org.andengine.opengl.texture.region.TiledTextureRegion; import org.andengine.opengl.vbo.VertexBufferObjectManager; import org.andengine.ui.activity.BaseGameActivity; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.support.v4.app.NavUtils; public class MainActivity extends BaseGameActivity { private static final int CAMERA_WIDTH = 800; private static final int CAMERA_HEIGHT = 480; private final static float BALL_VELOCITY = 100f;//球的移动速度 private Camera mCamera; private Scene mScene; private RepeatingSpriteBackground background; private TiledTextureRegion mFaceTextureRegion; @Override public EngineOptions onCreateEngineOptions() { // TODO Auto-generated method stub mCamera = new Camera(0,0,CAMERA_WIDTH,CAMERA_HEIGHT); EngineOptions mEngineOptions = new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), mCamera); return mEngineOptions; } @Override public void onCreateResources( OnCreateResourcesCallback pOnCreateResourcesCallback) throws Exception { // TODO Auto-generated method stub this.background = new RepeatingSpriteBackground(CAMERA_WIDTH, CAMERA_HEIGHT, getTextureManager(), AssetBitmapTextureAtlasSource.create( this.getAssets(), "bg.png"), getVertexBufferObjectManager()); BitmapTextureAtlas mTexture = new BitmapTextureAtlas(getTextureManager(),64,32,TextureOptions.BILINEAR_PREMULTIPLYALPHA); mFaceTextureRegion = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(mTexture, this, "smell.png", 0, 0,2,1); /** * 参数说明: * mTexure是在内存中放置贴图资源用的,64,32是图片要求的宽和高,必须是2的n次方大小.如:2,4,8,16,32,64,128,512,1024.... * 并且要比原图的宽高要大 * * mFaceTextureRegion相当于从mTexure中扣图,因为mTexure是由很多图集组成的,要从中截取一片出来 * 0,0代表截图的top,right坐标(起点坐标),2和1分别代表贴图中一张存在2列1行 * */ mTexture.load(); pOnCreateResourcesCallback.onCreateResourcesFinished(); } @Override public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback) throws Exception { // TODO Auto-generated method stub mScene = new Scene(); mScene.setBackground(background); final float centerX = (CAMERA_WIDTH - mFaceTextureRegion.getWidth()) / 2;//计算贴图的中心坐标 final float centerY = (CAMERA_HEIGHT - mFaceTextureRegion.getHeight()) / 2; final Ball mBall = new Ball(centerX, centerY,32, 32,this.mFaceTextureRegion,getVertexBufferObjectManager()); mScene.attachChild(mBall); pOnCreateSceneCallback.onCreateSceneFinished(mScene); } @Override public void onPopulateScene(Scene pScene, OnPopulateSceneCallback pOnPopulateSceneCallback) throws Exception { // TODO Auto-generated method stub pOnPopulateSceneCallback.onPopulateSceneFinished(); } private static class Ball extends AnimatedSprite{ float mVelocityX = BALL_VELOCITY;//球的x方向速度 float mVelocityY = BALL_VELOCITY ;//球的y方向速度 public Ball(float pX, float pY, float pWidth, float pHeight, ITiledTextureRegion pTiledTextureRegion, VertexBufferObjectManager pVertexBufferObjectManager) { super(pX, pY, pWidth, pHeight, pTiledTextureRegion, pVertexBufferObjectManager); // TODO Auto-generated constructor stub mX = 100; mY = 100; } @Override protected void onManagedUpdate(float pSecondsElapsed) { // TODO Auto-generated method stub if(this.mX < 0) { setVelocityX(BALL_VELOCITY); } else if( this.mX + this.getWidth() > CAMERA_WIDTH){ setVelocityX(-BALL_VELOCITY); } if(this.mY < 0 ) { setVelocityY(BALL_VELOCITY); } else if(this.mY + this.getHeight() > CAMERA_HEIGHT){ setVelocityY(-BALL_VELOCITY); } mX += mVelocityX * pSecondsElapsed; mY += mVelocityY * pSecondsElapsed; this.setPosition(mX, mY); Log.d("Season",pSecondsElapsed + ""); super.onManagedUpdate(pSecondsElapsed); } void setVelocityX(float vx){ mVelocityX = vx; } void setVelocityY(float vy){ mVelocityY = vy; } } }
相关推荐
### AndEngine学习:环境配置与扩展包导入详解 AndEngine是一款专为Android平台设计的开源游戏开发框架,因其高效、灵活以及丰富的功能而备受开发者青睐。本文将详细解析AndEngine的环境配置步骤以及如何导入其扩展...
通过学习AndEngine游戏开发示例,开发者可以掌握2D游戏开发的基本技巧,包括场景构建、精灵动画、物理引擎应用以及用户交互处理。无论你是初学者还是有经验的开发者,都能从中获益,快速构建出自己的Android游戏。
通过分析源代码和阅读教程,学习者可以掌握AndEngine的基本用法,例如设置场景、添加实体、实现物理行为、处理用户输入和更新游戏逻辑。 总的来说,这个压缩包文件提供了一个很好的机会,让对AndEngine感兴趣的...
1. **AndEngine基础** AndEngine的核心在于其强大的渲染引擎,它支持精灵(Sprites)、纹理(Textures)、纹理区域(Texture Regions)以及多边形(Polygons)等基本图形元素。此外,还有动画系统、物理引擎接口、...
1. **OpenGL ES支持**:AndEngine基于OpenGL ES 2.0,这是Android设备上广泛支持的图形库,使得它能够创建高性能的2D游戏,充分利用硬件加速。 2. **丰富的功能库**:AndEngine提供了多种扩展模块,如精灵动画管理...
这个Demo是AndEngine官方网站提供的示例集合,用于帮助开发者更好地理解和学习如何使用AndEngine来构建游戏。以下是对AndEngine及其Demo的详细介绍: 1. **AndEngine特性**: - **跨平台**:虽然主要针对Android,...
1. **OpenGL ES支持**:AndEngine基于OpenGL ES 2.0,这是一个为嵌入式设备设计的图形库,使得游戏能够实现高质量的图形渲染。 2. **灵活的图形系统**:AndEngine提供了一系列的图形对象,如精灵(Sprite)、纹理...
1. **安装与设置**:首先,你需要了解如何将AndEngine库导入到你的Android Studio项目中,以及如何配置项目设置以确保引擎正常工作。这通常涉及到Gradle依赖的添加和AndroidManifest.xml的调整。 2. **基本概念**:...
1. 初始化Engine:在主Activity中创建Engine实例,设置屏幕尺寸、帧率等参数。 2. 创建Scene:定义游戏的初始界面,可以包含背景、音乐、精灵等元素。 3. 添加Entity:根据游戏需求,创建并添加不同类型的实体,如...
在Android游戏开发领域,AndEngine是一个非常流行的2D游戏开发框架,以其高效、轻量级和易于学习的特点深受开发者喜爱。本篇文章将深入探讨AndEngine的核心概念,以及如何通过源代码来理解并学习这款经典游戏“捕鱼...
通过深入研究这些实例,你不仅可以学习到AndEngine的基本用法,还能掌握2D游戏开发中的许多通用技巧。此外,这些代码示例还提供了良好的注释和结构,对于初学者来说是很好的学习资料。在实际项目中,你可以参考这些...
1. **AndEngine基础**:AndEngine提供了许多基本的游戏元素,如精灵(Sprite)、纹理(Texture)、纹理区域(TextureRegion)等。通过这些元素,开发者可以构建出丰富多彩的2D游戏场景。 2. **游戏场景管理**:AndEngine...
1. **Scene**: 这是游戏的主要工作区,所有可见的对象都附加在这个场景上。你可以有多个场景,但任何时候只有一个场景是活动的。 2. **Sprite**: 表示2D图像的可动画对象,可以进行移动、旋转、缩放等操作。 3. **...
1. **轻量级**:AndEngine体积小,不占用过多系统资源,适合在各种Android设备上运行。 2. **高效能**:基于OpenGL ES 2.0,提供高性能的图形渲染能力。 3. **易用性**:通过简单的API接口,开发者可以快速上手,...
总的来说,“andengine游戏引擎源码及实例”是一份全面的学习资料,无论是对AndEngine感兴趣的初学者,还是希望提升游戏开发能力的开发者,都能从中受益匪浅。通过深入研究源码和实践案例,你将能够独立开发出富有...
这个最新的AndEngine游戏引擎源码包,对于任何致力于Android游戏开发的人来说,都是一份极其宝贵的学习资料和开发工具。 AndEngine的核心优势在于其简洁的API设计,使得开发者能够快速地构建2D游戏,而无需深入了解...
1. **AndEngine主包** AndEngine的核心库包含了游戏开发的基础组件,如场景管理、精灵、纹理、音乐和音效等。开发者可以利用这些组件创建游戏的基本架构,包括游戏循环、时间管理、输入处理等。例如,`Scene`类是...
1. **OpenGL ES 2.0支持**:AndEngine基于OpenGL ES 2.0图形库,提供了高效的硬件加速图形渲染能力,确保了游戏在现代Android设备上的流畅运行。 2. **精灵与动画**:AndEngine提供了精灵(Sprite)和动画(Animation)...
1. **实体和节点系统**:实体(Entity)和节点(Node)是AndEngine的基础构建块,可以组合成复杂的场景结构。实体可以包含多个节点,如精灵、纹理区域、文本等,而节点则负责处理这些元素的位置、旋转、缩放等属性。...