Есть формула
--размеры мини-карты
MiniMap_Width = 0.139375
MiniMap_Height = 0.138125
--положение точки framepoint_BottomLeft миникарты
MiniMap_X = 0.009375
MiniMap_Y = 0.006875
--размеры границ камеры
CameraBounds_Width = GetRectWidthBJ(bj_mapInitialCameraBounds)
CameraBounds_Height = GetRectHeightBJ(bj_mapInitialCameraBounds)

function GetScreenPosAtMiniMap(x,y)
  local ScreenX = (((CameraBounds_Width/2)+x)/CameraBounds_Width)*MiniMap_Width
  local ScreenY = (((CameraBounds_Height/2)+y)/CameraBounds_Height)*MiniMap_Height
  return ScreenX,ScreenY
end
че-то код неправильно создается. Он немного левее мини-карты создается
QueueOrders.WayPointAtMiniMap[h][1] = BlzCreateFrameByType("SPRITE", "MinimapWaypoint", gameUI, "MinimapWaypoint", 0)
local Sx, Sy = GetScreenPosAtMiniMap(x,y)
BlzFrameSetAbsPoint(QueueOrders.WayPointAtMiniMap[h][1], FRAMEPOINT_CENTER, MiniMap_X+Sx, MiniMap_Y+Sy)
--BlzDestroyFrame(QueueOrders.WayPointAtMiniMap[h][1])
Что делать то? Мне кажется формула должна быть правильной

Принятый ответ

формула оказалась верной. Но с жуткими погрешностями. Нужно будет offsets править.
Оказывается дело было в fdf-file, не нужно было размеры указывать там. Странно, надо исправить
Frame "SPRITE" "MinimapWaypoint" {
    //Width 0.362,
    //Height 0.037,
    BackgroundArt "UI\Minimap\Minimap-Waypoint.mdx",
}
`
ОЖИДАНИЕ РЕКЛАМЫ...
3
27
3 года назад
Отредактирован MpW
3
формула оказалась верной. Но с жуткими погрешностями. Нужно будет offsets править.
Оказывается дело было в fdf-file, не нужно было размеры указывать там. Странно, надо исправить
Frame "SPRITE" "MinimapWaypoint" {
    //Width 0.362,
    //Height 0.037,
    BackgroundArt "UI\Minimap\Minimap-Waypoint.mdx",
}
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.