因为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,就可以解压,并获得源文件.
分享到:
相关推荐
这个是把J2ME上Layer,LayerManager,Sprite,TiledLayer移植到android的几个类
NULL 博文链接:https://wangleyiang.iteye.com/blog/1769433
android引入Sprite类的源码,免费下载方便交流
Sprite触摸机制,精灵的触摸和简单的移动,拖拽效果
Android-Sprite-Batcher 蒂姆·维克斯蒂德 Sprite Batcher 是一个帮助在 Android 中使用 OpenGL 绘制 2D 精灵的工具。 它处理与 OpenGL 客户端的所有交互,并为您提供一组简单的 draw() 方法来处理您的所有绘图需求...
android平台中j2me MIDP2.0中GameAPI中几个工具类移植版本, 四个类Layer、LayerManager、Sprite、TiledLayer
NULL 博文链接:https://lsdev.iteye.com/blog/1070101
以前用eclipse写的,游戏功能不大全,但涉及不少知识点,没时间加注释很抱歉,有疑问加QQ:172228962。谢谢!
Android汽车大战游戏中移植Java ME Game API中Layer, LayerManager,TiledLayer,Sprite类,实现移植。 系统功能: 1. 汽车发射出的子弹在游戏中飞行 2. 子弹击中子弹、障碍物或是汽车显示爆炸 3. 增强能力的宝贝——...
角色1.sprite3
另一种不重启Activity 切换Android夜间模式的库
css sprite示例源码
#雪碧冒险 这个项目展示了如何在 Android 视图上执行移动精灵的步行循环。 ##资源 这个很棒的网页包含实现流畅动画的关键信息:
j2me中MIDP2.0新增game包的实现源码,GameCanvas、Layer、LayerManager、Sprite、TiledLayer
mnist_10k_sprite mnist_10k_sprite mnist_10k_sprite mnist_10k_sprite
Shadero Sprite is a real time node-based shader tool for Unity 5, 2017 and 2018 NEW! Forum : https://forum.vetasoft.store/ Discuss with us about Shadero Sprite and more ! Description Shadero Sprite...
jQuery-Sprite-Anim, 没有大小/帧限制的jQuery sprite动画库 Sprite动画 版简介jQuery Sprite动画是一个简单的Sprite动画库。 jQuery已经有许多优秀的sprite动画库可用。 这个库有几种不同的方式,从它的他任何方面...
rn-sprite是一个react native组件用于从spritesheets创建动画
Unity5的unitypackage 利用UI Mask 实现对Sprite精灵遮罩处理。不是插件