Pipee20k Posted June 9, 2015 Share Posted June 9, 2015 Hola, estoy haciendo un simple script que crea un barrita de noticias se podria decir, lo que quiero hacer y no se como es que cuando el texto termine de mostrarse vuelva a aparecer desde el inicio http://i.imgur.com/6fTuZ3P.jpg sX, sY = guiGetScreenSize () startInfo = getTickCount() addEventHandler ("onClientRender", root, function () local fontHeight = dxGetFontHeight (1, "default-bold") local fontWidth = dxGetTextWidth ("News:", 1, "default-bold") local now = getTickCount () local count = now-startInfo local movex = (sX-fontWidth-5)-(count*0.1) dxDrawRectangle (fontWidth+10, sY-fontHeight-2, sX-fontWidth+10, fontHeight+2, tocolor (0, 0, 0, 150)) dxDrawText ("Test Test Test Test Test Test Test Test", movex, sY-fontHeight-1, movex, sY, tocolor ( 255, 255, 255, 255 ), 1, "default-bold") dxDrawRectangle (0, sY-fontHeight-2, fontWidth+10, fontHeight+2, tocolor (0, 102, 51, 255)) dxDrawText ("News:", 5, sY-fontHeight-1, sX, sY, tocolor ( 255, 255, 255, 255 ), 1, "default-bold") end ) Link to comment
Tomas Posted June 9, 2015 Share Posted June 9, 2015 sX, sY = guiGetScreenSize () text = "Test Test Test Test Test Test Test Test" movex = sX addEventHandler ("onClientRender", root, function () local fontHeight = dxGetFontHeight (1, "default-bold") local fontWidth = dxGetTextWidth ("News:", 1, "default-bold") local textWidth = dxGetTextWidth (text, 1, "default-bold") movex = movex - 5 if movex+textWidth <= 0 then movex = sX end dxDrawRectangle (fontWidth+10, sY-fontHeight-2, sX-fontWidth+10, fontHeight+2, tocolor (0, 0, 0, 150)) dxDrawText (text, movex, sY-fontHeight-1, movex, sY, tocolor ( 255, 255, 255, 255 ), 1, "default-bold") dxDrawRectangle (0, sY-fontHeight-2, fontWidth+10, fontHeight+2, tocolor (0, 102, 51, 255)) dxDrawText ("News:", 5, sY-fontHeight-1, sX, sY, tocolor ( 255, 255, 255, 255 ), 1, "default-bold") end ) Link to comment
Pipee20k Posted June 9, 2015 Author Share Posted June 9, 2015 Tomas una pregunta, el evento onClientRender cada cuanto se ejecuta? Link to comment
Tomas Posted June 9, 2015 Share Posted June 9, 2015 Tomas una pregunta, el evento onClientRender cada cuanto se ejecuta? Todo depende de tus FPS, más FPSs = más ejecuciones, yo hice una prueba y en 10 segundos se ejecutó 400 veces, pero todo depende de tus FPS como antes mencioné. Render: 400 , Pre Render: 401 Render: 751 , Pre Render: 752 Render: 1105 , Pre Render: 1106 Render: 1517 , Pre Render: 1518 Render: 1994 , Pre Render: 1995 Render: 2479 , Pre Render: 2480 Render: 2938 , Pre Render: 2939 Render: 3358 , Pre Render: 3359 Render: 3745 , Pre Render: 3746 Render: 4149 , Pre Render: 4150 Link to comment
Pipee20k Posted June 10, 2015 Author Share Posted June 10, 2015 Podría decirse que cada que se le actualice la pantalla al jugador? Link to comment
Recommended Posts