Super Dicas de GM

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

Super Dicas de GM

Mensagem por GuiEdu em Sex 10 Set 2010, 18:36

Pessoas axei esse conteúdo em outro fórum deem uma conferida, vale a pena Happy
P quem não sabe, é só clicar em spoiler e ver Happy

Spoiler:
Estas dicas são para iniciantes ou quem não sabe fazer algumas coisas muito simples,estão aqui algumas dicas


1-Criar um efeito simples de explosão

Para criar um efeito simples de explosão basta fazer um objeto,no evento space,coloque a seguinte ação,vá na aba draw,clique no icone de explosão o último icone.selecione o tipo explosão,smoke(fumaça),star(estrela). e naum se esqueça de colocar relative, para que o efeito saia da onde o objeto está,coloque na room e aperte space.

2-Aparecer vida

Basta colocar um objeto controle (um objeto normal que comanda) coloque
um evento ''create'' a ação da aba score ''sets live'' coloque 3,depois em qualquer evento por exemplo space a mesma ação mas coloque assim -1 relative ,ou seja ele vai diminuir 1 vida.E no evento ''others'' ''no more live'' coloque a ação da aba main ''restart game''

3-Apareçer score

É a mesma coisa da vida mas coloque o score para aumentar de 10 em 10 (naum se esqueçe de marcar relative).


Essas são algumas dicas simples para iniciantes


4- Parallax Background

Para isso é simples faça um objeto para ele obj_fundo e coloque no evento draw draw_background(nome_do_background,view_xview/2,view_yview/2)

Coloque o objeto na room.

É necessário ter uma view, caso o contrario o efeito não fica certo.

5- Luz


Este é um efeito muito legal e bonito e simples
para isso faça um objeto sem sprite e coloque no evento draw



draw_set_blend_mode(bm_add)
draw_circle_color(x,y,50,c_white,c_black,0)
draw_set_blend_mode(bm_normal)

agora coloque o na room e veja o efeito se você quizer mudar a cor coloque a cor no lugar do c_white.mas se vc sabe tudo isso pode zuar com ele que fica com efeito loko.


Última edição por rodrigo1434 em Ter Abr 08, 2008 7:18 pm, editado 2 vezes




Solução problemas que são muitos babas


Aparecer os Frames por Segundo:

Para isso é só colocar no evento draw a ação que desenha uma variavel que é assim mas dá cor cor amarela e colocar fps no nome da variavel.


Velocidade do jogo

É só ajustar a variavel room_speed ou vá na room e modifique o valor 30
por qualquer outro.

Desenhar uma variável na tela conforme vc anda

Isso é baba,desenhe uma variavel e coloque no x = view_xview+320 e no y = view_yview+240 quer dizer a variavel vai ficar na tela e não na room.

Para um objeto seguir o outro

No evento end step coloque aquela ação que muda o x e y no valor x coloque o nome do objeto.x exemplo obj_jogador.x obj_jogador.y.

Fazer um efeito de sombra

No Game Maker é possivel fazer isso de uma maneira bem simples
Para fazer um efeito de luz utilizamos os códigos assim

draw_set_blend_mode(bm_add) tudo o que é claro vai aparecer menos o que é escuro
draw_cicle_color(x,y,500,c_white,c_black,0) desenha um circulo que vai ser a luz
draw_set_blend_mode(bm_normal) deixa tudo normal de volta

mas para um efeito de sombra a sombra é preta e se a preta some como faz

isso

draw_set_blend_mode(bm_subtract) tudo o que é preto vai aparecer menos o que é claro
draw_cicle_color(x,y,500,c_black,c_white,0) desenha um circulo que vai ser a sombra
draw_set_blend_mode(bm_normal) deixa tudo normal de volta





1 - Criando Uma Mira

Primeiro crie um sprite de como você quer sua mira e então crie um objeto com esse sprite.

No evento "Step" desse objeto, adicione o código:
Código:
x = mouse.x
y = mouse.y

Para que as coordenadas "X" e "Y" sejam as mesmas do mouse... Para ficar ainda melhor, vá em "Global Game Settings" e desmarque a opção "Display the cursor".

