Login

Esqueci minha senha

Últimos assuntos
» Bug com a DS_LIST
por Kabeção Hoje à(s) 10:34 pm

» engine balão de fala
por Thyago Hoje à(s) 9:55 pm

» Problema estranho de gm
por gabriel33245900 Hoje à(s) 9:42 pm

» Como Criar Um Objeto Que Siga O Player
por Gonçalves Hoje à(s) 9:35 pm

» MapGen - Pt.1
por Gonçalves Hoje à(s) 7:12 pm

» Exposição de consoles
por Gonzo Hoje à(s) 6:22 pm

» [Recrutamento] Team Magma
por Skay Galaxte Hoje à(s) 6:19 pm

» [3D]Como fazer um pause
por DJDAVYD Hoje à(s) 6:14 pm

» Problema de onde sai o tiro
por Vini Hoje à(s) 4:53 pm

» [Engine] Som 3D
por gabrielsch Hoje à(s) 4:16 pm

» Topógrafo Perdido 2 Alpha 0.1
por Skay Galaxte Hoje à(s) 4:11 pm

» GmJ#01 - Participe!
por PedroX Hoje à(s) 3:54 pm

» Criação de Equipe
por Brenno557 Hoje à(s) 3:39 pm

» Como Resolver Este Bug Bizarro
por Gonçalves Hoje à(s) 2:04 pm

» Duvida em alarmes vs pausa manual
por Gonçalves Hoje à(s) 1:59 pm

» Gui interativo e randomizar
por WellingtonBecker Hoje à(s) 12:44 pm

» Ajuda Pra Código!!!!
por Skay Galaxte Hoje à(s) 11:55 am

» Plobema com o gms
por WellingtonBecker Hoje à(s) 11:54 am

» O que acham do meu 1x1 online?
por gabriel33245900 Hoje à(s) 11:36 am

» [Apresentação] Cool Green 2.0 - Dark Version
por Alex FC Hoje à(s) 10:35 am

» Match the Color
por allan_machado49 Hoje à(s) 12:32 am

» Erro no exemplo Google Mobile ads
por fabiomwm Ontem à(s) 11:36 pm

» Halloween 3d
por JoaoVanBlizzard Ontem à(s) 10:46 pm

» CBNA Light Engine - Sombra Solar
por matheusco Ontem à(s) 7:54 pm

» Erro ao abrir executável do GMS
por Lauro Ontem à(s) 2:01 pm

» Pergunta sobre o mouse em cima dos botoes
por guamaral Ontem à(s) 1:59 pm

» Minha galeria de desenhos (douglas444)
por douglas444 Ontem à(s) 1:35 pm

» troco engines uahuaahu
por Gonzo Ontem à(s) 1:32 pm

» Criar templates e templates de templates
por Fledeber Ontem à(s) 1:16 pm

» [TUTORIAL] Função facebook_graph_request
por Gonzo Ontem à(s) 12:00 pm

» Mary-A endless cursed bloody night
por JoaoVanBlizzard Ontem à(s) 9:36 am

» Island.pdf
por Tiger Qui Out 23, 2014 10:28 pm

» sprite sofre distorção
por Dotted Chaos Qui Out 23, 2014 7:06 pm

» [Grafico e programaçao] Bons?
por Isaque Onix Qui Out 23, 2014 3:42 pm

» Como fazer ir para uma room aleatoria?
por Thyago Qui Out 23, 2014 1:43 pm

» Dúvidas de como personalizar o meu load game
por Isaque Onix Qui Out 23, 2014 1:31 pm

