`
一口三个汉堡
  • 浏览: 115310 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

android的Sprite,TiledLayer,LayerManager

阅读更多

  因为android没有提供这些,而我要把j2me的一本游戏开发书的实例转成android,所以我觉得把这些写出来,对后面的转化很有帮助,所以我就做了,也发布在自己的博客上。

下面给出这个三个类,我现在实现的方法,源代码,和jar包

AndroidSprite:安卓精灵类

方法:

public AndroidSprite(Bitmap image,int frameWidth,int frameHeight)//构造方法

 

public int getFrame()//获得当前帧

 

public int getFrameSequenceLength()//获得当前帧序列的长度

 

public void nextFrame()//下一帧

 

public void prevFrame()//上一帧

 

public void setFrame(int sequenceIndex)//设置要显示的帧

 

public void setPosition(int positionX,int positionY)//设置精灵显示的位置

 

public void setFrameSequence(int[] sequence)//设置帧序列

 

public void move(int x,int y)//移动

 

public void paint(Canvas canvas,Paint paint)//绘制

 

public void paint(Canvas canvas,Paint paint,int x,int y)//绘制

 

AndroidTiledLayer:地图图层类

 

方法:

 

public AndroidTiledLayer(int columns,int rows,Bitmap bitmap,int tileWidth,int tileHeight)//构造

 

public void setCell(int row,int col,int tileIndex)//填充

 

public int getCellWidth()//获得单个贴图宽度

 

public int getCellHeight()//获得单个贴图高度

 

public int getColumns()//获得地图列数

 

public int getRows()//获得地图行数

 

public int getMapWidth()//获得地图宽度

 

public int getMapHeight()//获得地图高度

 

public void setPosition(int x,int y)//设置显示位置左上角

 

public void paint(Canvas canvas,Paint paint)//绘制

 

public void paint(Canvas canvas,Paint paint,int x,int y)//绘制

 

注意:AndroidSprite和AndroidTiledLayer都继承于AndroidLayer

 

AndroidLayerManager:图层管理器

 

方法:

public AndroidLayerManager()//构造函数

//将图层添加到图层管理器中,后添先绘

public void append(AndroidLayer l)

 

//将图层插入到指定位置,序号越大越早被绘制

 public void insert(AndroidLayer l,int index)

 

// 从图层管理器中删除指定的图层

 public void remove(AndroidLayer l)

 

 //根据序号得到对应的图层对象

public AndroidLayer getLayerAt(int index)

 

//获得大小 

public int getSize()

 

//画图

public void paint(Canvas canvas,Paint paint)

 

//画图

public void paint(Canvas canvas,Paint paint,int x,int y)

 

//设置试图窗口大小

public void setViewWindow(int x,int y,int width,int height)//宽度和高度还没有实现。。

 

Jar包:midp_me.jar

注意:我把源文件也打包到了jar中,将jar包的后缀改为rar,就可以解压,并获得源文件.

3
0
分享到:
评论

相关推荐

    ME上Layer,LayerManager,Sprite,TiledLayer移植到android

    本文将详细介绍如何将J2ME中的Layer、LayerManager、Sprite和TiledLayer这四个关键概念移植到Android平台,并探讨在Android环境下如何实现这些功能。 1. Layer(层) 在J2ME中,Layer是一个抽象的概念,它代表了...

    javaMe课程设计,手机游戏

    在这个项目中,开发者可能接触到了一些核心的JavaME技术,如图形绘制、精灵(sprite)处理、地图层(tiledLayer)管理以及进度条(Gauge)的使用。下面将详细解释这些知识点。 1. **JavaME(Java Micro Edition)**...

    android平台中使用j2me MIDP2.0中GameAPI

    本文将详细介绍如何在Android环境中使用J2ME MIDP 2.0的Game API,特别是四个关键工具类:Layer、LayerManager、Sprite和TiledLayer。 **Layer** 类在MIDP 2.0中是一个基础组件,它代表了一个可绘制的平面层。Layer...

    基于Android操作系统的智能手机开发

    Android汽车大战游戏中移植Java ME Game API中Layer, LayerManager,TiledLayer,Sprite类,实现移植。 系统功能: 1. 汽车发射出的子弹在游戏中飞行 2. 子弹击中子弹、障碍物或是汽车显示爆炸 3. 增强能力的宝贝——...

    J2ME Tutorial, Part 3 Exploring the Game API of MIDP 2.0

    游戏包包含五个核心类:GameCanvas、Layer、Sprite、TiledLayer和LayerManager。 1. **GameCanvas**:扩展了Canvas类,提供了离屏缓冲区的功能。所有渲染操作首先在这个缓冲区上完成,然后再显示到设备屏幕上。这有...

    J2ME Tutorial, Part 3: Exploring the Game API of MIDP 2.0

    MIDP 2.0中的游戏API包含在`javax.microedition.lcdui.game`包中,主要包括五个核心类:`GameCanvas`、`Layer`、`Sprite`、`TiledLayer`和`LayerManager`。这些类提供了创建具有各种功能的游戏所需的基础框架。 ###...

    midp2.0 GameAPI实现

    例如,GameCanvas作为游戏的主画布,LayerManager管理多个Layer,包括Sprite和TiledLayer,而Sprite则负责显示和动画效果。通过深入理解和实践这些API,开发者可以构建出具有流畅动画、分层显示和高效性能的2D游戏。...

    Java GameAPI

    Layer是一个抽象类,代表游戏中的可视化元素,如Sprite和TiledLayer都是它的子类。Layer提供了位置、大小和可视性的基本属性,但出于优化考虑,不能直接创建Layer的子类。LayerManager管理多个Layer,实现分层次的...

    使用MIDP2.0游戏开发

    MIDP2.0引入了一套专门的游戏API,它包括`GameCanvas`、`Layer`、`Sprite`、`TiledLayer`和`LayerManager`等关键组件。这些组件共同构成了游戏开发的基础框架,使得开发者能够更高效地构建复杂的游戏环境。 - **...

    MIDP 2.0 Game API快速入门

    `Sprite`允许仅使用特定帧或通过播放帧序列创建动画,同时支持检测与其他`Sprite`或`TiledLayer`的碰撞。 - **TiledLayer**:类似于`Sprite`,但更多地用于创建背景或广阔区域,如赛道。它由一个单元格网格构成,每...

    MIDP2.0 Game API简介

    - **TiledLayer**:一种特殊的 `Layer` 类型,由多个 `Sprite` 组成,适用于地图等重复纹理的绘制。 #### 四、按键状态检测 在 MIDP 2.0 中,Game API 支持更精细的按键状态检测,不再仅仅是简单的按下或释放事件,...

    J2ME中实现人走地图走功能

    import javax.microedition.lcdui.game.LayerManager; import javax.microedition.lcdui.game.Sprite; import javax.microedition.lcdui.game.TiledLayer; public class WalkGameCanvas_18 extends GameCanvas ...

    基于java的坦克大战游戏

    例如,`Image`类用于创建和加载图像资源,而`LayerManager`和`TiledLayer`类则用于管理游戏中的多层图像,实现复杂的动画效果。 #### 2. 游戏对象管理 通过`UserSprite`和`EnemySprite`类来表示游戏中的玩家和敌人...

    JAME GameAPI

    通过对GameCanvas、LayerManager、TiledLayer、Layer和Sprite等核心组件的理解与应用,开发者可以轻松构建出具有丰富视觉效果和良好交互体验的游戏。虽然随着技术的发展,J2ME已经不再流行,但对于想要深入了解Java...

    Java DevelopmentDeveloping Games with the Game API

    - 创建一个`TiledLayer`对象。 - 为每个瓷砖分配一个图像资源。 - 可以通过填充方法来设置每个瓷砖的位置和属性。 ###### 5.2.3 填充Tiled Layer单元格 填充Tiled Layer的单元格通常涉及到指定每个单元格中显示的...

    基于java的坦克大战2

    1. **LayerManager** `layerManager`: 用于管理游戏层,确保子弹能够正确地绘制在屏幕上的适当位置。 2. **坐标** `x`, `y`: 子弹的当前位置。 3. **速度** `speed`: 控制子弹移动的速度,数值越小速度越快。 4. **...

    MIDP_2_0_介绍

    `Layer`类表示一个绘图层,而`Sprite`则是在层上绘制的动态元素。这些类提供了游戏开发所需的底层支持。 ##### 3.3 LayerManager 类 `LayerManager`类用于管理多个`Layer`对象。它提供了一种方便的方式来控制不同...

    关于JAVAME试卷的整理

    相比之下,`LayerManager`类用于管理多个图层,`Sprite`类则负责单个图像元素的显示和动画控制,而`RecordStore`类用于数据存储,并非图形处理。 2. **数据库操作**:在JavaME中,`Statement`类的方法被用于执行SQL...

Global site tag (gtag.js) - Google Analytics