欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

MC中使用鼠标的坐标值(xmouse/ymouse)中出现的问题与解决

发布时间:2023/12/29 编程问答 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 MC中使用鼠标的坐标值(xmouse/ymouse)中出现的问题与解决 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目标效果:制作潜艇大战时,需要player(海平面上的舰只)根据鼠标点击的位置沿海平面(横版游戏,海平面为y轴)移动
分析:player移动时,其在x轴方向的位置固定不变,侦听鼠标y轴坐标的位置移动
制作:在背景图片上设置鼠标点击事件,产生移动效果,考虑用Moveto来实现:MoveTo("player", SW_X_PlayerPosition, ymouse, 2, "Game Center", "");
           // SW_X_PlayerPosition:player的X轴位置;
           // ymouse:鼠标的y轴位置;
          // 2:移动速度。
遇到的问题:player只能沿海平面的中点往下移动
调试:创建一个text对象,用sprinf来获取坐标信息,查看ymouse的坐标位置,发现ymouse的值从0-480,而player的y轴取值从-240 - 240,因此直接使用这个值就会产生上述问题。
解决:
        修正ymouse的y轴坐标原点,使其与GameCenter的原点一致:ymouse - 240
        MoveTo("player", SW_X_PlayerPosition, ymouse - view.height / 2, 2, "Game Center", "");
        问题解决。
结论:
ymouse的坐标系是以屏幕左上角顶点为原点,而view的坐标系是以屏幕中心为原点。

转载于:https://www.cnblogs.com/mcgame/archive/2013/05/20/3089046.html

总结

以上是生活随笔为你收集整理的MC中使用鼠标的坐标值(xmouse/ymouse)中出现的问题与解决的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。