`
一口三个汉堡
  • 浏览: 112905 次
  • 性别: 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是一个抽象的概念,它代表了...

    Android Sprite

    在Android开发中,"Sprite"通常指的是动画精灵,它是一种在2D游戏中广泛使用的图形技术。Sprite用于创建连续的帧序列,以实现动画效果。在Android中,我们可以通过Bitmap和Canvas来实现Sprite的绘制,或者使用更高级...

    android引入的Sprite类

    Sprite类在Android开发中主要被用于游戏开发或者动画制作中,它是Android对2D图形的一种抽象,通常代表一个可移动或可交互的图像元素。在Android的游戏中,Sprite经常用来表示角色、道具或其他动态显示的对象。这个...

    实例7---android 版Sprite代码

    在Android开发中, Sprite是一种常见的2D动画形式,它由一系列连续的静态图像组成,用于创建动态效果,如游戏中的角色动作或UI元素的动画。本实例“实例7---android 版Sprite代码”将深入探讨如何在Android应用程序...

    Sprite触摸机制

    Sprite触摸机制是游戏开发中的一个重要概念,特别是在2D游戏或者基于UI交互的移动应用中。在这些场景中,精灵(Sprite)通常是用户界面元素或游戏中可交互对象的表示。了解和掌握Sprite的触摸机制,可以帮助开发者...

    javaMe课程设计,手机游戏

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

    Android-skin-sprite另一种不重启Activity切换Android夜间模式的库

    总的来说,“Android-skin-sprite”为Android开发者提供了一个高效且灵活的工具,使得实现夜间模式切换变得更加简单和顺畅。通过深入理解和使用这个库,开发者可以创造出更符合用户需求,同时兼顾性能和美观的应用...

    Android-Sprite-Batcher:一种使用OpenGL在Android中绘制2D精灵的工具

    Android-Sprite-Batcher 蒂姆·维克斯蒂德 Sprite Batcher 是一个帮助在 Android 中使用 OpenGL 绘制 2D 精灵的工具。 它处理与 OpenGL 客户端的所有交互,并为您提供一组简单的 draw() 方法来处理您的所有绘图需求...

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

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

    sprite-adventures:探索用于在 Android 视图上移动精灵的步行周期和其他动画

    "Sprite Adventures"项目专门探讨了如何在Android视图上实现精灵(Sprite)的移动动画,特别是步行循环。在这个项目中,我们将深入理解如何利用Java编程语言来创建动态、流畅的2D游戏或应用动画。 ### 知识点一:...

    rnsprite是一个reactnative组件用于从spritesheets创建动画

    在React Native中,rn-sprite组件实现了类似的功能,将spritesheets的概念引入到原生平台,使得开发者能够轻松地在iOS和Android上创建高性能的动画。 rn-sprite组件的主要特点包括: 1. **高效渲染**:通过合并多...

    css sprite示例源码

    在网页设计中,特别是在响应式设计中,CSS Sprite被广泛使用。本示例源码将深入探讨这一技术及其应用。 一、CSS Sprite基本原理 CSS Sprite的核心思想是将多个小图像合并到一张大图(称为Sprite图)中,然后通过CSS...

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

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

    角色1.sprite3

    角色1.sprite3

    cocos2d-x 2.2.3 flappybird 源代码 含有B2Sprite .h .cpp 文件 已在Eclipse能打包运行,含有apk文件

    《Cocos2d-x 2.2.3与Flappy Bird源码解析——B2Sprite的运用及项目构建》 Flappy Bird是一款在全球范围内广受欢迎的休闲游戏,其简洁的操作和高难度的游戏体验吸引了无数玩家。本篇将深入探讨基于Cocos2d-x 2.2.3...

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

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

    J2ME Sprite精灵类人物移动

    在Java 2 Micro Edition (J2ME)平台上开发游戏时,常常会遇到需要处理动态对象移动的情况,这就是“精灵”(Sprite)的概念。本篇主要探讨如何利用J2ME的Game包中的Sprite类来实现一个角色在上下左右四个方向上的...

    mnist_10k_sprite

    《MNIST数据集与Sprite图像理解》 在深入探讨MNIST数据集及其Sprite图像之前,首先需要理解什么是MNIST。MNIST(Modified National Institute of Standards and Technology database)是机器学习领域一个经典的手写...

    Asprite Mac版v1.6+

    Asprite是一款专为Mac平台设计的专业2D像素画创作软件,其最新版本为v1.6。这款软件以其简洁的界面、强大的功能和高效的使用体验而受到广大像素艺术家的青睐。在本文中,我们将深入探讨Asprite的主要特点、功能以及...

Global site tag (gtag.js) - Google Analytics