`
鸟哥哥
  • 浏览: 98250 次
  • 性别: Icon_minigender_1
  • 来自: 梅州兴宁
社区版块
存档分类
最新评论

鸟哥,j2me,7610

阅读更多
鸟哥在实际开发中,有以下体会:
在支持midp2.0的手机中,使用drawRegion方法,普遍支持得非常好。可是还是有那么些机型就偏要那么的恶心几下,比如nokia7610系列。公司也想放弃对它的移植,可是广大手机用户对7610系列的偏爱还真是广泛,用户量还是很大的,硬着头皮去搞。用drawRegion画,只要不翻转,不旋转,7610还是足够快的。要是用了翻转,甚至旋转,那就慢得要死了。这样,解决方案就是直接用nokia的包,DirectGraphics(dg)。
而用它,就有好多需要注意的问题了。
dg的TRANS_ROT90、TRANS_ROT270与midp2.0中的Sprite的旋转参数不一样的,一个是顺时针,一个逆时针,不要被文字迷惑。
g.setClip对dg同样有效果,但是dg做了翻转,旋转,坐标位置就不对了,坐标必须同样做旋转,否则,裁图无法裁对。
用了nokia ui,同样也无法完全避免速度慢的情况,用nokia ui,速度是有所提高,像不想避免多图,增加翻转,旋转方向的游戏,像rpg,卡基本上是必然的,只是不太影响用户体验,还是可以算移植成功的。
用了nokia包,特别是dg.drawImage()做了旋转翻转,预编译方面就要注意了,否则将变得非常烦锁,因为参数特别多。
7610的内存,还是比较大的。因而可以增加多方向的图,卡的情况可以改善很多。像3230机器,达2m之多,放心增图吧。不过同系列的松下X800又不是很多哦,只有700k吧。
7610系列的机型,据说有内在泄露的bug,有时会越玩越卡。关闭了游戏,再玩,可能又不卡了。
评论回复更精彩!相关问题,我会以评论回复方式给到。
0
0
分享到:
评论
8 楼 鸟哥哥 2010-03-22  
shizhiwu 写道
鸟哥你对 7610 情有独钟啊....哈哈...我尝试到了

对,这机子很极品
7 楼 shizhiwu 2010-03-22  
鸟哥你对 7610 情有独钟啊....哈哈...我尝试到了
6 楼 鸟哥哥 2010-03-20  
player.close也可以试试
5 楼 鸟哥哥 2010-03-17  
7610调用midlet.destroyApp时,音乐极可能还在播放,关了游戏,要过一会再停止播放。尝试在退出前调用player.stop,鸟哥告诉你,这样还不成。还要加一段:player = null;搞定。这鸟机器。
4 楼 鸟哥哥 2010-03-17  
再增加一问题:
标准的中断处理,是做一个暂停界面,游戏声音关掉,左软键返回游戏,如果音乐原来是播放的,就在按左软键返回时开启。
7610手机中断(来电啊,提示电量不足啊等等)有这种情况:
如果音乐播放(player)中中断,系统会调用当前Canvas的hideNotify
这时如果接电话,系统会调用showNotify
如果在两个方法上调用音乐player.stop(),真机测试表明,不会stop!
初步判断是:
来电系统发现音乐在播放,所以在调用hideNotify之前调用了stop方法,系统记录这游戏的音乐是开的,但被系统关了。
这时hideNotify方法里就算是写了暂停音乐代码,因为音乐已被系统暂停,调用的stop方法变得无用。
接电话了,系统调用showNotify,而根据系统记录:“这游戏的音乐是开的,但被系统关了”,系统就调用start,这样在showNotify上调用stop也没用了
解决方案其实只要在暂停界面上每桢都判断音乐是否stop,否则调用stop
3 楼 shizhiwu 2010-03-04  
哈,在你的博文中反复提到7610,看来是吃了不少7610的苦头了...不过都是些经验之谈,让小辈们少走了弯路了
2 楼 鸟哥哥 2010-01-29  
鸟哥再
增加一问题:
在7610上,
Image abc = Image.createImage(w, h);
Graphics g = abc.getGraphics();
做g.setClip(x,y, ww, hh),直接影响到Image sub = Image.createImage(abc, xx, yy, www, hhh, tran);
setClip会裁剪遮盖这个新sub;
经过真机测试。
7610会
n73不会。
1 楼 鸟哥哥 2010-01-29  
鸟哥再
增加一问题提示和解决方案:
有如下接口A,抽象类B,类C
interface A
{
 void methodA();
 void methodAA();
}
abstract class B implements A
{
  void methodA()
  {
   }
}
class C extends B
{
 void methodAA()
 {}
}

B b = new C();
b.methodAA();//此代码在7610机子上,抛出没此方法异常。

7370,n73系列不会。
j2se编译,执行同样不出错。
这是标准的继承,oop设计方法。
真机,普通模拟器,测试不出来,nokia的模拟器才可以提示此异常,手机顽童直接死掉,不明所以,KE测试无问题。
你可以把它当成bug.
解决方案:
abstract class B implements A
{
  void methodA()
  {
   }
  abstract void methodAA();
}

你可以觉得这样复杂的代码结构没必要,所以你可以当作不存在。因为迟早有一天7610系列机器会不存在,就像再过一些年,你我都会不存在一样。

相关推荐

    J2ME开发 J2ME开发 J2ME开发

    J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...

    j2me_plane.rar_j2me_j2me 飞机_j2me 飞机 游戏_飞机游戏

    《J2ME飞机游戏开发详解》 J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为移动设备、嵌入式系统等资源有限的环境设计。本篇文章将深入探讨如何利用J2ME技术开发一款简单的飞机游戏,以此帮助初学者理解...

    J2ME API 2.0 J2ME使用手册 J2ME帮助文档

    **J2ME API 2.0 - J2ME使用手册 - J2ME帮助文档** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的设备如移动电话、智能手表和家用电器等设计。J2ME API 2.0 提供了在这些小型设备上开发应用...

    J2ME_Map.rar_J2ME 地图_J2ME游戏_j2me 游戏_j2me_m_绘制地图

    在J2ME(Java 2 Micro Edition)平台上开发游戏时,地图的设计与绘制是至关重要的一个环节。J2ME作为一种轻量级的Java平台,广泛应用于移动设备,如早期的智能手机和平板电脑,用于实现各种应用程序,特别是游戏。本...

    J2ME小游戏J2ME小游戏J2ME小游戏上,下为另一部分

    J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏

    J2ME中文版教程 J2ME教程

    **J2ME中文版教程——全面解读移动设备编程** J2ME(Java 2 Micro Edition)是Java平台的一个重要组成部分,专为嵌入式设备、移动电话和其他资源有限的设备设计。这个J2ME中文版教程是针对初学者和有一定经验的...

    J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏下,上为另一部分

    J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏J2ME小游戏

    j2me手机浏览器/j2me手机浏览器

    Java 2 Micro Edition (J2ME) 是一种Java平台,专为嵌入式设备和移动设备,特别是手机设计。在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用...

    J2ME教材:J2ME&Gaming中文版

    **J2ME教材:J2ME&Gaming中文版** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能手表等。这个“J2ME&Gaming中文版”教材主要针对的是Java在游戏开发领域的...

    j2me开发框架介绍

    j2me 开发框架介绍 j2me 是一种用于开发无线应用程序的平台,它提供了一个灵活、强大和开放的开发环境。随着 j2me 的普及,出现了许多开源框架,旨在简化开发过程,提高开发效率。下面将介绍这些框架,並分析它们的...

    Tank_J2ME.rar_j2me

    【标题】"Tank_J2ME.rar_j2me" 指的是一个关于J2ME(Java 2 Micro Edition)平台的项目,其中包含了实现“塔克大战”游戏的源代码和资源文件。J2ME是Java的一个子集,主要用于开发在移动设备、嵌入式系统等小型设备...

    j2me游戏.rar

    Java 2 Micro Edition(J2ME)是一种针对嵌入式设备和移动设备的Java平台,主要用于开发手机游戏、应用程序和服务。"j2me游戏.rar"很可能是包含了一系列使用J2ME技术开发的游戏资源包。在本文中,我们将深入探讨J2ME...

    j2me移植Android引擎

    【标题】"J2ME移植Android引擎"涉及的是将基于Java Micro Edition (J2ME) 开发的游戏或应用转换到Android平台的过程。J2ME是Java平台的一个子集,主要用于移动设备和嵌入式系统,而Android则是一个开源的操作系统,...

    安卓AIDE开发J2ME

    【安卓AIDE开发J2ME】是一个教程主题,它涵盖了使用AIDE集成开发环境(IDE)来开发Java Micro Edition (J2ME)应用程序的过程。AIDE是一款强大的Android开发工具,通常用于编写原生的Android应用,但在此场景下,它被...

    j2me例子大全,涵盖j2me的各各方面

    Java 2 Micro Edition(J2ME)是一种针对嵌入式设备和移动设备的Java平台,主要用于开发移动应用程序,包括手机游戏、网络应用以及多媒体播放器等。本资源包"j2me例子大全"包含了J2ME技术的多个方面,旨在为开发者...

    j2me经典游戏源码

    Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发和部署移动设备、嵌入式设备上的应用程序。这款"j2me经典游戏源码"提供了一个绝佳的学习平台,帮助开发者深入理解J2ME游戏编程的核心概念和技术。 ...

    j2me 手机程序入门,让你快速掌握j2me手机程序开发

    Java 2 Micro Edition (J2ME) 是一种Java平台,专为资源有限的移动设备,如早期的智能手机和平板电脑,设计的。本教程将引导初学者深入理解J2ME手机程序开发,帮助你快速入门并掌握核心概念。 1. **J2ME概述** ...

    j2ME手机移动开发

    **j2ME手机移动开发** Java 2 Micro Edition(j2ME)是Java平台的一个重要分支,主要用于开发在小型设备上运行的应用程序,如手机、智能手表和家用电器等。j2ME为移动设备提供了丰富的功能,使得开发者可以构建功能...

    J2ME模拟器 QQ2007

    **J2ME模拟器QQ2007** Java Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的设备,如早期的移动电话和平板电脑设计。J2ME应用程序通常被打包成JAR(Java Archive)文件,可以跨支持J2ME的设备运行。...

    j2me课件.rar

    Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,主要针对嵌入式设备和移动设备,如手机、智能电表、机顶盒等。这个“j2me课件.rar”压缩包包含了浙江工业大学软件工程专业2009年的J2ME课程相关材料,...

Global site tag (gtag.js) - Google Analytics