游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2904|回复: 4

求救 关于滚屏地图的生成与实现

[复制链接]

3

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2009-5-14 22:38:00 | 显示全部楼层 |阅读模式
在主页找到这个 RPG是怎样制成的 可是里面那个算法我看不懂。。
http://dev.gameres.com/Program/Abstract/Thinking/HowRPG3.htm

//场景生成算法

int W=100,H=80; //假如地图的大小为100*80个格子
MapData[W][H]; //事先用场景编辑器生成的地图数据
Picture[nums]; //道具的图片nums表示道具的总数

void MakeBackGround() //生成场景函数
{

    int n;

    for( int i=SY; i<SY+15; i++) //共15行
        for( int j=SX; j<SX+20; j++) //共20列
        {
            n=MapData[ i ][ j ]; //取得该位置的道具编号
            Blt( j*32, i*32, Picture[n]); //在此位置(j*32,i*32)画道具
        }
}
救是上面这个算法。。。那个SX SY他说是相对坐标可是到底是什么意思啊?
还有地图是100×80的 可是这边循环救15×20.。。
我知道这边循环画的是窗口显示的地图, 那全地图是在哪里导入数据的???
还有人物移动的时候要改变是什么的值??

卡了两天了。。。哪位高手来帮帮我啊
最好代码能详细点的。。就是绘制地图加移动的代码
小弟先谢谢了。。

15

主题

231

帖子

243

积分

中级会员

Rank: 3Rank: 3

积分
243
发表于 2009-5-15 19:22:00 | 显示全部楼层

Re:求救 关于滚屏地图的生成与实现

基础的都不会还做游戏,切~

3

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2009-5-16 01:25:00 | 显示全部楼层

Re:求救 关于滚屏地图的生成与实现

恩 LS的你厉害。。厉害到自己也就那样 精灵移动都不会。。。
我发个帖子问问题也有错?

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-5-17 15:02:00 | 显示全部楼层

Re:求救 关于滚屏地图的生成与实现

一般一屏幕不能把整个地图显示完吧.比如屏幕只能装15*20的格子,而地图有100*100.
那么SX就是 startX,SY就是StartY。屏幕左上角相对地图的开始点。
for( int i=SY; i<SY+15; i++) //共15行
        for( int j=SX; j<SX+20; j++)
这里不应该这样写,应该是:
ENDY = SY + 15;
ENDX = ENDX + 15;
for( int i=SY; i<ENDY; i++) //共15行
        for( int j=SX; j<ENDX;j++)
...
像你给出的那样写就是死循环嘛。。。

3

主题

101

帖子

101

积分

注册会员

Rank: 2

积分
101
发表于 2009-6-3 13:15:00 | 显示全部楼层

Re:求救 关于滚屏地图的生成与实现

SX,SY是对应影射的起点,宽高为,15*20,,
意思是,这一块为传输的缓冲,,,一个屏幕所显示的区域.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 04:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表