java swing游戏编程加载一张地图(有几个屏幕大)时,得到的人物坐标是相对于地图原点,但设置人物坐标是

java游戏编程加载一张地图(有几个屏幕大)时,为什么返回得到的人物坐标是相对于地图原点的,但设置人物坐标是相对于屏幕左上角?设置时改变的X,Y就是和返回来的X,Y是同一... java游戏编程加载一张地图(有几个屏幕大)时,为什么返回得到的人物坐标是相对于地图原点的,但设置人物坐标是相对于屏幕左上角?设置时改变的X,Y就是和返回来的X,Y是同一变量啊。怎样改一下,都以地图点为准??求帮忙 展开
 我来答
302652034_bai
2017-10-13 · TA获得超过4145个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1551万
展开全部

其实你并不需要为坐标的和窗口的位置而烦恼。

人物的坐标相对于地图的原点是没有错的,你需要的只是将镜头(窗口),锁定在人物上而已。

你绘制地图和人物的时候,将绘制原点的坐标的平移一下就能达到你的目的,如图,红框表示窗口,黑框是地图,篮筐是人物,箭头所指的是绘制原点

可以看出,图二的原点读对于窗口的原点来说是一个负值坐标。

在开始绘图之间,利用Graphics类的translate(x,y)将绘图的原点平移一下,就能让绘制的人物处于窗口的中,而不影响人物和地图的坐标关系。

匿名用户
2013-08-18
展开全部
组件中的Graphics是相对组件的左上角的。
追问
如何更改为相对于地图?
追答
组件的0,0,再加上 地图的左上角
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式