论坛首页 移动开发技术论坛

J2ME卡马克算法案例--地图滚屏(附源码)

浏览 6312 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-22   最后修改:2009-08-20

版权申明:http://yarin.iteye.com/blog/453262

网上也有一些教程,也有很多解释,所以这里就不在介绍原理了,相信大家也都明白!

我这里只是将期封装成一个可以随便使用的类!~

只是为了我和大家的使用方便!

如果有什么问题请与我联系!谢谢支持!

效果如下:



 

  • 大小: 41 KB
   发表时间:2009-06-25  
楼主,你给的代码运行起来怎么有java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
at CarmackMapBuffer.getMapX(+5)
at CarmackMapBuffer.initBuffer(+20)
at CarmackMapBuffer.setMap(+83)
at GameCanvas.<init>(+87)
at CarmackMIDlet.startApp(+7)
at javax.microedition.midlet.MIDletProxy.startApp(+7)
at com.sun.midp.midlet.Scheduler.schedule(+270)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+80)
Execution completed.
3484650 bytecodes executed
35 thread switches
1669 classes in the system (including system classes)
18062 dynamic objects allocated (563868 bytes)
5 garbage collections (493296 bytes collected)
0 请登录后投票
   发表时间:2009-06-25  
1楼的朋友,谢谢你能发现这个问题!

其实代码本身没有问题,而是我在测试的时候随便编写的一个地图20*20的地图,每个title的尺寸是16*16,所以地图的最大尺寸为320*320,如果你采用的模拟器的屏幕尺寸大于了整个地图文件所能显示的尺寸(这时就根本不用使用卡马克算法),所以造成数组越界,,算是一个bug,谢谢!

你换一个小店屏幕的模拟器试试,肯定没有问题!
0 请登录后投票
   发表时间:2009-06-26  
我换了小的模拟器,运行正常,谢谢楼主分享
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics