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,就可以解压,并获得源文件.

你可能感兴趣的:(游戏,android)