» [CQ#22] GUERRA! O Ultimo CQ de 2014
por dharrison Qui Out 23, 2014 1:29 pm

» [Resolvido][ajuda] valor unico
por Isaque Onix Qui Out 23, 2014 12:55 pm

» Dúvida Estranha sobre Port on Screen/View in Room
por matheusco Qui Out 23, 2014 12:04 pm

» Como colidir,mas sem grudar na parede?
por vitorfernandes13 Qua Out 22, 2014 9:41 pm

» [Demo] Submundo 3D
por douglas444 Qua Out 22, 2014 8:48 pm

» [Como Faz?] Contador de jogo de corrida 3.2.1
por WellingtonBecker Qua Out 22, 2014 5:42 pm

» Splash_web no Game Maker
por Lauro Qua Out 22, 2014 2:38 pm

» Artes de conceito
por gabrielgeazi2 Qua Out 22, 2014 2:05 pm

» (Resolvido) game de tiro com visão isométrica?
por manobrother Qua Out 22, 2014 12:58 pm

» [CAMPANHA] Salvem o Chatbox!
por Mr.Rafael Qua Out 22, 2014 11:53 am

» problemas ganhar health
por JoaoVanBlizzard Qua Out 22, 2014 10:24 am

» Pixel Art - Avaliem meus tilesets
por paulovmdutra Qua Out 22, 2014 8:54 am

» como cancelo somente uma ação abaixo?
por theguitarmester Qua Out 22, 2014 8:43 am

» Perder vida por cada instancia/objeto na room
por theguitarmester Qua Out 22, 2014 8:06 am

» The Book of Josh
por matheusco Ter Out 21, 2014 11:38 pm

» [Como Faz?] Barra com Contador estilo Doodle Jump
por GeraldRobotnik Ter Out 21, 2014 6:42 pm

» League of Legends Update 19-10-2014
por Isaque Onix Ter Out 21, 2014 6:05 pm

» [CQ#21] Resultados
por douglas444 Ter Out 21, 2014 3:51 pm

» [CQ#21] Sprinters
por Sewer Crawler Ter Out 21, 2014 2:16 pm

» Bug quando Colide com inimigo
por Isaque Onix Ter Out 21, 2014 1:29 pm

» Como criar uma rampa?
por Isaque Onix Ter Out 21, 2014 12:50 pm

» Sprites-Use se quiser :)
por Mateus O de Andrade Ter Out 21, 2014 10:44 am

» [CQ#21] Harvest Nectar! Before Winter Arrives V2.1
por douglas444 Ter Out 21, 2014 9:39 am

» Block Buster
por theguitarmester Ter Out 21, 2014 8:47 am

» Projeto F1
por Mateus O de Andrade Ter Out 21, 2014 8:10 am

» Como Resolver Este Bug
por Rodrigo Santiago Ter Out 21, 2014 5:56 am

» Cartão Pré pago internacional
por cascavelo Seg Out 20, 2014 4:37 pm

» Marketplace da GMBR
por VanMall Dom Out 19, 2014 9:59 pm

» [Resolvido] Problema com draw_sprite_ext
por matheusco Dom Out 19, 2014 9:39 pm

» [Projeto]Super Mario 75
por Lizarus Dom Out 19, 2014 5:38 pm

» [CQ#21] Votação Pública - Participe!
por dharrison Sab Out 18, 2014 7:56 pm

» O perigoso Projeto! v 1.0.1
por Alex FC Sab Out 18, 2014 2:41 pm

» HERÓIS do ESPAÇO
por Lucas Farias Sab Out 18, 2014 1:54 pm

» [Duvida] Leitura de arquivo (gm8)
por Tedi Ripper Sab Out 18, 2014 1:44 pm

» Level Editor, user criar background
por ralk2 Sab Out 18, 2014 10:31 am

» Função não para!
por vinians Sex Out 17, 2014 9:30 pm

» [Resolvido]problemas com audio
por GustavoPix Sex Out 17, 2014 5:05 pm

» Pedido de sprite.
por gabriel33245900 Sex Out 17, 2014 3:47 pm

» Resetar valor inserido
por Isaque Onix Sex Out 17, 2014 3:33 pm

» Problemas ao realizar a concatenação
por Felipe Reis Magno 2 Sex Out 17, 2014 1:07 pm

» Procura-se voluntarios
por Isaque Onix Sex Out 17, 2014 12:32 pm

» Uma Ajudinha Com Spawns
por matheusco Sex Out 17, 2014 11:46 am

» Tutorial de Multiplayer/Networking Nativo - GMS
por vinians Sex Out 17, 2014 11:28 am

» Inimigo quando esta na tela ativa certa ação
por gabriel33245900 Sex Out 17, 2014 7:40 am

» Mplay impact it
por Isaque Onix Sex Out 17, 2014 3:50 am

» D.O.V.E. Alpha Demo [PC/Android]
por DooMan Qui Out 16, 2014 11:58 pm

» Tela de Load
por matheusco Qui Out 16, 2014 9:29 pm

» Primeira Atualização
por Homer J Simpson Qui Out 16, 2014 6:53 pm

» [Resolvido]Full Screen e Windowed por código
por galavernaa Qui Out 16, 2014 5:12 pm

» Desempenho do seu jogo no android
por Gonzo Qui Out 16, 2014 2:10 pm

» Engine simples cheia de codigos para Plataforma!
por gabriel33245900 Qui Out 16, 2014 12:59 pm

» Criando uma transição no GMS
por ekuhnen Qui Out 16, 2014 11:30 am

» CA#5 Sons em MIDI
por theguitarmester Qui Out 16, 2014 9:36 am

» Galeria de arte - GABRIELGEAZI2
por gabrielgeazi2 Qui Out 16, 2014 8:46 am

» [Android] Ajuda com resolução e tamanho da room
por aminaro Qua Out 15, 2014 11:20 pm

» [Duvida] redirecionando
por Gonzo Qua Out 15, 2014 10:22 pm

» [pedido] dicas para graficos
por Isaque Onix Qua Out 15, 2014 8:59 pm

» Sprites, Tiles e Gráficos Isometricos Pintados
por Kabeção Qua Out 15, 2014 8:31 pm

» Como fazer 1 checador de som
por willcraft2 Qua Out 15, 2014 8:14 pm

» Tabelas saindo cortadas
por PedroX Qua Out 15, 2014 2:55 pm

» [XCREATOR] XRunner
por vinians Qua Out 15, 2014 2:38 pm

» [Duvida] A procura do zoom padrão
por Isaque Onix Qua Out 15, 2014 2:19 pm

» Checar room?
por Isaque Onix Qua Out 15, 2014 12:25 pm


Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Knonick em Qui Jun 09, 2011 11:07 pm

Como eu faço para em 3 segundos a tela ficar toda preta, e onde eu clicar, somente onde eu clicar, essa parte da tela (um círculo com raio de 8 pixels) ficar como estava antes de ficar preta?


Última edição por Knonick em Sex Jun 10, 2011 12:00 am, editado 1 vez(es)

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Carlos L. em Qui Jun 09, 2011 11:24 pm

Crie um background preto com qualquer dimensão.
Agora vá na aba background na room e marque a opção 'visible when room starts' e a opção 'Stretch', não selecione o background criado.
Agora crie um objeto e coloque o seguinte script.
//CREATE
alarm[0] = room_speed * 3;
//ALARM [0]
background_index[0] = nome_background_criado;
//DRAW
if (mouse_check_button(mb_left))
{
if (background_index[0] == nome_background_criado)
{
draw_circle_color(mouse_x,mouse_y,16,background_color,background_color,0);
}
}

Pronto agora teste e enquanto você estiver clicando ele irá mostrar um circulo onde terá a cor do background.
flw

Carlos L.

Ranking: Nota C
Número de Mensagens: 270
Data de inscrição: 26/09/2010
Notas recebidas: C
Reputação: 8

Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por saim em Qui Jun 09, 2011 11:27 pm

Desenha uma surface do tamanho da tela, toda preta, num objeto de depth mais baixa. Desenhe ela em alpha crescente, de modo que leve 3 segundos pra chegar a 1 (a velocidade deverá ser 1/(3*room_speed)). Depois, onde clicar, você altera essa surface, subtraindo um círculo de raio 16.
Informações mais aprofundadas no meu tutorial de surfaces (link na assinatura).

saim

Ranking: Nota B
Número de Mensagens: 2944
Idade: 36
Data de inscrição: 14/01/2011
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Professional

Notas recebidas: C-D-A
Reputação: 117

Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Knonick em Qui Jun 09, 2011 11:59 pm

Carlos, o seu funcionou, mas não do jeito que eu queria. Queria que o preto ficasse em cima de tudo na tela, até os objetos. E outra coisa, a room tem background que é uma imagem, e o círculo só é criado, se o background da room for uma só cor. E por último, queria que o circulo criado não sumisse quando eu soltasse o botão esquerdo do mouse. E uma pequena correção, o círculo que quero não tem raio de 16 pixels, e sim 8 pixels (escrevi errado no tópico).

Saim, li o tutorial, mas não entendi direito o que é uma surface.

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por saim em Sex Jun 10, 2011 8:35 am

Ou, em outras palavras, "seu tutorial não serve pra nada!". Tudo bem, vamos por partes.
Uma surface é uma pintura. Tipo uma sprite, mas fácil de alterar. Ela pode ser do tamanho que você quiser e você quer ela do tamanho da tela. Ela pode conter o que você quiser e você quer que ela contenha um retângulo preto com uns buracos transparentes.
Primeiro, você cria a surface e dá um nome pra ela. Eu adoro chamar surfaces de "Surf". Depois você deixa ela toda preta.
create:
Código:
Surf=surface_create(room_width, room_height)
surface_set_target(Surf)
draw_clear_alpha(c_black, 1)
surface_reset_target()
Daí, toda vez que você clica, abre um buraco nela. Pode ser feito no global_mouse_pressed ou no step. Eu gosto do step:
Código:
if mouse_check_button_pressed(mb_left){
   surface_set_target(Surf)
   draw_set_blend_mode(bm_subtract) //passa a remover ao invés de desenhar
   draw_circle_color(mouse_x, mouse_y, 8, c_white, c_white, 0)//verifique a ordem dos argumentos
   draw_set_blend_mode(bm_normal) //volta a desenhar ao invés de remover
   surface_reset_target()
   }
E, claro, desenha a surface no draw:
Código:
draw_surface(0, 0, Surf)

saim

Ranking: Nota B
Número de Mensagens: 2944
Idade: 36
Data de inscrição: 14/01/2011
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Professional

Notas recebidas: C-D-A
Reputação: 117

Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Knonick em Sex Jun 10, 2011 9:59 am

Eu não quis falar mal do seu tutorial, só quis dizer que ficou um pouco confuso para mim (não sei se foi porque eu estava com sono).
E sobre essa mini explicação (que eu entendi), funcionou perfeitamente, só preciso que quando eu arrastar o mouse segurando o botão, continuasse criando os círculos transparentes.

---EDIT---

Já consegui, mudei o mouse_check_button_pressed para mouse_check_button, mas quando eu arrasto o mouse rapidamente, os círculos criados ficam separados, queria que ficassem juntos. Créditos garantidos no meu jogo.

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por saim em Sex Jun 10, 2011 10:48 am

Knonick escreveu:Eu não quis falar mal do seu tutorial, só quis dizer que ficou um pouco confuso para mim (não sei se foi porque eu estava com sono).
E eu não estava reclamando também. É que eu esqueço que teclado não tem tom de voz. Eu estava fazendo piada. Tá, eu não sou muito bom nisso...
Agora, quanto aos círculos separados... O problema é mais complexo. O lance é que o mouse não faz um caminho que passa por todos os pontos, ele pula de onde ele estava pra onde ele está, o que dá essa impressão de surface com catapora. Você poderia interpolar entre esses pontos e repetir o círculo um número suficientemente grande de vezes pra dar a impressão de que o movimento é contínuo, mas pra isso, você precisa armazenar uma variável pra onde o mouse estava no step anterior. E ao clicar o mouse (evento mouse_check_button_pressed), essa variável tem que ser modificada pra onde o mouse está nesse instante, senão vai dar uma zicazinha.
Posso fazer uma enginezinha, se você quiser.

saim

Ranking: Nota B
Número de Mensagens: 2944
Idade: 36
Data de inscrição: 14/01/2011
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Professional

Notas recebidas: C-D-A
Reputação: 117

Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Knonick em Sex Jun 10, 2011 10:56 am

saim escreveu:E eu não estava reclamando também. É que eu esqueço que teclado não tem tom de voz. Eu estava fazendo piada.
Ah bom, então assim sim.

E quanto ao que você falou, é melhor fazer uma engine mesmo, pois ainda sou muito novato para entender tudo que você disse.

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por saim em Sex Jun 10, 2011 11:02 am

Ei-la!

create:
Código:
mxp=mouse_x //mouse_x_previous
myp=mouse_y //mouse_y_previous
int=10 //número de interpolações
//cria a surface preta, como antes
step alternativa 1 (mais fácil de programar e mais pesada pro computador):
Código:

if mouse_check_button(mb_left){
   surface_set_target(Surf)
   draw_set_blend_mode(bm_subtract)
   var i, dir, dist;
   dir =point_direction(mxp, myp, mouse_x, mouse_y)
   dist=point_distance (mxp, myp, mouse_x, mouse_y)/int
   for(i=0; i<=int; i+=1){ //não tenho certeza se é <= ou só <
      draw_circle_color(mxp+lengthdir_x(dist*i, dir), myp+lengthdir_y(dist*i, dir), 8, c_white, c_white, 0)
      }
   draw_set_blend_mode(bm_normal)
   surface_reset_target()
   }
//agora, no final do step, atualiza o mxp/myp
mxp=mouse_x
myp=mouse_y
step alternativa 2 (levemente mais duro de programar e um pouquinho de nada mais leve pro computador):
Código:
if mouse_check_button_pressed(mb_left){
   mxp=mouse_x
   myp=mouse_y
   }
if mouse_check_button(mb_left){
   surface_set_target(Surf)
   draw_set_blend_mode(bm_subtract)
   var i, dir, dist;
   dir =point_direction(mxp, myp, mouse_x, mouse_y)
   dist=point_distance (mxp, myp, mouse_x, mouse_y)/int
   for(i=0; i<=int; i+=1){ //não tenho certeza se é <= ou só <
      draw_circle_color(mxp+lengthdir_x(dist*i, dir), myp+lengthdir_y(dist*i, dir), 8, c_white, c_white, 0)
      }
   draw_set_blend_mode(bm_normal)
   surface_reset_target()
   //atualiza mxp/myp só se o mouse estiver apertado
   mxp=mouse_x
   myp=mouse_y
   }

Edit: Hei, testei aqui, o efeito é bem legal!


Última edição por saim em Sex Jun 10, 2011 11:17 am, editado 1 vez(es)

saim

Ranking: Nota B
Número de Mensagens: 2944
Idade: 36
Data de inscrição: 14/01/2011
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Professional

Notas recebidas: C-D-A
Reputação: 117

Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Knonick em Sex Jun 10, 2011 11:16 am

Não funcionou. A tela não fica preta, e quando eu clico na tela dá erro.

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por saim em Sex Jun 10, 2011 11:19 am

Veja o último comentário no create event. Você criou a surface? (só pegar o create event anterior e copiar/colar em algum lugar do novo create event).Ah, precisa manter o draw event, também!

saim

Ranking: Nota B
Número de Mensagens: 2944
Idade: 36
Data de inscrição: 14/01/2011
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Professional

Notas recebidas: C-D-A
Reputação: 117

Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Knonick em Sex Jun 10, 2011 7:29 pm

Funcionou! Ainda fica bolinhas separadas algumas vezes, mas tem que arrastar rápido para isso acontecer. Se desse para arrumar ficaria melhor. E outra coisa, queria que a tela só ficasse preta depois de 3 segundos.

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por saim em Sex Jun 10, 2011 7:53 pm

Pra resolver o problema da velocidade, aumente a interpolação. Eu usei int=10, você pode usar 20, 30, 100, o que quiser.
Como assim, "a tela só ficasse preta depois de 3 segundos"? Ela vai escurecendo aos poucos ou leva um tempo pra aparecer a surface?
Lembre-se que você pode desenhar uma surface com alpha diferenciado usando draw_surface_ext.

saim

Ranking: Nota B
Número de Mensagens: 2944
Idade: 36
Data de inscrição: 14/01/2011
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Professional

Notas recebidas: C-D-A
Reputação: 117

Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por Knonick em Sex Jun 10, 2011 8:06 pm

O bug da interpolação eu arrumei, e a tela é pra ir escurecendo e demorar 3 segundos para ficar preta.

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0

Voltar ao Topo Ir em baixo

Re: Como fazer a tela ficar toda preta e voltar ao normal onde clica?

Mensagem por saim em Sab Jun 11, 2011 11:29 am

vai aumentando o alpha aos poucos. Começa com alpha=0 e a cada step, aumente1/(3*room_speed).

saim

Ranking: Nota B
Número de Mensagens: 2944
Idade: 36
Data de inscrição: 14/01/2011
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Professional

Notas recebidas: C-D-A
Reputação: 117

Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum