程序实现的代码如下:
package gamecanvasuse;
import javax.microedition.lcdui.*;
import com.nokia.mid.ui.FullCanvas;
public class MIDP2Canvas extends FullCanvas {
Image image = null;
int index = 0;
//每个单元使用的图象分块内容
int[][] map = {{0,0,1,3,0,0,0},
{0,1,4,4,3,0,0},
{1,4,4,4,4,3,0},
{0,0,0,0,-1,-1,-1}
};
public MIDP2Canvas() {
//载入图片
try{
image = Image.createImage("/res/title.png");
}catch(Exception e){
}
}
protected void paint(Graphics g) {
for(int i = 0;i < 4;i++){
for(int j = 0;j < 4;j++){
switch (map[j][i + index]){
case 0:
g.setColor(0xffffff);
g.fillRect(i * 32,j * 32,32,32);
g.setColor(0x000000);
break;
case 1:
//绘制图块
g.setClip(i * 32,j * 32,32,32);
g.drawImage(image,i * 32,j * 32,Graphics.TOP | Graphics.LEFT);
g.setClip(0,0,this.getWidth(),this.getHeight());
break;
case 2:
//绘制图块
g.setClip(i * 32,j * 32,32,32);
g.drawImage(image,i * 32 - 32,j * 32,Graphics.TOP | Graphics.LEFT);
g.setClip(0,0,this.getWidth(),this.getHeight());
break;
case 3:
//绘制图块
g.setClip(i * 32,j * 32,32,32);
g.drawImage(image,i * 32 - 64,j * 32,Graphics.TOP | Graphics.LEFT);
g.setClip(0,0,this.getWidth(),this.getHeight());
break;
case 4:
//绘制图块
g.setClip(i * 32,j * 32,32,32);
g.drawImage(image,i * 32 - 96,j * 32,Graphics.TOP | Graphics.LEFT);
g.setClip(0,0,this.getWidth(),this.getHeight());
break;
}
}
}
g.setColor(0xff0000);
g.fillRect(32,32,32,32);
g.setColor(0x000000);
}
public void keyPressed(int keyCode){
index++;
repaint();
}
}
分享到:
相关推荐
在Java ME(J2ME)平台上,MIDP(Mobile Information Device Profile)是为移动设备设计的一个精简版Java API。MIDP 2.0是这个平台的一个重要升级,它引入了对游戏开发的强大支持,主要体现在Game API上。这个API...
标题:“使用MIDP2.0游戏开发” 描述:“使用MIDP2.0游戏开发基础知识” MIDP2.0(Mobile Information Device Profile 2.0)是Java ME(Java Platform Micro Edition)的一部分,主要针对移动设备上的应用开发,...
博士:恩,单从Java的功能来讲,不同点在于N840对应的是MIDP2.0,而N820只能对应MIDP1.0。 尼克:呃?MIDP是什么呀?以前好像没有听说过呀…… NEC-MobileFriend带给我们的MIDP2.0讲座秉承JAVA初级讲座的对话...
在Android中,我们可以使用Bitmap对象来创建一个大的网格图片,然后通过设置滚动坐标来实现类似的效果。同时,也可以使用OpenGL ES的纹理映射技术,提高性能并实现更复杂的地图交互。 在移植过程中,需要注意以下几...
在MIDP 1.0中,游戏开发者需要自定义图像类来实现良好的视觉效果,这往往导致应用程序大小的增加。MIDP 2.0的游戏API通过提供预构建的组件和优化机制,解决了这一问题。 ### 3. 游戏API关键类 游戏API的核心类位于...
这个名为"TiledLayer.zip"的压缩包提供了一个iOS应用的源码实例,专门展示了如何使用TiledLayer来构建地图界面。以下将详细解析这个源码示例中的关键知识点。 首先,TiledLayer是CALayer的一个子类,它允许开发者将...
本文将对 MIDP 2.0 的 Game API 进行详细介绍,并结合实际应用场景来帮助读者更好地理解和应用这一 API。 #### 二、MIDP 2.0 Game API 概述 MIDP 2.0 Game API 是 J2ME 平台上专门为移动游戏设计的一套 API。相较于...
在iOS开发中,`TiledLayer` 是一个重要...在分析提供的源码`TiledLayer`时,我们可以深入研究如何实现这个功能,包括瓦片的生成、加载机制以及优化策略。这有助于我们提升iOS开发技能,特别是在性能敏感的应用场景中。
本文将详细介绍如何将J2ME中的Layer、LayerManager、Sprite和TiledLayer这四个关键概念移植到Android平台,并探讨在Android环境下如何实现这些功能。 1. Layer(层) 在J2ME中,Layer是一个抽象的概念,它代表了...
本案例提供了一套基于Java ME平台(J2ME)的游戏开发框架,重点在于如何使用`TiledLayer`类来构建游戏场景,并通过具体示例代码演示了游戏引擎的基本组成和运作流程。Java ME是一个为嵌入式设备和消费电子产品提供的...
当用户滚动视图时,TiledLayer会自动请求新的tile,并在需要的时候调用数据源的绘制方法。在TiledLayer_iphone项目中,滚动事件的处理可能是通过UIPanGestureRecognizer或UIScrollView的代理方法实现的。 三、优化...
6. **MIDP 图层管理**: MIDP 2.0引入了图层的概念,通过`Layer`类来实现,可以控制不同元素的显示顺序和动画效果。 7. **MIDP的Manager类**: Manager类提供了音频播放功能,如`playTone()`方法用于播放单个音符。 ...
本教程将深入探讨这个名为javax.microedition.lcdui.game的游戏包,并通过构建一个简单的游戏来学习其核心类。 J2ME游戏API概述: 游戏包包含五个核心类:GameCanvas、Layer、Sprite、TiledLayer和LayerManager。 ...
本教程旨在介绍J2ME中MIDP 2.0的游戏API,并通过构建一个简单的游戏来帮助读者熟悉这些API。 #### 二、MIDP 2.0游戏API概览 MIDP 2.0中的游戏API包含在`javax.microedition.lcdui.game`包中,主要包括五个核心类:...
在iOS开发中,地图显示是常见的功能之一,而本压缩包中的源码示例"IOS应用源码之基于CATiledLayer UIScrollView的地图显示程序TiledLayer_iphone.zip"着重讲解了如何利用CATiledLayer和UIScrollView来高效地实现这一...
### MIDP 2.0 介绍 MIDP 2.0(Mobile Information Device Profile 2.0)是Java ME平台的一部分,专为移动设备设计的一套标准API集合。MIDP 2.0在MIDP 1.x的基础上进行了大量的改进与扩展,提供了更丰富的用户界面...
这个"IOS应用源码—基于CATiledLayer UIScrollView的地图显示程序TiledLayer_iphone.zip"提供了如何将两者结合来实现地图显示的示例。以下是对这两个核心组件以及它们在地图应用中的作用的详细解释。 首先,...
通过循环显示每一帧,Sprite可以实现任意顺序的动画效果。 **Layer的使用** Layer是一个抽象类,代表游戏中的可视化元素,如Sprite和TiledLayer都是它的子类。Layer提供了位置、大小和可视性的基本属性,但出于优化...
自己写的制作TiledLayer 的工具 使用: 1,导入图片; 2,合理切割图片(绿色); 3,创建图区; 4,点击原图片块 在新图区需要地方点击 5,输出 选择地点输出成txt文件 若有不足之处请发邮件于...
TiledLayer_iphone.zipIOS应用例子源码下载TiledLayer_iphone.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考