2 - Inimigo que Persegue Você

Para isso crie seu personagem (iremos chamá-lo de "D") e NÃO MARQUE A OPÇÃO "SOLID", então no objeto do seu inimigo, crie um evento "Step" e adicione ação "Step Avoiding".

Uma janela irá aparecer então adicione:
Código:

x: D.x
y: D.y
Speed: Você escolhe
Avoid: Solid Only


Esse inimigo então seguirá as coordenadas X e Y de seu personagem desviando dos objetos sólidos.
________________________________________________________________________________



Bom todos sabem o que é TDS né?não?
É um estilo de visão do jogo que é de cima chamado de Top Down Shooter
É o meu estilo favorito seguido do plataforma mas isso não vem ao caso
bem aqui vou mostrar a fazer a basico

Pegando os Resources

coloque um som de tiro e nomeie snd_tiro
selecione um sprite de cima de preferencia
um cara com uma arma mas centralize o sprite
e uma bala qualquer vc mesmo pode fazer

Criando os Objetos:


obj_bala

Coloque um sprite de bala no objeto bala
no evento create coloque
Código:
image_angle=direction
sound_play(snd_tiro)

no evento outside room
Código:
instance_destroy()




obj_player

Coloque um sprite no objeto player
mas coloque o sprite de lado pra direita para que dê certo
a imagem
no evento end step coloque
Código:
image_angle=point_direction(x,y,mouse_x,mouse_y)

no evento global mouse left button pressed

coloque pra criar uma instancia com direção(aquele icone de lampada com seta vermelha do lado)
coloque pra criar o objeto bala
x = 0
y = 0
speed = 30
direction=image_angle
relative = marque relative para que a bala sai do x y do player

no evento keyboard left (ou algo assim que eu não lembro)
Código:
if x>o
x-=4


no evento keyboard right
Código:
if xx+=4


no evento keyboard up
Código:
if y>0
y-=4


no evento keyboard down
Código:
if yy+=4


no evento draw(pra dar um charme)o efeito de sombra
Código:
draw_sprite_ext(sprite_index,image_index,x+3,y+2,image_xscale+0.1,image_yscale+0.1,
image_angle,c_black,0.3)

draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,
image_blend,image_alpha)





Nivel:Intermediario

Aqui estão alguns comandos básicos sobre GML, vejam:

Comando básicos:

if: Esse código serve para quando você for fazer alguma coisa, ou quando acontecer alguma coisa. EX:
Código:
if keyboard_check(vk_up)
room_goto(room2) //esse é um exemplo, quando a seta para cima for pressionada irá para a room2


var: Esse código serve para criar uma variável, veja:
Código:
var_(nome da variável)=true


score: Bom, acho que não é preciso dizer nada, esse código define a pontuação. Ex:
Código:
//aqui estamos inserindo 10 pontos
score+=10


lives: É a mesma coisa de score, só que aqui são as vidas

false: Esse código é como uma execusão falsa, exemplo:
Código:
//Aqui será pressionada a seta para direita, então a var_parado será falsa e a var_direita será verdadeira
if keyboard_check(vk_right) and not keyboard_check(vk_left)
{
var_parado = false
var_direita = true
}


gravity: O nome já diz, esse comando define a gravidade, veja um exemplo:
Código:
gravity = 0.75


sprite_index: Esse comando mostra uma sprite, veja um exemplo:
Código:
// esse é apenas um exemplo, não tente usar esse código
if keyboard_check(vk_down)
sprite_index = spr_player


instance_destroy(): Esse comando é para destruir um objeto, veja um pequeno exemplo:
Código:
// caso a seta para esquerda seja pressionada o objeto que está executando esse código será destruído
if keyboard_check_pressed(vk_left)
instace_destroy();


instance_create: Comando utilizado para criar uma instância (objeto)

image_speed: Controle da velocidade da imagem, veja:
Código:
image_speed=0.25


Comandos do teclado:

Setas:

