В маньяке с бензопилой помню было такое, хп и стамина отображались сверху в виде плавающего текста, только мне для другого надо. Не знаю как закрепить, пытался многими способами, но ни к чему хорошему не пришел, может есть идеи как это исполнить на GUI ну или если на Jass, то тогда объяснить, что и как там можно менять и для чего)

Например, так.
Создаёшь текст, периодическим триггером на 0.01 секунды его смещаешь. Но всё равно текст сильно дёргается. Надо вскрывать маньяка, либо DGUI, чтобы посмотреть, как там ровно сделано.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
7
8gabriel8:
Можно прикрепить к положению камеры игрока и с очень малым периодом смещать в текущее местоположение, если координаты камеры сменились. По такому принципу сделан DGUI.
я так и пытался, только не понял как прикрепить к положению камеры игрока, можно тут поподробнее.
26
Например, так.
Создаёшь текст, периодическим триггером на 0.01 секунды его смещаешь. Но всё равно текст сильно дёргается. Надо вскрывать маньяка, либо DGUI, чтобы посмотреть, как там ровно сделано.
Загруженные файлы
Принятый ответ
24
Или переходить на 1.31 и делать интерфейсный фрейм новыми нативками и забыть про DGUI и плавающий текст как про страшный сон.
7
NazarPunk:
8gabriel8, главное утечеч не наплодить
к счастью для меня, я в курсе про утечки, я сейчас попробую сделать и отпишу о результате, спасибо.
Эх и в правду сильно дергается, в DGUI я к сожалению не разобрался, пока не знаю как буду решать, пока оставлю дерганный, если в будущем придумаю как усовершенствовать, то сделаю что-нибудь, всем спасибо.
26
Не проверил на кручение колёсиком мыши. Если что с колёсиком будет не так, то можно экспериментировать ещё с Source Camera, но там прибавлять надо уже не 512, а, например, 1408.
21
prog, а Вы не знаете как это сделать? Я пытался, но ничего не смог сделать, едниственное, что смог сделать, это сдвинуть в места "Нет расходов" и только то, что вызывается во время игры, а сам свою создать никак не могу.
        local mainFrame = BlzGetOriginFrame( ORIGIN_FRAME_TOP_MSG, 0 )
        local text      = BlzCreateFrame( "ResourceBarUpkeepText", mainFrame, 0, 0 )

        SetPlayerState( Player(0), PLAYER_STATE_RESOURCE_FOOD_USED, 99 )

        BlzFrameSetText( text, "P I C K   H E R O" )
        BlzFrameSetVisible( text, true )

        BlzFrameSetPoint( text, FRAMEPOINT_TOP, mainFrame, FRAMEPOINT_CENTER, 0.0, 0.0 )

        print( "ASD" )
21
NazarPunk, я там прочитал и сделал то, что выше скинул. Код не работает.
30
я там прочитал и сделал то
Плохо читали, там же есть пример с текстом
function TestFrameEvent takes nothing returns nothing
   //call BJDebugMsg("TestFrameEvent")
   //call BJDebugMsg("Player: "+GetPlayerName(GetTriggerPlayer()))

   if BlzGetTriggerFrameEvent() ==FRAMEEVENT_CONTROL_CLICK then
       call BJDebugMsg("FRAMEEVENT_CONTROL_CLICK")

   elseif BlzGetTriggerFrameEvent() == FRAMEEVENT_MOUSE_ENTER then
       call BJDebugMsg("FRAMEEVENT_MOUSE_ENTER")
   elseif BlzGetTriggerFrameEvent() == FRAMEEVENT_MOUSE_LEAVE then
       call BJDebugMsg("FRAMEEVENT_MOUSE_LEAVE")
   endif
endfunction

function TestClickableButton takes nothing returns nothing
local trigger trig = CreateTrigger()
  local framehandle mainbutton = BlzCreateFrame("ScoreScreenBottomButtonTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI,0), 0,  0)
   local framehandle imgFrame = BlzGetFrameByName("ScoreScreenButtonBackdrop",  0)
   local framehandle tooltipBox = BlzCreateFrame("ListBoxWar3", mainbutton, 0,  0)
  local framehandle tooltip = BlzCreateFrameByType("TEXT", "StandardInfoTextTemplate", tooltipBox, "StandardInfoTextTemplate",  0)

   call BlzFrameSetSize(mainbutton, 0.04, 0.04)

   call BlzFrameSetSize(tooltipBox, 0.3, 0.1)
   call BlzFrameSetSize(tooltip, 0.28, 0.08)//tooltip-Text is smaller than the box, so it wont touch the border.

  call BlzFrameSetTexture(imgFrame, "ReplaceableTextures\\CommandButtons\\BTNPeasant.blp", 0, true) //set the image of the imgFrame, with 0 the texture is streched with 1 the frame is filled with that texture.

   call BlzFrameSetAbsPoint(mainbutton, FRAMEPOINT_TOPLEFT, 0.4, 0.3) //positionate button on the screen


   call BlzFrameSetPoint(tooltip, FRAMEPOINT_CENTER, tooltipBox, FRAMEPOINT_CENTER, 0.0, 0.0) //place tooltip into tooltipBox
  call BlzFrameSetPoint(tooltipBox, FRAMEPOINT_BOTTOM, mainbutton, FRAMEPOINT_TOP, 0.0, 0.0) //place tooltipBox with its bottom to the mainButtons TOP. tooltipBox will be over the mainbutton

   call BlzFrameSetTooltip(mainbutton, tooltipBox) //show tooltipBox only when mainbutton is hovered with the mouse.
  call BlzFrameSetText(tooltip, "Sound\\Music\\mp3Music\\Credits.mp3|nSound\\Music\\mp3Music\\PH.mp3|n|cffffcc00Sound\\Music\\mp3Music\\War2IntroMusic.mp3") //text of the tooltip


   call TriggerAddAction(trig, function TestFrameEvent)
   call BlzTriggerRegisterFrameEvent(trig, fh, FRAMEEVENT_CONTROL_CLICK)
   call BlzTriggerRegisterFrameEvent(trig, fh, FRAMEEVENT_MOUSE_ENTER)
   call BlzTriggerRegisterFrameEvent(trig, fh, FRAMEEVENT_MOUSE_LEAVE)

endfunction
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.