Jump to content

Ubicar una gui en distintos tamaños de pantalla?


lLinux

Recommended Posts

Te hago una pregunta no? para que usas tablas? si sencillamente podrias hacer en la misma linea?

Otra pregunta de que tamaño es tu Pantalla? osea cuantas pulgadas?.

Si no funciona esto.ps nose cual seria el problema

Dónde usó tablas? o.O

Y el script que el hizo se puede hacer sencillamente en una línea.

Tampoco le entendi, pero de seguro penso que las variables son tablas.

Eso mismo pensé...

Link to comment
Linux pasame tu Client asi te lo hago pero sin los x y y hechos yo te los hago bien.

Por mp.

es este:

  
    local sx, sy = guiGetScreenSize() --Obtiene el tamaño de la pantalla 
------------------------------------- 
-- 1366, 768 
--x - y 
    parax1212 = 1212/1366 
    parax1210 = 1210/1366 
    parax1211 = 1211/1366 
    paray19 = 19/768 
    paray17 = 17/768 
    paray18 = 18/768 
-- w - h 
    paraw1299 = 1299/1366 
    paraw1297 = 1297/1366 
    paraw1298 = 1298/1366 
    -- 
    parah56 = 56/768 
    parah54 = 54/768 
    parah55 = 55/768 
------------------------------------- 
  
addEventHandler("onClientRender", root, 
    function() 
        local time = getRealTime() --Obtiene el tiempo real. 
        local hours = time.hour --Obtiene las horas del tiempo real. 
        local minutes = time.minute --Obtiene los minutos del timpo real. 
        t1 = dxDrawText(""..hours..":"..minutes.."", sx*parax1212, sy*paray19, 1299, 56, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t2 = dxDrawText(""..hours..":"..minutes.."", sx*parax1212, sy*paray17, 1299, 54, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t3 = dxDrawText(""..hours..":"..minutes.."", sx*parax1210, sy*paray19, 1297, 56, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t4 = dxDrawText(""..hours..":"..minutes.."", sx*parax1210, sy*paray17, 1297, 54, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t5 = dxDrawText(""..hours..":"..minutes.."", sx*parax1211, sy*paray18, 1298, 55, tocolor(255, 255, 255, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
    end 
) 
  

La definición de las variables 't1', 't2', 't3', 't4' y 't5' es un poco innecesaria, en cuanto al código podría darte problemas en pantallas muy pequeñas, eso podría ser resuelto con un par de cálculos basados en 'dxGetFontHeight' y 'dxGetTextWidth'.

Link to comment
Linux pasame tu Client asi te lo hago pero sin los x y y hechos yo te los hago bien.

Por mp.

es este:

  
    local sx, sy = guiGetScreenSize() --Obtiene el tamaño de la pantalla 
------------------------------------- 
-- 1366, 768 
--x - y 
    parax1212 = 1212/1366 
    parax1210 = 1210/1366 
    parax1211 = 1211/1366 
    paray19 = 19/768 
    paray17 = 17/768 
    paray18 = 18/768 
-- w - h 
    paraw1299 = 1299/1366 
    paraw1297 = 1297/1366 
    paraw1298 = 1298/1366 
    -- 
    parah56 = 56/768 
    parah54 = 54/768 
    parah55 = 55/768 
------------------------------------- 
  
addEventHandler("onClientRender", root, 
    function() 
        local time = getRealTime() --Obtiene el tiempo real. 
        local hours = time.hour --Obtiene las horas del tiempo real. 
        local minutes = time.minute --Obtiene los minutos del timpo real. 
        t1 = dxDrawText(""..hours..":"..minutes.."", sx*parax1212, sy*paray19, 1299, 56, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t2 = dxDrawText(""..hours..":"..minutes.."", sx*parax1212, sy*paray17, 1299, 54, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t3 = dxDrawText(""..hours..":"..minutes.."", sx*parax1210, sy*paray19, 1297, 56, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t4 = dxDrawText(""..hours..":"..minutes.."", sx*parax1210, sy*paray17, 1297, 54, tocolor(0, 0, 0, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
        t5 = dxDrawText(""..hours..":"..minutes.."", sx*parax1211, sy*paray18, 1298, 55, tocolor(255, 255, 255, 255), 1.50, "pricedown", "left", "top", false, false, true, false, false) 
    end 
) 
  

La definición de las variables 't1', 't2', 't3', 't4' y 't5' es un poco innecesaria, en cuanto al código podría darte problemas en pantallas muy pequeñas, eso podría ser resuelto con un par de cálculos basados en 'dxGetFontHeight' y 'dxGetTextWidth'.

Las variables t1 al t5 son inutiles eso ya lo se, solo lo puse para no perderme a la hora de acomodar.

Link to comment

Un truco sencillo que aprendí con la practica es tener una coordenada de referencia en la pantalla que generalmente es el centro, esquinas o costados (cosa que se usa en dxDrawText), y a partir de esos puntos ya no usar mas coordenadas (con coordenadas me refiero a las multiplicaciones o diviciones que se le hace a las variables sx y sy) sino que tomar solo tu coordenada y sumarle o restarle parámetros, asi te aseguras de que al cambiar de dimensíon tu pantalla todo se quedara en su lugar. El unico detalle de este truco es que no debes pasarte de las dimensiones mínimas de una pantalla pues si te pasas no se vera el render, o solo se vera una parte de este.

Link to comment
Un truco sencillo que aprendí con la practica es tener una coordenada de referencia en la pantalla que generalmente es el centro, esquinas o costados (cosa que se usa en dxDrawText), y a partir de esos puntos ya no usar mas coordenadas (con coordenadas me refiero a las multiplicaciones o diviciones que se le hace a las variables sx y sy) sino que tomar solo tu coordenada y sumarle o restarle parámetros, asi te aseguras de que al cambiar de dimensíon tu pantalla todo se quedara en su lugar. El unico detalle de este truco es que no debes pasarte de las dimensiones mínimas de una pantalla pues si te pasas no se vera el render, o solo se vera una parte de este.

me das un ejemplo? porfavor

Link to comment
  • Recently Browsing   0 members

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