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;
import org.andengine.util.color.Color;
import android.util.DisplayMetrics;
/**
* 画直线
*/
public class LineActivity extends SimpleBaseGameActivity
{
private static int winWidth = 854;
private static int winHeight = 480;
/**
* 设置屏幕大小
*/
private void setScreenDisplay()
{
DisplayMetrics outMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
winWidth = outMetrics.widthPixels;
winHeight = outMetrics.heightPixels;
System.out.println("winWidth:"+winWidth+"winHeight:"+winHeight);
}
/**
* 游戏引擎被activity加载时调用(第一加载方法)
*/
@Override
public EngineOptions onCreateEngineOptions()
{
setScreenDisplay();
/**
* 创建窗体信息
* 一是用以调节屏幕的显示区域,二是利用HUD类实际绘制游戏屏幕于手机之上。
* pX 当前窗体初始X坐标
* pY 当前窗体初始Y坐标
* pWidth 当前窗体宽度, 和高度比对后自适应屏幕
* pHeight 当前窗体高度 , 和宽度比对后自适应屏幕
*/
Camera camera = new Camera(0, 0, winWidth, winHeight);
/**
* 返回创建窗体对象
* EngineOptions 窗体对象详细信息类
* pFullScreen 是否全屏
* pScreenOrientation 显示模式(横屏/竖屏)
* pResolutionPolicy 比对宽高
* pCamera 创建窗体信息对象
*/
EngineOptions engineOptions = new EngineOptions(
true,
ScreenOrientation.LANDSCAPE_FIXED,
new RatioResolutionPolicy(winWidth, winHeight),
camera);
return engineOptions;
}
/**
* 需要加载资源时调用(第二加载方法)
*/
@Override
protected void onCreateResources()
{
}
/**
* 要显示场景是调用(第三加载方法)
*/
@Override
protected Scene onCreateScene()
{
// 注册FPS监听
this.mEngine.registerUpdateHandler(new FPSLogger());
/*
* 场景容器,作用类似于LGame中的Screen,
* 能够将某一特定场景作为游戏模块进行调用
* ,我们可以利用它来切换当前游戏的画面与触摸屏监听,
* 切换方法是利用Engine.setScene。
*/
Scene scene = new Scene();
scene.setBackground(new Background(new Color(0, 255, 0)));
//顶点对象管理器(顶点管理器)
VertexBufferObjectManager pVertexBufferObjectManager = new VertexBufferObjectManager();
//创建一条直线
Line line = new Line(10, 10, 300, 300,20, pVertexBufferObjectManager);
line.setColor(Color.RED);
//将直线添加到场景
scene.attachChild(line);
return scene;
}
}
相关推荐
本资源"android AndEngine游戏画直线、画矩形源码"是一个实例教程,旨在帮助开发者了解如何利用AndEngine来创建基本的图形元素,如直线和矩形。 首先,AndEngine的核心是Scene类,它是所有游戏场景的基础。在这个...
在AndEngine这个强大的2D游戏开发引擎中,精灵(Sprite)是核心的视觉元素之一,它代表了游戏画面中的一个可移动或可交互的对象。在这个主题中,我们讨论的是一个已经封装好的AndEngine动画精灵类,它使得创建和管理...
AndEngine是一款专为Android平台设计的游戏开发框架,它简化了2D游戏的创建过程,让开发者无需深入理解底层图形库,就能快速构建出高质量的移动游戏。本示例旨在介绍如何利用AndEngine进行游戏开发,通过实例化引擎...
1. **渲染引擎**:AndEngine的渲染引擎基于OpenGL ES,提供了高效、流畅的2D图形渲染。它支持精灵、纹理、多边形和其他图形元素,允许开发者创建丰富的视觉效果。 2. **物理引擎扩展**:通过Box2D或Chipmunk等物理...
1. **精灵表(Sprite Sheet)**:精灵表是一种将多个小图片组合到一个大图上的技术,每个小图片称为一个精灵。这样做可以减少加载和渲染时的开销,因为只需要加载一张大图,而不是多次加载多个小图。 2. **纹理 ...
AndEngine是一款专为Android平台设计的游戏开发引擎,它简化了2D游戏的创建过程,让开发者无需深入学习OpenGL ES等底层图形库即可进行游戏开发。在这个"AnimatedSprites"的例子中,我们将深入探讨AndEngine如何处理...
1. **Scene**: 这是游戏的主要工作区,所有可见的对象都附加在这个场景上。你可以有多个场景,但任何时候只有一个场景是活动的。 2. **Sprite**: 表示2D图像的可动画对象,可以进行移动、旋转、缩放等操作。 3. **...
1. **OpenGL ES支持**:AndEngine基于OpenGL ES 2.0,这是Android设备上广泛支持的图形库,使得它能够创建高性能的2D游戏,充分利用硬件加速。 2. **丰富的功能库**:AndEngine提供了多种扩展模块,如精灵动画管理...
1. **AndEngine基础** AndEngine的核心在于其强大的渲染引擎,它支持精灵(Sprites)、纹理(Textures)、纹理区域(Texture Regions)以及多边形(Polygons)等基本图形元素。此外,还有动画系统、物理引擎接口、...
1. **Box2D扩展**:基于Box2D物理引擎的扩展,允许开发者创建复杂的物理模拟,如重力、碰撞检测和刚体动力学。 2. **粒子系统扩展**:用于创建各种视觉效果,如火焰、烟雾、爆炸等,增强了游戏的视觉表现力。 3. *...
AndEngine是一款专为Android平台设计的游戏开发框架,它基于OpenGL ES 1.1或2.0,提供了一套高效、易用的2D游戏开发工具。这个“andengine 中文”压缩包包含的是AndEngine的中文文档,对于想要在Android上进行游戏...
AndEngine是一款专为Android平台设计的游戏开发引擎,它简化了2D游戏的创建过程,让开发者无需深入理解底层图形库,就能快速构建游戏。本入门篇将带你了解AndEngine的基本概念、架构以及如何开始你的第一个AndEngine...
1. **OpenGL ES支持**:AndEngine基于OpenGL ES 2.0,这是一个为嵌入式设备设计的图形库,使得游戏能够实现高质量的图形渲染。 2. **灵活的图形系统**:AndEngine提供了一系列的图形对象,如精灵(Sprite)、纹理...
1. **安装与设置**:首先,你需要了解如何将AndEngine库导入到你的Android Studio项目中,以及如何配置项目设置以确保引擎正常工作。这通常涉及到Gradle依赖的添加和AndroidManifest.xml的调整。 2. **基本概念**:...
1. **AndEngine特性**: - **跨平台**:虽然主要针对Android,但AndEngine也可通过GLES2 Extension for Android与iOS兼容。 - **性能优化**:利用OpenGL ES 1.x和2.0进行图形渲染,提供流畅的游戏体验。 - **模块...
1. **AndEngine基础**:AndEngine提供了许多基本的游戏元素,如精灵(Sprite)、纹理(Texture)、纹理区域(TextureRegion)等。通过这些元素,开发者可以构建出丰富多彩的2D游戏场景。 2. **游戏场景管理**:AndEngine...
AndEngine游戏引擎是一款高效、开源的Android游戏开发框架,它基于OpenGL ES,使得开发者可以直接进行图形硬件加速的游戏编程。这个框架极大地简化了Android平台上2D游戏的开发过程,提供了丰富的功能,让开发者能够...
1. **轻量级**:AndEngine体积小,不占用过多系统资源,适合在各种Android设备上运行。 2. **高效能**:基于OpenGL ES 2.0,提供高性能的图形渲染能力。 3. **易用性**:通过简单的API接口,开发者可以快速上手,...
1. **渲染系统**:AndEngine提供了强大的渲染引擎,能够处理复杂的2D图形和动画,支持自定义渲染管线,便于开发者优化性能。 2. **精灵和纹理**:精灵是AndEngine中的基本元素,用于显示2D图像。纹理是存储图像数据...
textureRegionWalk1, textureRegionWalk2, textureRegionWalk3, textureRegionWalk4); walkAnim.setLooping(true); ``` 这里,我们定义了每帧持续的时间,然后提供了行走动画的四个帧,最后设置动画为循环播放。 ...