Conectar-se

Esqueci minha senha

Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Últimos assuntos
» [01#PHOTOSHOP] Inicio - A interface
por Mega Arts Sab 20 Out 2012, 10:40

» [PEDIDO] Sistema de Pontos
por WillianAssis Dom 22 Jul 2012, 08:30

» [TUTORIAL] Como fazer o player voar.
por Shadow10 Sab 23 Jun 2012, 07:02

» [Link Fixo] Pong
por FabiioW Dom 03 Jun 2012, 19:51

» [Link Fixo] Super Engine
por FabiioW Dom 03 Jun 2012, 19:42

» [Novidades]
por Mega Arts Sab 12 Maio 2012, 07:53

» Obj ter x e y fixo seguindo a view
por Shadow10 Qui 10 Maio 2012, 19:29

» [Remake] Bobby Carrot 1
por Shadow10 Sab 05 Maio 2012, 09:05

» [Programa/Software]Downsligator by Shadow10
por Shadow10 Dom 09 Out 2011, 15:21

Palavras chave

Parceiros
Estatísticas
Temos 208 usuários registrados
O último usuário registrado atende pelo nome de walef

Os nossos membros postaram um total de 286 mensagens em 74 assuntos
Flux RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


Social bookmarking

Social bookmarking Digg  Social bookmarking Delicious  Social bookmarking Reddit  Social bookmarking Stumbleupon  Social bookmarking Slashdot  Social bookmarking Yahoo  Social bookmarking Google  Social bookmarking Blinklist  Social bookmarking Blogmarks  Social bookmarking Technorati  

Conservar e compartilhar o endereço de Mega Arts em seu site de social bookmarking

Conservar e compartilhar o endereço de Mega Arts em seu site de social bookmarking


[Tutorial] Fazendo um jogo de tiro // vale a pena

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

[Tutorial] Fazendo um jogo de tiro // vale a pena

Mensagem por N.U.C.L.E.A.R em Seg 25 Jul 2011, 19:40

Fazendo um jogo de tiro

Introdução
E ai blz galera ? Bom eu tava sem nada pra faze e resolvi faze um tuto, ai veio a ideia de fazer um sobre jogos de tiro top view. Esse ensina mais a parte de fazer a arma mesmo, então se tiver interesado le ai, é no minimo interesante.
Fazendo sua arma atirar e mirar
Vamo começa então né, bom... fassa uma sprite de uma pessoa com uma arma,vista top view, centralizada no meio do player.
Exemplo tipo essa:

Agora crie o obj_player com a sprite dele é claro.

Em seu create coloque:

Código:
atirar=true
cartucho=10
cartuchoo=10
municao=50
forca=35
veloci=14
velocii=15
recarrega=15
mira=15
arma=1
a=0
carregando=false

Aqui criamos as variveis da arma, muitas para facilitar na hora de criar varias armas ai você só precisa alterar essas variaveis e não o codigo inteiro. agora a tradução:

atirar=true // essa var é a que define se pode atirar ou não, para não fica aquela rajada de tiros que nunca para
cartucho // esse é o tanto de tiro que tem na arma
cartuchoo // esse é o maximo de tiros que cabe na arma
municao // é o tanto de tiros que ainda pode usar
forca // o tando de vida que o tiro vai tirar do inimigo
veloci // velocidade do tiro
velocii // velocidade entre um tiro e o outro, EX: de uma pistola é 15, de uma metralha é 4
recarrega // tempo que leva para recarregar
mira // é o tanto de chance que tem de errar o tiro. O de uma sniper por exemplo é 0
arma // essa é a var que define com qual arma ele está tipo assim ARMA 1 = pistola, ARMA 2= AK47
a // esse é o valor que tem de balas sem nada, vc vai entender depois.
carregando=false // verifica se ta carregando.

Alguma duvida ? Então vamo lá

Agora no step coloque:

Código:
direction=point_direction(x,y,mouse_x,mouse_y)
image_angle=direction

Isso é para a imagem, faz com que a direção do player mire para o mouse junto com o angulo da sprite.

Agora no mesmo codigo:

Código:
if keyboard_check(vk_left) and place_free(x-4,y)
x-=4
if keyboard_check(vk_right) and place_free(x+4,y)
x+=4
if keyboard_check(vk_up) and place_free(x,y-4)
y-=4
if keyboard_check(vk_down) and place_free(x,y+4)
y+=4
E não se esqueça para nao dar o bug da arma presa na parede coloque uma mask do tamanho do corpo do player, um circulo de 32x32. Esse codigo se você não entendeu va ler as aulas do redragon.

Pronto agora o nosso player já mira e anda. Mas e os tiros ?

Antes de tudo crie um obj_tiro com uma sprite de tiro. Nele coloque assim no create:

Código:
forca=0

Isso cria a var forca, que é a força do tiro. E na colisão com o inimigo, que eu não vou ensinar a fazer coloque assim:

Código:
other.vida-=forca
instance_destroy()

Isso tira da vida dele a sua força, e destroi a bala.

Agora no step:

Código:
image_angle=direction

Isso eu já expliquei.Deixa o angulo da sprite igual ao da direção.

Agore vamos voltar ao step do player que deve estar assim:

Código:
direction=point_direction(x,y,mouse_x,mouse_y)
image_angle=direction
//
if keyboard_check(vk_left) and place_free(x-4,y)
x-=4
if keyboard_check(vk_right) and place_free(x+4,y)
x+=4
if keyboard_check(vk_up) and place_free(x,y-4)
y-=4
if keyboard_check(vk_down) and place_free(x,y+4)
y+=4

Agora nesse codigo adicione mais isso:

Código:
if mouse_check_button_pressed(mb_left) and atirar=true and cartucho>=1 and arma=1 and carregando=false
{
cartucho-=1
atirar=false
alarm[0]=velocii
tiro=instance_create(x,y,obj_tiro)
tiro.speed=veloci
tiro.forca=forca
tiro.direction=direction
tiro.direction+=random_range(-mira,mira)
}
TRADUZINDO...

Caso o mouse sejá precionado e possa atirar e tenha bala, e a arma seja 1 e não estaja carregando:
perde uma bala
não pode atirar
ativa o alarm 0 de acordo com o tempo entre os tiros da arma
cria o tiro
tiro fica na velocidade dele
tiro fica com a força dele
tiro vai para a direção da direção do player (o mouse)
tiro aumenta a direção entre a mira negativa e a mira positiva, fazendo assim com que de aquela erradinha.

OBS1: Não esqueça o depth do player tem que ser menor que o da bala.
OBS2: Não esquece de marcar "Interpolate colors between pixels" lá em "Global Game Settings"


Seu codigo do step do player deve estar assim:

Código:
direction=point_direction(x,y,mouse_x,mouse_y)
image_angle=direction
//
if keyboard_check(vk_left) and place_free(x-4,y)
x-=4
if keyboard_check(vk_right) and place_free(x+4,y)
x+=4
if keyboard_check(vk_up) and place_free(x,y-4)
y-=4
if keyboard_check(vk_down) and place_free(x,y+4)
y+=4
//
if mouse_check_button_pressed(mb_left) and atirar=true and cartucho>=1 and arma=1 and carregando=false
{
cartucho-=1
atirar=false
alarm[0]=velocii
tiro=instance_create(x,y,obj_tiro)
tiro.speed=veloci
tiro.forca=forca
tiro.direction=direction
tiro.direction+=random_range(-mira,mira)
}

Agora no alarm 0 coloque:

Código:
atirar=true

Pronto agora o player atira anda e mira. Mas e a munição ? Vamo faze o player recarregar.

Lembra daquele varsinha chamada "a" ? Então vamu usa ela agora, coloca assim no step:

Código:
a = cartuchoo - cartucho

ou seja

10 - balas da arma = a

Isso é, "a" é o tanto de balas que cabe na arma.

Ai vc coloca mais assim:

Código:
if keyboard_check_pressed(vk_space) and carregando=false
{
alarm[1]=recarrega
carregando=true
}

Isso é caso spaço seja apertado, e não esteja carregando, ele vai recarrega (ativa o alarm 1 de acordo com a var recarrega e diz que ta carregando)

Agora seu step deve estar assim:

Código:
direction=point_direction(x,y,mouse_x,mouse_y)
image_angle=direction
//
if keyboard_check(vk_left) and place_free(x-4,y)
x-=4
if keyboard_check(vk_right) and place_free(x+4,y)
x+=4
if keyboard_check(vk_up) and place_free(x,y-4)
y-=4
if keyboard_check(vk_down) and place_free(x,y+4)
y+=4
//
if mouse_check_button_pressed(mb_left) and atirar=true and cartucho>=1 and arma=1 and carregando=false
{
cartucho-=1
atirar=false
alarm[0]=velocii
tiro=instance_create(x,y,obj_tiro)
tiro.speed=veloci
tiro.forca=forca
tiro.direction=direction
tiro.direction+=random_range(-mira,mira)
}
//
a = cartuchoo - cartucho
if keyboard_check_pressed(vk_space) and carregando=false
{
alarm[1]=recarrega
carregando=true
}

Agora coloque assim no alarm 1:

Código:
municao -= a
cartucho +=a
carregando=false

Isto é:

tira o valor "a" da municao e aumenta o valor "a" do cartucho. e diz que não ta mais carregando

Pronto agora ele carrega e tudo mais. Mais falta mostrar as balas. Crie um obj_controle e em seu draw coloque:

Código:
draw_text(0,0,"Balas: " + string(obj_player.cartucho) + " / " + string(obj_player.municao))

Esse é um draw_text normal só que ficou meio extenso pq vem "texto + string + texto + string"

Então só o ultimo recadinho pessoal.

Eu demorei tempo para fazer esse tuto, e posso ter errado em alguma coisa, então se ver algo errado avisa ae que eu arrumo, eu fui fanzendo e testando, deu tudo certo aqui. Proxima aula vou ensinar a usar aquele var "arma"

FLW COMENTA AE.
avatar
N.U.C.L.E.A.R
Membro
Membro

Mensagens : 5

Voltar ao Topo Ir em baixo

Re: [Tutorial] Fazendo um jogo de tiro // vale a pena

Mensagem por Shadow10 em Seg 25 Jul 2011, 20:14

Ótimo tutorial N.U.C.L.E.A.R!
Bem esplicado e organizado, só não dou nota por que não sou avaliador, mas se eu fosse, daria 10.
Valeu!

________________



Deus da asas a quem não sabe voar, pois os que sabem, não precisam.
Play yourself!
avatar
Shadow10
Administradores
Administradores

Mensagens : 78
Idade : 33
Humor : agora eu to bonzinho

Voltar ao Topo Ir em baixo

Re: [Tutorial] Fazendo um jogo de tiro // vale a pena

Mensagem por Mega Arts em Seg 25 Jul 2011, 20:17

Perfeito,se tivesse Algo tipo :
MA Recomenda - Os melhores topicos
esse concerteza estaria entre eles,xD
avatar
Mega Arts
Administradores
Administradores

Mensagens : 151
Idade : 17
Emprego/lazer : Game Maker - Forum Mega Arts
Humor : Perfeito

http://megarts.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Fazendo um jogo de tiro // vale a pena

Mensagem por ViniciusAssis em Qua 10 Ago 2011, 17:02

Achei muito bom... mais isso deve ser assustador para os novatos Razz Mais muito interessante. teve ter dado trabalho. mesmo assim voce ta de parabéns...
até +
avatar
ViniciusAssis
Membro
Membro

Mensagens : 27
Idade : 19
Humor : Normalmente normal.

http://www.dnintendo.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tutorial] Fazendo um jogo de tiro // vale a pena

Mensagem por Conteúdo patrocinado


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