游戏中地图的即时生成算法(2)
时间:2025-04-27
时间:2025-04-27
游戏中地图的即时生成算法
2006年8月
Suppl.1
渠鑫,等:2.5D游戏中地图的即时生成算法
Aug.,2006
根据扇面场景的描述,我们应该知道景物在位图中的顶点坐标即:(Src_X,Src_Y),也能知道景物的宽和高即:Src_W和Src_H。同样我们看到景物的哪个部分,才将那个部分显现出来,这样我们就必须先知道截得的图相对逻辑地图的坐标(CutPicX,CutPic—Y),最后拿着望远镜要在逻辑地图中移动着看,也就是主屏幕相对逻辑地图要运动,所以我们必须知道屏幕相对逻辑地图的坐标(MsPic_X,MsPicY)。到此为止能够给我们直接提供的量就这么多了,当然这是不够的,剩下的就需要我们在算法中实现了。抽象出来,我们要完成即时生成地图的工作还需要六个量,也就是我们待求的。它们是截图相对位图的坐标(CutBm_X,CutBmY)、要截的图的宽和高即:Cut-w和Cut_H,因为最后截得的图要反映在屏幕上,我们还得求出截图相对屏幕的坐标(CutMs_X,CutMS-Y)。
\£:!=∥
图3算法情况讨论
aIt觚t爿=SrcPic、X-MsP/c.Xo心^IY*S比P沁_.Y-MsPic—Y
CutMs
X=SrePie_X-MsPi屯X
CutMs。Y铷
CuzBmX-S∞一X
Cuz]知aY-M-pie.,Y.s“%.Y十sn:。Y
求截圈相埘位嘲j甄点们塑抓
2算法的描述
为了清楚起见,我们将这些变量结合图形表示出来,如图1和图2。
葶j珊潦位潜、土饼相艟逻辑潜碑坐标计算出戳I埘拥砖主瓣的坐标
‘cI蛐lm
\q N‘Y.sm}/
“。\C“/气\/
w叫坤睢
泌%泌?形
、\“mY “》/
x舢m.-Y’叫Sre_X,Sre
Y1
n,\:≥/m
CⅢWo
CuI
W.-.‘i40
.('ucMsX
I-l卜LSrcH十
Cut
W=-
S托W
Cat
V
Ck
:k
W■m
C~IM'X
‰*]CqlH¨
SⅨWChIt-
叫H∞
t~-M‘Y
CutSrcPfc
I-F-Sm.卅
Ckll-
Y-MsHcStep沁Y-MsPkY
‰H
求戳
瞰的宽乖】商
求穰|鬻盼岛
图1逻辑地图、主屏幕和位图的关系
\:?::彳
图4
N-S即时生成算法的图(情况A)
CutMsCutMs
Xm0
CutMsY=SrcPic_Y—MsPie_Y
V--0
弋%
cmBm_y-S∞_Y(、晾H=4RO
CatBm
X=MsPic_X-SrePie_X+j啦一x
CutlBm_X=MsPic—X-SnePicX+Src
X
n畦如0Y—MsPic_Y 轴P{c—Y+src—V
(Ⅶ一w《"J卜铆P吐x—孙Hc—x
CuLH=Src一1-14-SrcPicY ¨}He—Y
图2截图和位图的关系
-r,:ut№、,
C啦w=SrcW十
S阼雕oX—M‘pic■Cm
H珊H
由于主屏的移动是由玩家所控制的,所以带有不确定的因素,所以必须将所有可能的情况都考虑齐全。在这个算法中将可能出现的情况为九种。
根据主屏的位置不同划归为九种情况,再根据每种情况的不同将主屏上所需要的房子图片的截图正确地显示出来,如图3所示。
根据SrcPicX与MsHc—Y把整个算法分成A、B两个部分:当SrcPicX大于MsHc—Y时,执行情况A,否则执行情况B。算法的N.S流程图如图4、5所示。
我们对于这九种情况进行一下分析,对于CutBm_X、
415
图5
N-S即时生成算法的图(情况B)
CutBrn_Y、CutMs_X、CutMs_J这四个所要求的值可以分
成四类:
第一类:包括1、5、6、9情况;第二类:包括2、7情况;第三类:包括3、8情况;第四类:包括4情况;第一类:
在这一类中包含了1、5、6、9这四种情况。其特点是
游戏中地图的即时生成算法
2006年8月
系统仿真学报
Aug.,2006
房子截图相对于逻辑地图坐标的X、Y值都比主屏相对于逻辑地图坐标的X、Y值大。利用源位图相对逻辑图的顶点坐
Y值比主屏相对于逻辑地图坐标的x、Y值都小。而且房子截图相对于主屏的坐标X、Y值都为零,所以相比来说这种
情况下的六个值比较好求。
到此为止所有情况下的六个所需要的值就都已经求出
标和主屏相对逻辑图的坐标计算出截图相对主屏的坐标。
到这里所要求的六个值当中我们已经求出了四个,下面来求房子截图的宽和高。
由于第一类包含了1、5、6、9这四种情况,在这四种情况中每种情况的房子截 …… 此处隐藏:1203字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:5.2平面直角坐标系(1)
下一篇:论中华文明起源与发展的动力与机制