Jump to content

Потеря обработчика эвента onClientRender после...


Recommended Posts

После сворачивания МТА с обработчиком события onClientRender на dx функции. Т.е. обработка события не продолжается после разворачивания окна. Только я это наблюдаю, баг ли это?

Link to comment

ок, проблема в чем-то другом.

-- Конструктор 
fgui = {    drawCustomImage = function( x, y, w, h, imageName ) 
        local renderElement = dxCreateRenderTarget( w, h, true ) 
        dxSetRenderTarget( renderElement, true ) 
        dxDrawImage( 0, 0, w, h, imageName ) 
     
        dxSetRenderTarget( ) 
         
        return { general = renderElement, xPos = x, yPos = y, width = w, height = h } 
    end;  
   } 

map = {} -- "Карты" окон 
     
map.secretWindow = { 
    width = 860; height = 600; 
    elements = { 
        fgui.drawCustomImage( ( screenX - 860 ) / 2, ( screenY - 600 ) / 2, 860, 600, "interface/faders/black.dds" ); 
        --fgui.drawLine( 100, 500, 500, 500 ); 
        }; 
    } 

  
local render = {} 
  
addEventHandler( 'onClientRender', root, function() 
    local resul = false 
    for _, renderData in ipairs( render ) do 
       for i, elementData in ipairs( renderData ) do 
        resul = dxDrawImage( elementData.xPos, elementData.yPos, elementData.width, elementData.height, elementData.general ) 
       end 
    end 
     
    dxDrawText( tostring( resul ), 100, 500 ) -- выводит true после активации окна и  после разворачивания МТА 
end ) 

function showFWindow( _, _, self ) 
    table.insert( render, map.barter.elements ) 
end 
  
bindKey( 'n', 'down', showFWindow, map.secretWindow ) 

WTF?! 

Link to comment

При сворачивании игры все RenderTarget'ы очищаются. Поэтому после восстановления окна ты должен обновить их. Можешь использовать событие onClientRestore. Кроме того, насколько я помню RenderTarget'ы можно обновлять только в теле события отрисовки, чего в твоем коде нет.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...