Jump to content

GUI Resolution


Lalalu

Recommended Posts

Holaaaaaaaaaaaaa, quisiera saber que debo hacer para adaptar un GUI, imagen, texto, de forma que se vea bien en todas las resoluciones :/ 

        dxDrawImage(x * 717, y * 101, x * 380, y * 80, "images/main.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)

 

Edited by Lalalu
Link to comment

Yo utilizo lo siguiente:

local sx, sy = guiGetScreenSize()
local tuX, tuY = 1024, 768 -- La resolucion con la que estas ahora mismo o con la que haces la gui 
local x, y = (sx/tuX), (sy/tuY)

-- Y luego pues solo haces esto (te dejo un ejemplo de una ventana centrada y otra normal) 

-- Ventana centrada
local w, h = 500, 400
dxDrawRectangle( ( sx - x*w )/2, ( sy - y*w )/2, x*w, y*h )

-- Ventana normal
dxDrawRectangle( x*20, y*300, x*200, y*350 )

Me ha funcionado de lujo por el momento así que para mí es el método más fácil de entender y más efectivo. Además, no tendrás problemas con el isMouseInPosition como yo lo pensaba al principio.

He hecho gridList dx con ésto y lo mismo, ningún problema.

Suerte!

  • Thanks 1
Link to comment

HI you can use

screenW, screenH = guiGetScreenSize()
sWidth, sHeight = guiGetScreenSize()
local resolutionX = 1280 --La resolucion con la que estas ahora mismo o con la que haces la gui
local resolutionY = 960 -- La resolucion con la que estas ahora mismo o con la que haces la gui
_dxDrawRectangle = dxDrawRectangle
_dxDrawText = dxDrawText
_dxDrawLine = dxDrawLine
_dxDrawImage = dxDrawImage

function dxDrawText( text,posX,posY,right,bottom,color,scale,mixed_font,alignX,alignY,clip,wordBreak,postGUI,kk,gg )
	return _dxDrawText(tostring( text ), ( posX/resolutionX )*sWidth, ( posY/resolutionY )*sHeight, ( right/resolutionX )*sWidth, ( bottom/resolutionY)*sHeight, color, ( sWidth/resolutionX )*scale, mixed_font, alignX, alignY, clip, wordBreak, postGUI, kk, gg)
end
function dxDrawRectangle( posX, posY, width, height,color,postGUI )
    return _dxDrawRectangle(( posX/resolutionX )*sWidth, ( posY/resolutionY )*sHeight, ( width/resolutionX )*sWidth, ( height/resolutionY )*sHeight, color, postGUI)
end
function dxDrawImage( posX, posY, width, height, filename, rotation, r2, r3, color,postGUI )
    return _dxDrawImage(( posX/resolutionX )*sWidth,( posY/resolutionY )*sHeight,( width/resolutionX )*sWidth,( height/resolutionY )*sHeight, filename, rotation, r2, r3, color, postGUI)
end
function dxDrawLine( posX, posY, width, height,color, size, postGUI )
    return _dxDrawLine(( posX/resolutionX )*sWidth, ( posY/resolutionY )*sHeight, ( width/resolutionX )*sWidth, ( height/resolutionY )*sHeight, color, size, postGUI)
end

 

  • Thanks 1
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...