上回做了一个方阵人物图,可以用来比较粗糙地确定坐标,但是缺点很多:
1 地图障碍物很多,人只能放到有限的范围里。
2 人物形状复杂,不好确定参考点。
由于上述两条缺点,那个方阵图只能粗糙地确定坐标,但不能给出明确的公式。
于是,在下今天做了这样一个实验:
1 修改解压之后的PMap.e5,使第一个地图(即MMap.e5的41号图)所有坐标皆可放人。
顺便说一下PMap.e5。这是R场景的地形设置。每个场景20016字节,其中前16字节是附加信息,后20000字节是地形(只有F0和FF两种。F0表示有障碍,FF表示无障碍)。但这20000个字节与具体坐标的对应关系还需研究。
2 修改PMapobj.e5的第一张图。用背景色抹掉原图,然后贴着左侧边缘画一条宽度为1的红线。
3 修改Data.e5,使一些人的形象变为0
4 修改MMap.e5的第41张图,变成一个白板。
5 制作一个R_00.eex剧本,在(32,32),(32,48),(32,64),(48,32),(48,48),(48,64),(64,32),(64,48),(64,64)放9个人(这9个人的形象都是0)
6 进入游戏,截图,在PS里精确截出场景(640*400),见附图
7 在PS里读取各红线下端坐标。在Excel里列表
8 对坐标进行线性拟合,得到公式:
(公式里x,y表示屏幕坐标,即在PS里读出的坐标;a,b表示游戏里的坐标)
a=0.0625x+0.125y+4.625
b=0.125y-0.0625x+43.625
注意:这里的x,y表示Pmapobj的左下角的坐标。一般编剧本常用人脚确定位置。粗略地认为两脚之间就是Pmapobj的下端中点。则公式变成:
a=0.0625x+0.125y+3.125
b=0.125y-0.0625x+45.125
图片附件:
R.jpg (2005-4-7 20:20, 34.24 K)
|