求人物坐标在屏幕中位置~!
来源:百度知道 编辑:UC知道 时间:2024/06/24 23:24:43
没大看懂你的图什么意思,这句话:
B点为游戏人物在游戏中的坐标
游戏中的坐标作何解释?
按我的理解,并给出解决方案,你看理解的对不对:
假设屏幕分辨率是800X600,游戏背景地图是1600X1200,视窗(即屏幕)在地图坐标系里的(Screen_x,Screen_y)处,当然,它们须满足:
0<=Screen_x<=1600-800-1, 0<=Screen_y<=1200-600-1
假设B坐标在地图坐标系下是(Bx,By),鼠标在屏幕坐标系下是(Mx,My),其中四个量分别满足:
0<=Bx<=1600-Bwidth-1, 0<=By<=1200-Bheight-1;//物体B宽Bwidth、高Bheight
0<=Mx<=800-1, 0<=My<=600-1;
现在想求B在视窗里的位置。
是这个意思吗?
若是的话,接着看:
事实上,自己画个图就能导出公式,我以Bsx、Bsy表示B在屏幕里的坐标:
Bsx = Bx - Screen_x;
Bsy = By - Screen_y;
举个例子:假设视窗在地图坐标系下的(200, 200)处,物体B在地图坐标系里的(950, 800)处,那么套用公式,可得B在屏幕里的:
Bsx = 950 - 200 = 750;
Bsy = 800 - 200 = 600;
也就是在屏幕的(750,600)处,由于你的屏幕是800X600的,那么它现在应该不在视区范围内(在屏幕下面),游戏中一般不需要渲染。
OK?
你这是两个坐标系,一个是游戏中的,一个是屏幕中的
你的图只说了游戏中鼠标在屏幕中的坐标A和B点在游戏中的位置,如果想通过A来判断B在屏幕中的位置,那你还需要知道A在游戏中的坐标位置才行;如果你连这两点的相对位置都不能得到又怎么来根据其中一个判断另一个的位置呢
你应当说的再详细点