Login

Esqueci minha senha

Últimos assuntos
» ajuda com rotacionar objeto e física
por Black Studio Hoje à(s) 23:36

» Lag no som
por Gonzo Hoje à(s) 22:16

» [AJUDA] Mudança de sprites no fim de uma animação
por Thyerry Hoje à(s) 21:42

» [Thyago] Mega soccer
por Thyago Hoje à(s) 21:07

» Mary-A endless cursed bloody night
por scratchware_dev Hoje à(s) 20:28

» Comandar player movendo o tablet
por WellingtonBecker Hoje à(s) 18:24

» [Jogo]War Balls
por guamaral Hoje à(s) 15:19

» Sistema de desenvolvimento de apps, jogos e etc
por Rodrigo Santiago Hoje à(s) 13:16

» Projeto de química
por WellingtonBecker Hoje à(s) 12:50

» IA - Desviar/Bloquear Projéteis
por Duca Hoje à(s) 11:48

» Matemática para tower defense
por saim Hoje à(s) 11:17

» [Off Topic] Pérolas GMBR
por Superbomber Hoje à(s) 08:50

» [ajuda] pasta Temp
por Hyreos Ontem à(s) 20:38

» Reverse Flappy 100%
por JoaoVanBlizzard Ontem à(s) 20:12

» [Super Engine] Tiro+Score online+Diversos sistemas
por guamaral Ontem à(s) 15:40

» alguem compila para android um progeto para min?
por WellingtonBecker Qui 21 Maio 2015, 22:39

» [Resolvido]Duvida com função round
por Isquilo_Roedor Qui 21 Maio 2015, 20:11

» [Resolvido]problema com rotação em um objeto no modo 3d
por pedro marques Qui 21 Maio 2015, 18:28

» [DÚVIDA] Colisões
por macedoboka Qui 21 Maio 2015, 18:06

» Marcar objeto
por CRP-Max Qui 21 Maio 2015, 14:12

» Portfólio
por leocc Qui 21 Maio 2015, 13:26

» [Resolvido]Como fazer um tempo limite
por Isquilo_Roedor Qui 21 Maio 2015, 13:07

» Ângulo da Sprite de acordo com ângulo de colisão
por Rodrigo Santiago Qui 21 Maio 2015, 11:58

» Motor Fugitive [android]
por Duca Qua 20 Maio 2015, 22:28

» Tap Run [ Android ]
por willyruduit Qua 20 Maio 2015, 17:21

» [Tutorial] Google Play Conquistas - Parte 2
por willyruduit Qua 20 Maio 2015, 14:04

» AJUDA COM LOOP FOR
por Rodrigo Santiago Qua 20 Maio 2015, 06:34

» duvida
por Isaque Onix Ter 19 Maio 2015, 19:12

» adBuddiz no gamemaker
por ffsouza Ter 19 Maio 2015, 15:36

