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)中出现的问题与解决的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 用Python驱动Headless Ch
- 下一篇: 解决:tensorflow安装成功但提示
