WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章J2ME技术程序开发人物移动与地图滚屏

人物移动与地图滚屏
作者:gophinight  来源:本站整理  发布时间:2005-7-14 10:20:53

应群里的朋友要求而写

游戏当中的人物移动和地图滚屏其实是两个独立的运行过程,而且一般来说,地图滚屏是因人物移动而触发的被动过程,那么如何使人物移动的时候始终居中呢,实际上,只要合适的移动地图,让地图沿人物的移动方向反向移动,就可以做到人物始终居中的效果。而这个地图的移动过程就是滚屏,那么滚屏是怎么来实现的呢。以RPG游戏为例,RPG游戏的地图是以Tile方式排列的。假设一个场景大小为sw×sh个Tile,而屏幕大小为w×h个Tile,Tile规格为a*b,那么在Canvas中绘制地图的时候(1.0的做法),应该设置变量x0,y0标志当前屏幕左上角的Tile在整个大场景中的位置,然后

for(int x=0;x<w;x++)

for(int y=0;y<h;y++)

{

g.drawImage(screen[sc[(y+y0)*sw+x+x0]],x*a,y*b,0);

}

其中,sc[]数组表示地图索引,screen[]数组是tile图片。sc[]数组一般是通过读入外部索引文件生成,他的数值就是指定Tile中的图片编号。比如sc[2]=3就表示第3个Tile中需要用编号为4为图片来绘制。

由上面的代码就可以看出,当人物移动的时候,相应改变x0和y0的值,就可以实现地图的滚屏了。


- 作者: gophinight 2005年03月29日, 星期二 20:54 加入博采

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=1050968

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码