人物移动与地图滚屏 |
| 作者: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 |
| [] [返回上一页] [打 印] |
|
文章评论 |