keyboard_check(vk_up)// Seta para cima
keyboard_check(vk_down)// Seta para baixo
keyboard_check(vk_left)// Seta para a esquerda
keyboard_check(vk_right)// Seta para a direita
keyboard_check(vk_space)// Tecla barra de espaços

Letras:
(keyboard_check(ord('X'))// para você mudar as teclas apenas mude a letra X para a tecla que você deseja

Outros

hspeed*=-1: esse código serve para inverter uma velocidade. Exemplo:
Código:
//crie um evento colison do player com a parede e escreva o comando citado acima.


draw_text: Escreve um texto, veja um exemplo:
Código:
// fica escrito time na room
draw_text(280,25,time);


view_xview e view_yview: Esse código serve para uma sprite seguir a tela. Ex:
Código:
// o objeto que está executando esse código irá seguir a room.
view_xview+100
view_yview+100


Já disse muitos comandos, agora vamos criar alguns códigos:

Contato com o chão:
Código:
// esse código é para o contato do player com o chão, a velocidade muda para 0
move_contact_solid(direction, 8 )
vspeed = 0

Código:
//código bem simples, crie um evento colision de um inimigo com um bloco.
if sprite_index=spr_inimigo_esquerda
{
sprite_index=spr_inimigo_direita;
}
else
{
sprite_index=spr_inimigo_esquerda;
}

Código:
// muda para a room0

room_goto(room0)


Agora aqui vai umas dicas para criação de inimigos.

1º- Inimigo comum

Vamos lá pessoal para a primeira matéria, não sou muito bom com explicações mas vou tentar, vamos começar fazendo a AI de um inimigo para seu jogo, esse inimigo é aquele clássico que anda de um lado para o outro.

Primeiro crie as sprites do inimigo, uma chamada " inimigo_esquerda" e outra chamada " inimigo_direita" (Sem aspas).Pois se você escrever algo errado o script vai acusar um erro e o jogo não vai funcionar corretamente, Agora, crie um bloco chamado "Wall" ou como quiser, esse bloco sera sólido e terá que ficar invisível, então nas propriedades do bloco desmarque a opção visible (para que ele não apareça no jogo ) pois ele será o bloco que fará seu inimigo bater e voltar.

Agora que criamos os sprites vamos para a segunda parte, vamos criar um objeto para o inimigo, coloque o nome que quiser nele e em Create coloque esses códigos pois as variáveis vão ser ativadas no inicio do objeto, pois Create é o inicio das ações do objeto:
Código:
Gravi_dade = true // você pode dar o nome que quiser para a variável
pa_rado = true
direi_ta = true
velo_cidade = 4

Código:
image_speed=0.55 // você também pode mudar a velocidade, a que te agrada melhor,ele muda a velocidade dos sprites


Clique na seta virada para a direita, em Speed coloque 3 e não marque a opção Relative, agora clique em Ok.

Crie um evento Step e escreva o código:
Código:
//AQUI VOCÊ DEFINE A GRAVIDADE
if place_free(x,y+1)
{
gravi_dade = false
gravity = 0.75
}
else
{
gravi_dade= true
gravity = 0
}


//LIMITAR VELOCIDADE DE QUEDA
if (vspeed > 10) {vspeed = 10}


Já estamos no final, crie um evento colision com o Wall e escreva:
Código:
if sprite_index=spr_inimigo_direita
{
sprite_index=spr_inimigo_esquerda;
}
else
{
sprite_index=spr_inimigo_direita;
}


Logo depois:
Código:
hspeed*=-1;//isso inverte a velocidade ao bater no Wall,( hspeed )esse código é para inverter somente na horizontal.


Agora que terminamos vamos criar o objeto chão, pois se não tiver esse objeto o seu inimigo vai cair e sumir na tela, agora crie um evento colision do inimigo com o objeto chao e escreva:
Código:
move_contact_solid(direction, 8 )
vspeed = 0


2º- inimigo com IA

Com esse código o inimigo ira pular quando você se aproximar dele, ele também pode ser usado para outras coisas como atirar,segir o personagem mas isso vou explicar mais abaixo.

IA básico:
Código:
if distance_to_object(obj_player)<37
{
vspeed=-14
}


IA simples:

Evento Create:
Código:
alarm[0]=round(random(90)+90)


Alarm0:
Código:

//aqui o seu inimigo atira e toca o som do tiro ao obj_player se aproximar.
if distance_to_object(obj_player)<150
{
sound_play(tiro)
instance_create(x-1,y,bala);
}
alarm[0]=60


Se você quiser que o inimigo faça todas as ações juntas faça o seguinte crie o mesmo código de antes, esse:
Código:
if distance_to_object(obj_player)<37
{
vspeed=-14
}


Agora um efeito simples de fade sem usar transição de rooms...

ara fazer um efeito de escurecer/clarear a tela manualmente basicamente vc precisará desenhar um retângulo do tamanho da tela e mudar a transparência dele.

Para começar, crie um obj que irá controlar o efeito. Vou chama-lo de obj_controle. Nesse oj, adicione um evento create e crie duas variaveis para indicar o nível de opacidade e se o efeito está ligado ou não.
Código:
opacidade=1;
ligado=0;


Obs: O nível máximo de opacidade é 1, onde estará com toda a cor, quanto menor o valor, mais transparente.

Agora vamos trabalhar no evento draw para desenhar nosso retângulo...
Iremos usar as seguintes funções:

• draw_set_alpha(nivel) - É usada para alterar o nível de transparência do que está sendo desenhado;
• draw_rectangle(x1,y1,x2,y2,lina) - Essa função irá desenhar o retângulo. X1 e Y1 indicam a posição do retângulo na tela, X2 e Y2 indicam o tamanho(largura e altura, respectivamente) e linha indica se somente uma linha deverá ser desenhada, sem preenchimento;
• draw_set_color(cor) - Usada para definir a cor do desenho.
Conhecendo as funções podemos começar o código do evento draw...
Código:
draw_set_alpha(opacidade);
draw_set_color(c_black);
draw_rectangle(0,0,640,480,0);

Primeiro definimos o nível de transparência usando a variável que criamos antes, depois definimos a cor do desenho para preto e finalmente desenhamos o retângulo. Repare que o tamanho usado nesse exemplo é 640x480, lembre-se de usar o tamanho da tela do seu jogo.

Agora temos que criar um jeito de ligar e desligar a transparência, para testar, adicione dois eventos key press, eu usei A e S para ligar e desligar, respectivamente.
Evento A:
Código:
ligado=1;

Evento S:
Código:
ligado=0;


Já definimos o desenho e um sistema de teste para ligar e desligar, mas é agora que iremos criar o efeito de transição fazendo com que fique transparente aos poucos. Adicione um evento step e nele coloque as seguintes condições.
Código:
if ligado==1 && opacidade>0 then //se o efeito estiver ligado e a opacidade for maior que zero)
{
opacidade-=0.1;
}
if ligado==0 && opacidade<1 then//se o efeito estiver desligado e a opacidade for menor do que 1
{
opacidade+=0.1
}

É bem simples, apenas checa se o sistema está ligado ou não e soma ou subtrai o valor da opacidade aos poucos para dar o efeito de transição.





Tela Seguindo o Personagem

Nas configurações da room, entre na aba "Views" e marque as opções:
- Enable the use of Views
- Visible when room starts

Para escolher a resoluão que você quer para seu jogo mude os valores "W:" e "H:" (de preferência mude para 640x480 ou 800x600 que são padrões...)

Agora para seguir o personagem, escolha na opção "Object Following" o nome do objeto...

Nos valores Hbor e Vbor, você escolherá os valores das "bordas" para que a câmera comece a mover... e no Hsp e Vsp são as velocidades da câmera para seguir o personagem (geralmente usamos -1)...
Dicas de Mouse no Game Maker

Versão: 6.1 / 7.0 (eu creio que também funcione no 5.0)
Autor: Eskyz

Introdução:
Bem galera, aqui trago duas dicas para personalizar o seu Mause! Nele, usaremos um objeto que criaremos chamado obj_Mouse será ele quem irá controlar todas as açoes com o Mause

1 - Trocando o Cursor do Mouse Dentro do Jogo
Primeiro, crie uma sprite que será o cursor. No objeto obj_Mouse, adicione um evento Step. Vá na Aba Extra, e abaixo de Other, arraste a setinha dourada para a ação. Aí, é só escolher a sprite! Veja o meu:

2 - Fazendo um Efeito Seguir o Mouse
Na verdade, esse é super-simples. No obj_Mouse, adicione um Step. Agora, vá na aba Draw. Embaixo de Other, arraste a explosãozinha. Ela é o símbolo dos Efeitos. Certo, agora, na X e na Y, deve-se colocar o seguinte:

X: mouse_x
Y: mouse_y

Ok, agora é só configurar como quiser. Escolha o tipo de efeito, o tamanho e a cor. Não marque a opção Relative. E não é bom mecher no where. Olha como ficou o meu:


Pronto galera, é bem fácil né? E se quiser usar os dois de uma vez, é só colocar ambos no evento Step.

Observação Importante: Para funcionar, você deve colocar o obj_Mouse em todas as Rooms que você quer que troque o curso, ou o efeito siga o curso, ou mesmo que faça os dois!

o fórum é esse, todo o credito vai p eles
Código:
http://legalgamesforum.forumsline.com

GuiEdu

Número de Mensagens : 505
Idade : 23
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por kraptus em Sex 10 Set 2010, 19:35

legal cara alguns comandos nao sabia pra que servia
da pra escreve um livro com essas dicas afro flw

kraptus

Número de Mensagens : 111
Idade : 22
Data de inscrição : 01/06/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por Gabreel em Sex 10 Set 2010, 20:17

Legal, acho que seria melhor se você postasse a fonte logo na descrição, mas isso não vem ao caso.. São dicas simples, mas que podem fazer falta em um jogo complexo.. (:

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por Salathiel em Sex 10 Set 2010, 20:28

Muito bom,explicou muito bem,isso e o básico da gml,mais se você fosse o autor ia ser melhor ainda,não gosto muito do: ctrl - ctrl v.
Obs: Ô tuto grande.

Salathiel

Número de Mensagens : 346
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://salathiel1337.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por GuiEdu em Sab 11 Set 2010, 20:56

Salathiel escreveu:Muito bom,explicou muito bem,isso e o básico da gml,mais se você fosse o autor ia ser melhor ainda,não gosto muito do: ctrl - ctrl v.
bem, eu dei uma editadinha bem, bem básica, mais sabe, eu tava de saída para a escola e nem deu p fazer um negócio melhor, bem formatado, mas tem muita coisa boa aí Happy

GuiEdu

Número de Mensagens : 505
Idade : 23
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por Sonic em Sab 11 Set 2010, 21:01

nooosssaaaa nuu isso é um balta de um tutorial imagino que o cara que fez ele teve muita paciência pra escreve tudo isso

Sonic

Ranking : Nota D
Número de Mensagens : 384
Data de inscrição : 12/01/2010
Notas recebidas : D
Reputação : -4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por GuiEdu em Sab 11 Set 2010, 21:19

Sonic escreveu:nooosssaaaa nuu isso é um balta de um tutorial imagino que o cara que fez ele teve muita paciência pra escreve tudo isso
não foi só um cara naum sorrindo
foram uns 5 ou 6
daí eu editei e juntei tudo num só e trouxe humildemente, carinhosamente, especialmente para vcs (nois) lol!

GuiEdu

Número de Mensagens : 505
Idade : 23
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por Grotle em Dom 12 Set 2010, 13:31

Muito boas essas dicas, pena que eu já tinha visto isso em outro forúm.
Será de grande ajuda pra todos os usuários!

Grotle

Ranking : Nota B
Número de Mensagens : 559
Idade : 21
Data de inscrição : 28/02/2010
Notas recebidas : B-B
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gsogaming.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Super Dicas de GM

Mensagem por Conteúdo patrocinado Hoje à(s) 11:51


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

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