魔兽地图编辑器吧 关注:64,376贴子:3,828,211
  • 19回复贴,共1

自定义UI与获取鼠标在游戏内坐标问题讨论

只看楼主收藏回复

最近在制作自定义UI,
查了相关API后开始制作,过程中发现几个问题,希望大佬们给点指示
1.STATUSBAR无法点击穿透(即使SetEnable false),这个我想过用鼠标坐标来模拟穿透,但效果可想的不好,以及过程比较麻烦;
2.冷却指示器(STATUSBAR)无法缩放,我使用过外置的模型,但是效果依然不是很好,应该只能某个尺寸用规定某个模型了;
3.窗口化游戏时,获取的鼠标坐标很诡异(例如:最大化窗口化时最小的Y轴值为-23 我的屏幕分辨率为2560*1440),想问下窗口化时如何正确的转化鼠标坐标为UI坐标;
其实以上都是为了制作还原一个原生按钮功能,不知道还有没有其他方便的思路可以参考,希望大佬们指明


IP属地:福建1楼2022-07-17 18:03回复
    入手内置japi一切问题迎刃而解


    IP属地:山东来自iPhone客户端2楼2022-07-17 22:08
    收起回复
      点击穿透可以尝试用fdf在模板里面加LayerStyle "IGNORETRACKEVENTS"
      模型也许可以在fdf里面用SpriteScale缩放 不过不确定是否仅针对Sprite
      正确的转化鼠标坐标为UI坐标
      native DzGetMouseXRelative takes nothing returns integer
      native DzGetMouseYRelative takes nothing returns integer
      native DzGetClientWidth takes nothing returns integer
      native DzGetClientHeight takes nothing returns integer
      这4个即可转化鼠标坐标为UI坐标
      x = ( (DzGetMouseXRelative() * 1.) / (DzGetClientWidth() * 1.) ) * 0.8
      y = 0.6 - ( (DzGetMouseXRelative() * 1.) / (DzGetClientHeight() * 1.) ) * 0.6


      IP属地:浙江4楼2022-07-18 20:34
      收起回复