Login

Esqueci minha senha

Últimos assuntos
» Testar ping(em ms) pra qualquer ip digitado igual
por icarodantas123 Hoje à(s) 01:35

» [DÚVIDA] Sprite que fica sempre no final do texto
por matheusco Hoje à(s) 01:22

» Movimento do cano do Tank!!
por Zero. Ontem à(s) 21:29

» Uma mensagem aos participantes do CM#02
por polosam Ontem à(s) 18:59

» Problemas com sprite offset e lengthdir !!
por ChicoGamer Ontem à(s) 17:40

» Duvida Simples
por aminaro Ontem à(s) 17:38

» Mapa do universo
por Isaque Onix Ontem à(s) 14:03

» Meu Mapa
por Isaque Onix Ontem à(s) 12:01

» [CM#2] Kenium
por DR games Ontem à(s) 10:52

» Crio Trilha Sonora para Games!
por itarodrigo Ontem à(s) 10:17

» [Alpha] Magic Royale
por theguitarmester Ontem à(s) 09:36

» [CM#2] Hunter of Souls
por seymore Qui 23 Abr 2015, 22:49

» Spyre
por Isaque Onix Qui 23 Abr 2015, 22:01

» Windows Phone vs Android, Vale a Pena Desenvolver?
por willyruduit Qui 23 Abr 2015, 19:30

» sonic slash smash!preciso de sugestões
por Um Gamer Qualquer Qui 23 Abr 2015, 18:48

» Open Game Art - Convite
por Lukbebalduke Qui 23 Abr 2015, 16:18

» Preciso de dicas sobre sonoplastia.
por Mateus O de Andrade Qui 23 Abr 2015, 15:34

» [Duvida] Resoluções android
por aminaro Qua 22 Abr 2015, 23:42

» Iniciar Determinada Aplicação
por Gonzo Qua 22 Abr 2015, 23:08

» Sonic World 2
por Um Gamer Qualquer Qua 22 Abr 2015, 21:39

» Como deixar a room preta e branca?
por Markituh Qua 22 Abr 2015, 21:39

» E permitido isso?
por Markituh Qua 22 Abr 2015, 20:33

» Ajuda com potion em pixelArt
por chicoweb Ter 21 Abr 2015, 23:24

» Problemas na compilação
por Meokor Ter 21 Abr 2015, 13:16

» Alternativa para Mesa Digitalizadora?
por polosam Ter 21 Abr 2015, 10:54

» Video Aula de Pixelart
por Isaque Onix Seg 20 Abr 2015, 22:03

» Preciso de um Artista
por seymore Seg 20 Abr 2015, 20:25

» Artigo|Discussão - Programação Orientada a Eventos
por Kabeção Seg 20 Abr 2015, 20:14

» Trap For Ants [#LD32]
por WellingtonBecker Seg 20 Abr 2015, 19:39

» Carrot Bender [#LD32]
por paulovmdutra Seg 20 Abr 2015, 15:29

» [Arte]Avaliem esse Esboço
por LightVelox Seg 20 Abr 2015, 15:28

» Formação de uma Equipe
por itarodrigo Seg 20 Abr 2015, 07:40

» Tarsonic, o ouriço das selvas
por efraim leonardo Dom 19 Abr 2015, 15:34

» [Duvida]Preciso de conselhos de voces
por Rodrigo Santiago Dom 19 Abr 2015, 07:06

» Criar mapa de imagem para seleção de fases
por Isaque Onix Dom 19 Abr 2015, 01:47

» [Concurso Mensal #02] - Prêmio de R$ 200 na Steam
por WellingtonBecker Sab 18 Abr 2015, 21:41

» [Resolvido]Objeto não pisca
por Limalokão Sab 18 Abr 2015, 20:51

» [Resolvido]GMS - Android imagem mega comprimida
por Gonzo Sex 17 Abr 2015, 23:31

» De volta
por JoaoVanBlizzard Sex 17 Abr 2015, 20:55

» Como programar um tiro especifico
por Markituh Sex 17 Abr 2015, 18:57

» [Concurso Mensal #01]-Resultados
por Markituh Sex 17 Abr 2015, 13:25

» IA - Desviar/Bloquear Projéteis
por matheusco Sex 17 Abr 2015, 13:04

» Hero (Projeto)
por willyruduit Sex 17 Abr 2015, 09:17

» [T.P]360 - Plataforma 2
por Rodrigo Santiago Qui 16 Abr 2015, 22:07

» [Resolvido][BUG?]Left Mouse Released
por Limalokão Qui 16 Abr 2015, 19:48

» [Concurso] Ludum Dare #32
por Lukbebalduke Qui 16 Abr 2015, 17:39

» [CM#1] Rest in Pixels 0.92 - 3D
por Lighter Qui 16 Abr 2015, 15:30

» Como salvar physics joints?
por alexfuziokaandrade7 Qui 16 Abr 2015, 09:29

» Novamente, problemas na view
por saim Qui 16 Abr 2015, 06:44

» [Resolvido] bug atravessando parede e voando
por kradking Qua 15 Abr 2015, 22:09

» [Resolvido] Dúvida com with
por seymore Qua 15 Abr 2015, 21:36

» [Off Topic] Pérolas GMBR
por polosam Qua 15 Abr 2015, 19:20

» Como fazer gravidade em plataforma sem Solid
por willyruduit Qua 15 Abr 2015, 09:50

» código repetindo sem parar
por OliVroot Qua 15 Abr 2015, 05:23

» [HELP] - Multi touch
por Markituh Qua 15 Abr 2015, 03:11

» movimentar objeto para cima com o clique do mouse
por Limalokão Qua 15 Abr 2015, 00:28

» Plataforma atravessavel - Estilo Mario
por katisuke Ter 14 Abr 2015, 22:51

» [Tuto]Instalando e configurando o android para gms
por willcraft2 Ter 14 Abr 2015, 21:00

» Como fazer uma mensagem simples (draw~~print)
por Limalokão Ter 14 Abr 2015, 18:59

» Criar "Highscore" no game maker studio
por marcossfc Ter 14 Abr 2015, 18:04

» Detectar direção mouse/touch com precisão
por dangelobr Ter 14 Abr 2015, 14:18

» Delay em audio
por luan.alc Seg 13 Abr 2015, 23:14

» Exibir banner na tela inteira - android
por Gonzo Seg 13 Abr 2015, 23:13

» configurar o gmstudio exportar para android
por itarodrigo Seg 13 Abr 2015, 22:44

» Formando equipe fixa!!
por Frederico Seg 13 Abr 2015, 15:13

» [Resolvido]Como fazer objeto que cai quando player ta em baix
por Isquilo_Roedor Seg 13 Abr 2015, 12:49

» GMS: Seu jogo MULTI-RESOLUÇÃO
por luan.alc Seg 13 Abr 2015, 11:59

» Equipe casual
por Fuzenrad Seg 13 Abr 2015, 08:35

» [RESOLVIDO] Descer rampas
por fernando.munizerthal Seg 13 Abr 2015, 01:23

» [FANGAME INCONPLETO] Sonic Puzzle S
por ExTAH Dom 12 Abr 2015, 20:18

» Lista de sites com Efeitos Sonoros
por joas025 Dom 12 Abr 2015, 15:12

» Procura-se programador
por scratchware_dev Dom 12 Abr 2015, 08:40

» [Resolvido] Ctrl+Tab não funciona mais
por Zero. Dom 12 Abr 2015, 01:56

» That Game Doesn't Make Any Sense!
por polosam Sab 11 Abr 2015, 22:40

» Midtown Jumper
por DooMan Sab 11 Abr 2015, 22:09

» Como evitar que o jogo Pause ao ser minimizado
por Fuzenrad Sab 11 Abr 2015, 20:10

» Device_mouse e colisão
por itarodrigo Sab 11 Abr 2015, 19:20

» Reunindo equipe para jogo de luta.
por Nivaldo2000 Sab 11 Abr 2015, 12:43

» é possível fazer um jogo parecido com Brawl Royale
por Zero. Sab 11 Abr 2015, 09:20

» Zombies - Elimination
por Vikintor Sex 10 Abr 2015, 23:11

» esconder barra de navegação - android
por Gonzo Sex 10 Abr 2015, 17:07

» Sobre Isometria
por itarodrigo Sex 10 Abr 2015, 11:03

» Como simular uma partida de futebol
por felipejoys Qui 09 Abr 2015, 21:03

» Personagem
por Isaque Onix Qui 09 Abr 2015, 18:55

» [Tutorial] Como definir Versões e Updates do Jogo
por dharrison Qui 09 Abr 2015, 18:25

» ajuda com jogo estilo mario
por paulovmdutra Qui 09 Abr 2015, 17:36

» Exemplos de Jogos - Estilo Browser
por matheusco Qui 09 Abr 2015, 14:03

» Usando desenhos feitos à mão.
por matheusco Qui 09 Abr 2015, 11:31

» [Engine] Menu para softwares
por UrielAlves Qua 08 Abr 2015, 23:45

» [CM#01] I Wanna Be The Bean
por Limalokão Qua 08 Abr 2015, 20:14

» Obter trofeus no game jolt
por jose rocha Qua 08 Abr 2015, 17:20

» erro android
por Isaque Onix Qua 08 Abr 2015, 14:49

» Artista precisa de ajuda em programação
por player9 Qua 08 Abr 2015, 14:17

» Mega Surpresinha - android
por Gonzo Qua 08 Abr 2015, 13:17

» juntar 2 ou mais objetos durante o jogo
por dangelobr Qua 08 Abr 2015, 12:07

» ArcOS
por Fuzenrad Qua 08 Abr 2015, 01:07

» Facebook e suas dificuldades do inferno
por itarodrigo Ter 07 Abr 2015, 17:58

» [Open Source] Yunitto-615
por Fuzenrad Ter 07 Abr 2015, 14:24

» [CM#01] Jelly Quest (BETA)
por JoaoVanBlizzard Ter 07 Abr 2015, 13:08


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 09 Jun 2011, 23:07

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 10 Jun 2011, 00:00, editado 1 vez(es)

Knonick

Número de Mensagens: 92
Idade: 16
Data de inscrição: 10/05/2011
Reputação: 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 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 09 Jun 2011, 23:24

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 09 Jun 2011, 23:27

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: 2962
Idade: 36
Data de inscrição: 14/01/2011
Notas recebidas: C-D-A-B
Reputação: 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 09 Jun 2011, 23:59

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 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 10 Jun 2011, 08:35

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: 2962
Idade: 36
Data de inscrição: 14/01/2011
Notas recebidas: C-D-A-B
Reputação: 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 10 Jun 2011, 09:59

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 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 10 Jun 2011, 10:48

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: 2962
Idade: 36
Data de inscrição: 14/01/2011
Notas recebidas: C-D-A-B
Reputação: 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 10 Jun 2011, 10:56

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 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 10 Jun 2011, 11:02

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 10 Jun 2011, 11:17, editado 1 vez(es)

saim

Ranking: Nota B
Número de Mensagens: 2962
Idade: 36
Data de inscrição: 14/01/2011
Notas recebidas: C-D-A-B
Reputação: 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 10 Jun 2011, 11:16

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 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 10 Jun 2011, 11:19

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: 2962
Idade: 36
Data de inscrição: 14/01/2011
Notas recebidas: C-D-A-B
Reputação: 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 10 Jun 2011, 19:29

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 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 10 Jun 2011, 19:53

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: 2962
Idade: 36
Data de inscrição: 14/01/2011
Notas recebidas: C-D-A-B
Reputação: 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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 10 Jun 2011, 20:06

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
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 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 11 Jun 2011, 11:29

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: 2962
Idade: 36
Data de inscrição: 14/01/2011
Notas recebidas: C-D-A-B
Reputação: 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
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

- Tópicos similares

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