ODutii Posted August 26, 2019 Share Posted August 26, 2019 Como faço para deixar meu painel Dx piscando? tipo, preto, vermelho,preto .... Link to comment
Other Languages Moderators Lord Henry Posted August 26, 2019 Other Languages Moderators Share Posted August 26, 2019 Piscar é uma coisa. Alternância de cores é outra. Link to comment
Other Languages Moderators Lord Henry Posted August 26, 2019 Other Languages Moderators Share Posted August 26, 2019 Mas pelo que entendi, vc quer que seu painel fique alternando entre preto e vermelho. Mas qual velocidade vc espera fazer isso? 1 cor a cada frame? 1 cor a cada segundo? Link to comment
ODutii Posted August 26, 2019 Author Share Posted August 26, 2019 Uma cor por 0.5 segundos Link to comment
Other Languages Moderators Lord Henry Posted August 27, 2019 Other Languages Moderators Share Posted August 27, 2019 (edited) Então sua lógica é a seguinte: Cria uma variável chamada red (pode ser qualquer coisa, estou exemplificando) com valor 0. Inicia o render do painel (onClientRender) No dxDraw do painel, onde vc quer que ocorra a alternância, use tocolor (red, 0, 0, 255) (esse 255 é o alpha, você pode continuar usando o valor que já estava) O painel vai começar sendo renderizado como preto, pois red tem valor 0. Inicia um setTimer que deverá estar numa variável, com duração de meio segundo (500 milisegundos) e com infinitas repetições (0). Dentro desse timer, verifica se o valor de red == 0. Se for, então red = 255. Fazendo com que o painel fique vermelho a partir deste instante. Senão, red = 0. Fazendo com que o painel fique preto a partir deste instante. Por ser um timer infinito, ele vai ficar fazendo essa verificação a cada meio segundo, alternando o valor de red de 0 para 255 e vice-versa. Quando parar de renderizar o painel (por algum motivo, o player fechar o painel, etc), então deve-se dar killTimer naquele setTimer criado para a cor. Edited August 27, 2019 by Lord Henry Link to comment
ODutii Posted August 27, 2019 Author Share Posted August 27, 2019 (edited) local red = 0 setTimer ( function() if red == 0 then red = 255 else red = 0 end end, 500, 0) dxDrawRectangle(504, 194, 369, 206, tocolor(red, 255,255,255), false) Não deu Funcionou sim kk, esqueci o end, mais agora, eu coloquei esse script em uma tecla, quando eu aperto ele pisca, e como faz para apertar denovo essa tecla e parar de piscar? function chan() setTimer ( function() if red == 63 then red = 255 else red = 63 end end, 100, 0) end end addCommandHandler("mudarcor1",chan) bindKey("num_2", "down", "mudarcor1") esse é o atual, agora para apertar novamente e parar de piscar Edited August 27, 2019 by ODutii Link to comment
Other Languages Moderators Lord Henry Posted August 27, 2019 Other Languages Moderators Share Posted August 27, 2019 (edited) Você esqueceu disso: Quote 5. Inicia um setTimer que deverá estar numa variável E disso: Quote 8. Quando parar de renderizar o painel (por algum motivo, o player fechar o painel, etc), então deve-se dar killTimer naquele setTimer criado para a cor. E você criou o setTimer com 100 milisegundos. Meio segundo é 500 e não 100. E seu tocolor também está errado. Era pra usar 0 e não 255 no segundo e terceiro valor. Edited August 27, 2019 by Lord Henry Link to comment
ODutii Posted August 27, 2019 Author Share Posted August 27, 2019 3 minutes ago, Lord Henry said: Você esqueceu disso: E disso: E você criou o setTimer com 100 milisegundos. Meio segundo é 500 e não 100. Era so pra testar 4 minutes ago, Lord Henry said: Você esqueceu disso: E disso: E você criou o setTimer com 100 milisegundos. Meio segundo é 500 e não 100. if botao == 0 then local Timer = setTimer(function() if red == 63 then botao = 1 red = 255 else red = 63 end botao = 1 end, 121, 0) botao = 1 else killTimer (Timer) botao = 0 red = 63 Tentei esse ai, mas mesmo assim não para de piscar Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now