» [Concurso Mensal #02] - Prêmio de R$ 200 na Steam
por matheusco Ter 19 Maio 2015, 10:42

» [CM#01] I Wanna Be The Bean
por chicoweb Ter 19 Maio 2015, 00:50

» Dúvida com o joystick
por Black Studio Seg 18 Maio 2015, 22:51

» Areia? Fazer uma varinha que jorre areia e colida
por DS Santos Seg 18 Maio 2015, 22:47

» Importar jogo em GM8 e converter para Android
por guga Seg 18 Maio 2015, 20:57

» Editables pack das antigas 3D
por theguitarmester Seg 18 Maio 2015, 20:40

» [CM #02]MythHunters
por Black Studio Seg 18 Maio 2015, 19:42

» [Engine] Criptografia
por Superbomber Seg 18 Maio 2015, 14:43

» [Engine]Terreno Destrutivel Simples
por Zero. Seg 18 Maio 2015, 13:38

» [CM#2]Void
por Rodrigo Santiago Seg 18 Maio 2015, 12:56

» [TUTORIAL] Programação GML 01 - Funções / Scripts
por Superbomber Seg 18 Maio 2015, 12:47

» [Pergunta] Objetos no game make com bug
por matheusco Seg 18 Maio 2015, 09:35

» Spook.exe
por Isquilo_Roedor Seg 18 Maio 2015, 00:32

» [CM#02] Amalgam (BETA)
por RodrigoOak Dom 17 Maio 2015, 18:33

» [Jogo] Battle of Coins
por guamaral Dom 17 Maio 2015, 15:40

» Ninja Sukafu 2
por Lukbebalduke Dom 17 Maio 2015, 14:10

» [CM#2]The Other Side
por Gutorrock Dom 17 Maio 2015, 14:07

» Unwake (+video)
por scratchware_dev Dom 17 Maio 2015, 14:05

» [CM#2]mirror,my mirror
por guamaral Dom 17 Maio 2015, 13:15

» Como fazer uma instancia seguir outro objeto
por Jessezyn Dom 17 Maio 2015, 12:54

» Uma super coisa está por vir [imagens] (+18)
por Markituh Dom 17 Maio 2015, 00:28

» [jogo]Unitdroid
por Rodrigo Santiago Sab 16 Maio 2015, 22:00

» [CM#2] The Other World
por matheusco Sab 16 Maio 2015, 18:16

» Livros... Sobre desenho
por Kabeção Sab 16 Maio 2015, 16:54

» [Tutorial] Google Play Conquistas - Parte 1
por DooMan Sab 16 Maio 2015, 15:32

» Animador
por Thyago Sex 15 Maio 2015, 16:15

» AJUDA COM UMA PESQUISA?
por polosam Sex 15 Maio 2015, 13:40

» [tuto-dica] Importar modelo do Blender com UV MAP
por theguitarmester Sex 15 Maio 2015, 12:00

» Ajuda com Termo
por scratchware_dev Qui 14 Maio 2015, 22:16

» Pontuem ou sigam o meu jogo
por jose rocha Qui 14 Maio 2015, 15:12

» Tem como colocar meu próprio banner HTML no app
por Isaque Onix Qui 14 Maio 2015, 13:49

» Como centralizar banner do AdMob
por alexandretops Qui 14 Maio 2015, 11:30

» Como gerar números aleatórios sem repetir?
por Isaque Onix Qui 14 Maio 2015, 02:16

» [Resolvido] Propagandas em Jogos Android
por willyruduit Qua 13 Maio 2015, 19:17

» [ANIMAÇÃO] Spyre
por Isaque Onix Qua 13 Maio 2015, 16:44

» problema com view
por Isaque Onix Qua 13 Maio 2015, 14:10

» Exportar para IOS utilizando Windows
por itarodrigo Qua 13 Maio 2015, 13:56

» Formando equipe fixa!!
por ruben.23 Qua 13 Maio 2015, 12:58

» [Informação]
por itarodrigo Qua 13 Maio 2015, 07:42

» Fundo Coletivo
por vitorfernandes13 Ter 12 Maio 2015, 22:42

» Dica de conteúdo a postar no fórum
por Gonzo Ter 12 Maio 2015, 22:38

» Formação de uma Equipe
por Sávio Melo Ter 12 Maio 2015, 16:32

» [Sugestão] Seção para um programa de gráficos 2D
por Isaque Onix Ter 12 Maio 2015, 14:34

» [Script] Informações do Sistema e Variáveis de ambiente v.0.1
por Lauro Ter 12 Maio 2015, 11:37

» Esboço de personagem
por ruben.23 Ter 12 Maio 2015, 10:08

» Ultimate Light Engine [Alpha]
por theguitarmester Ter 12 Maio 2015, 08:18

» Como usar DLL no gm studio usando função externa?
por Isquilo_Roedor Seg 11 Maio 2015, 20:05

» [DÚVIDA] Sprite Part
por Sewer Crawler Sab 09 Maio 2015, 19:17

» Contrato programador completo ou Equipe
por JPlays Sab 09 Maio 2015, 15:20

» Como postar meus jogos em sites de jogos famosos?
por JoaoVanBlizzard Sab 09 Maio 2015, 15:15

» Recrutamento: Graphic Designers e Sonoplastas
por ruben.23 Sab 09 Maio 2015, 13:18

» Crio Trilha Sonora para Games!
por LightVelox Sab 09 Maio 2015, 11:17

» Como instalar essa extensão no meu jogo GMS .gex
por Isquilo_Roedor Sex 08 Maio 2015, 23:37

» Como instalar essa dll no meu jogo
por Limalokão Sex 08 Maio 2015, 22:35

» Colisão com objeto sem sprite definida
por Limalokão Sex 08 Maio 2015, 22:31

» save game e load game
por macedoboka Sex 08 Maio 2015, 21:57

» "tela azul da morte!?"
por Limalokão Sex 08 Maio 2015, 21:55

» [Resolvido]Posicionar propaganda
por Gonzo Sex 08 Maio 2015, 20:36

» Como exportar resources no GameMaker Studio
por Isquilo_Roedor Sex 08 Maio 2015, 13:35

» enchendo o life com pot de vida
por macedoboka Sex 08 Maio 2015, 12:22

» [Stencyl]Engine legal que eu achei na net!
por dangelobr Sex 08 Maio 2015, 07:48

» galeria de pixel arte
por Misa Qui 07 Maio 2015, 16:40

» DÚVIDA: Strings e nomes de variaveis
por itarodrigo Qui 07 Maio 2015, 14:47

» [CM#02] Mirrors: Beta
por TheIanLux Qui 07 Maio 2015, 13:39

» C - Zombies - Elimination
por JoaoVanBlizzard Qui 07 Maio 2015, 12:31

» reciclar o apk
por Tedi Ripper Qui 07 Maio 2015, 11:31

» Match 3 engine
por dangelobr Qui 07 Maio 2015, 07:42

» Produção de Jogos Academy
por itarodrigo Qua 06 Maio 2015, 20:16

» [Resolvido]Hospeda música no play store
por Gonzo Qua 06 Maio 2015, 19:58

» [Arte] Parallaxes - Cena
por Gonzo Qua 06 Maio 2015, 19:33


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: 17
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: 2964
Idade: 37
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: 17
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: 2964
Idade: 37
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: 17
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: 2964
Idade: 37
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: 17
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: 2964
Idade: 37
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: 17
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: 2964
Idade: 37
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: 17
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: 2964
Idade: 37
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: 17
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: 2964
Idade: 37
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