Personagem encostando em seu inimigo, e não está acontecendo nada!

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

Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 12:04

Estou criando um jogo que eu vi na NET, só que estou com um problema. Quando o personagem encosta em seu inimigo não acontece nada, o certo seria, se ele encostar, ele perde ou volta ao início. Como faço para com certar isso?

Uma imagem para ter a noção do jogo que eu estou criando:



Grato!

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Rhino em Sab 30 Abr 2011, 12:10

Você pode usar os comandos room_restart, pois assim, quando o personagem encostar no inimigo, automaticamente a room irá reiniciar, assim como tudo que está nela. Por exemplo:

Evento de Colisão do personagem com o inimigo:
Código:
room_restart() //Tudo na room irá ficar do jeito que você programou

Não sei se você quer que a room reinicie também, mas com este código, o personagem volta pro começo dela também. Razz

Rhino

Ranking : Nota C
Número de Mensagens : 136
Idade : 24
Data de inscrição : 17/04/2010
Notas recebidas : C-B
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 12:25

Rhino escreveu:Você pode usar os comandos room_restart, pois assim, quando o personagem encostar no inimigo, automaticamente a room irá reiniciar, assim como tudo que está nela. Por exemplo:

Evento de Colisão do personagem com o inimigo:
Código:
room_restart() //Tudo na room irá ficar do jeito que você programou

Não sei se você quer que a room reinicie também, mas com este código, o personagem volta pro começo dela também. Razz
Huumm, deu certo!

Eu quero fazer assim agora:

1 - Colocar uma bandeira no final, e quando o personagem chegar lá ele passa de fase.

Objetivos:

1 - Colocar uma bandeira.

2 - Criar uma 2 fase.

3 - Quando passar pela fase 2 aparecer: "Parabéns! Você venceu".


Como posso fazer tudo isso?

Sou iniciante (:

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Sr. Sinistro em Sab 30 Abr 2011, 12:29

1 - Evento de colisão do player com a bandeira
Código:

room_goto()//Dentro dos parênteses coloca a próxima room

2 - É só criar mais uma room, após a primeira

3 - No evento de colisão do player com a bandeira, coloca:
Código:

show_message('')//Dentro das aspas coloque Parabéns, você venceu!

Sr. Sinistro

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

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Rhino em Sab 30 Abr 2011, 13:01

Você pode fazer como o Edu4 falou, caso o objeto_bandeira seja quem vá controlar a passagem entre uma room ou outra.
Caso você queira que, por exemplo, ao sair da room, você passe de fase, você pode usar o comando Outside Room e colocar dentro dele:

Outside Room
Código:
room_goto(nome_da_próxima_room) //Faz com que você vá a uma room especificada

É claro que se você fizer isso, tenha cuidado caso seu jogo possua buracos, pois dai você teria que criar um objeto para fazer com que o jogador morra e não deixá-lo passar para a próxima room!

Rhino

Ranking : Nota C
Número de Mensagens : 136
Idade : 24
Data de inscrição : 17/04/2010
Notas recebidas : C-B
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Supersonic933 em Sab 30 Abr 2011, 13:24

Para colocar vidas, basta colocar no Create:

vidas=3 //Define as vidas para 3

Agora, na colisão com o inimigo:

//Tira uma vida e reinicia room
vidas -=1
room_restart()

Supersonic933

Ranking : Nota E
Número de Mensagens : 396
Data de inscrição : 14/02/2011
Notas recebidas : E
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://planetaanalisandogames.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 14:02

Edu4 escreveu:1 - Evento de colisão do player com a bandeira
Código:

room_goto()//Dentro dos parênteses coloca a próxima room

2 - É só criar mais uma room, após a primeira

3 - No evento de colisão do player com a bandeira, coloca:
Código:

show_message('')//Dentro das aspas coloque Parabéns, você venceu!
As 2 eu consegui fazer, só a 3 que não entendi. Tem como explicar em detalhes como fazer?

Eu sou iniciante!

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por andreh em Sab 30 Abr 2011, 14:07

Evento de colisão do player com a bandeira:
Código:
show_message('Parabéns, você venceu!')
Quando o player colidir com a bandeira vai dar essa mensagem, mas preste atenção, vc vai ter q fazer 2 bandeiras, uma pra passar de fase e outra pro fim do jogo, senão ele vai dar a mensagem e ainda passar pra proxima room.

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 14:40

andreh escreveu:Evento de colisão do player com a bandeira:
Código:
show_message('Parabéns, você venceu!')
Quando o player colidir com a bandeira vai dar essa mensagem, mas preste atenção, vc vai ter q fazer 2 bandeiras, uma pra passar de fase e outra pro fim do jogo, senão ele vai dar a mensagem e ainda passar pra proxima room.
Consegui, apareceu uma tela " Parabéns, você venceu!, ai tem a opção de clicar em OK, só quando clica não sai do jogo.

Como faço isso?

Quando clicar em OK, aparece outra tela "Deseja continuar?", ai vai ter as opções "Sim" e "Não". Se apertar "Sim", começa de novo. Se apertar "Não" fecha a janela.

Mais duas pergunta!

1 - Se o personagem encostar volta ao começo. Como eu faço para mudar isso? Quero fazer assim:
Quando encostar no personagem perde 1 vida e volta ao começo.

OBS.: Tem que fazer as vidas que ele tem!


2 - Como colocar som?

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por andreh em Sab 30 Abr 2011, 15:07

Sobre a mensagem faça isso:
Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else
if mensagem = 3
{game_end()}

Sobre a vida:
Create do player:
Código:
lives = 3 //Mude o 3 para o numero de vida que vc quiser

Colisão do player com o inimigo:
Código:
if lives>1
lives -= 1
room_restart()
else
show_message('Você perdeu!')
game_restart()

Marque a room como persistent

Sobre o som: Você quer som de fundo ou efeito sonoro?

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 15:29

andreh escreveu:Sobre a mensagem faça isso:
Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else
if mensagem = 3
{game_end()}

Sobre a vida:
Create do player:
Código:
lives = 3 //Mude o 3 para o numero de vida que vc quiser

Colisão do player com o inimigo:
Código:
if lives>1
lives -= 1
room_restart()
else
show_message('Você perdeu!')
game_restart()

Marque a room como persistent

Sobre o som: Você quer som de fundo ou efeito sonoro?
1 - Apareceu a mensagem, só que quando clica em "Continuar" ou "Sair" não acontece nada.

2 - Como assim Create do Player?

3 - Como faço essa colisão do Player com o Inimigo? Tem várias opções "Move Fixed" etc.

4 - Efeito sonoro!

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Markituh em Sab 30 Abr 2011, 15:34

Hmmm... Acho que colocar o if na linha do else resolveria.
Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else if mensagem = 3
{game_end()}

O evento Create. Você sabe o que é um evento Create, não sabe? Add Event -> Create

Colisão é com eventos, não com ações. Add Event -> Collision -> (Escolha o objeto que vai colidir) -> Coloque o código lá

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Rhino em Sab 30 Abr 2011, 15:36

1 - Pra fazer uma janela de perguntas no Game Maker, você precisa fazer o seguinte:

Código:
switch (show_message_ext("Parabéns, você venceu! Gostaria de continuar?","Sim","","Não"))
{
case 1:
room_goto(nome_da_room)
break

case 3:
//alguma ação que você quer que ocorra caso a opção escolhida seja NÃO
break
}

2 - O Create do Player que ele se refere é ao Evento Create, cujo o símbolo é uma lâmpada. Nele, você deve declarar as variáveis que você quer que sejam usadas tanto nele (variáveis comuns) como em todos os objetos (variáveis globais).

3 - Para criar um Evento de Colisão, você tem que clicar em Add e depois naquelas duas setinhas vermelhas. Nisso, você deve especificar com qual objeto que você quer fazer a colisão. No caso, seria com o seu inimigo, portanto, na hora de selecionar o objeto, selecione o objeto_inimigo.

4 - Para adicionar um efeito sonoro, você pode ir na pasta Sounds, criar o som, depois clicar em Load Sound e escolher o som desejado. Se for uma música de fundo, selecione a opção (que fica logo abaixo) "Background Music" ou se for um efeito sonoro comum, como som de pontos, por exemplo, selecione "Normal Sound". Razz

EDIT: Verdade Markituh, comi bola ali. Valeu pela correção. Razz


Última edição por Rhino em Sab 30 Abr 2011, 15:55, editado 1 vez(es)

Rhino

Ranking : Nota C
Número de Mensagens : 136
Idade : 24
Data de inscrição : 17/04/2010
Notas recebidas : C-B
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por andreh em Sab 30 Abr 2011, 15:38

1 - Mas eu testei e deu certo, vc não tirou nd do código né?

2 - Evento Create do objeto player

3 - Abra o objeto player > Add Event > Collision > objeto inimigo
Então coloque o código q eu falei antes.

4 - Na colisão com alguma coisa (o mesmo esquema de cima), coloque o código:
Código:
sound_play(nome do som)
Acredito q isso dê certo.

Testa ae e fala o resultado

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Markituh em Sab 30 Abr 2011, 15:45

Em verdade Rhino, a sua declaração switch está equivocada. A função só retorna 0 caso for pressionado ESC, 1 para a primeira opção, 2 para a segunda e 3 para a terceira. E já que temos o Sim na primeira, a segunda vazia, e o Não na terceira, os cases iam ser 1 e 3. Usar switch é um método prático, então se quiseres:
Código:
switch (show_message_ext("Parabéns, você venceu! Gostaria de continuar?","Sim","","Não"))
{
case 1:
room_goto(nome_da_room)
break;

case 3:
//alguma ação que você quer que ocorra caso a opção escolhida seja NÃO
break;
}

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 15:56

Markituh escreveu:Hmmm... Acho que colocar o if na linha do else resolveria.
Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else if mensagem = 3
{game_end()}

O evento Create. Você sabe o que é um evento Create, não sabe? Add Event -> Create

Colisão é com eventos, não com ações. Add Event -> Collision -> (Escolha o objeto que vai colidir) -> Coloque o código lá
Sim, eu sei que é para fazer isso. Add Event > Collision > Escolher o objeto. Só que eu não sei onde colocar esse código. Eu tenho que clicar em "Move Fixed", "Move Free", aonde?





Tem MSN para poder ajudar melhor?

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por andreh em Sab 30 Abr 2011, 16:07

Não, não. O q estamos te passando são códigos. Códigos vc coloca em outro lugar. Veja o retangulo maior q vc marcou na sua foto, no canto direito dele tem varias abas, clique na aba Control, nessa aba, vai ter um icone com uma pasta desenhada, se vc deixar o mouse sobre o icone vai aparecer o nome "Execute Code", é aí q vc coloca o q a gente te passou!

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 16:30

andreh escreveu:Não, não. O q estamos te passando são códigos. Códigos vc coloca em outro lugar. Veja o retangulo maior q vc marcou na sua foto, no canto direito dele tem varias abas, clique na aba Control, nessa aba, vai ter um icone com uma pasta desenhada, se vc deixar o mouse sobre o icone vai aparecer o nome "Execute Code", é aí q vc coloca o q a gente te passou!
Agora sim (:

Deu tudo certo. Apenas uma problema!

if lives>1
lives -= 1
room_restart()
else
show_message('Você perdeu!')
game_restart()

Executei o jogo, e deu erro na linha 4 else. O que eu faço?

Como eu coloco um menu em cima mostrando quantas vidas o player tem?

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Rhino em Sab 30 Abr 2011, 16:37

Sempre use "{" depois dos códigos e sempre termine com "}". São as famosas chaves. Assim, você evita de gerar possíveis bugs. No caso, vai ficar assim:

Código:
if lives>1
{
lives -= 1
room_restart()
}
else
{
show_message('Você perdeu!')
game_restart()
}

Rhino

Ranking : Nota C
Número de Mensagens : 136
Idade : 24
Data de inscrição : 17/04/2010
Notas recebidas : C-B
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 17:38

Rhino escreveu:Sempre use "{" depois dos códigos e sempre termine com "}". São as famosas chaves. Assim, você evita de gerar possíveis bugs. No caso, vai ficar assim:

Código:
if lives>1
{
lives -= 1
room_restart()
}
else
{
show_message('Você perdeu!')
game_restart()
}
Fiz isso, só que quando ele encosta 3 vezes no inimigo, apenas aparece "Você perdeu". Eu quero colocar o menu em cima, mostrando o tanto de vidas que o player tem.

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por andreh em Sab 30 Abr 2011, 18:23

No evento Draw (pode ser do personagem, mas o ideal é fazer um objeto só para o placar, se vc fizer um objeto pro placar mude as variáveis lives para global.vidas):

Código:
draw_set_font(font0)
draw_set_color(c_white)
draw_text(view_xview+157,view_yview+7,'Vidas:'+string(lives ou global.vidas))

Não se esqueça de criar uma fonte, ali o nome esta como font0, mas vc pode mudar.

Você pode editar o view_xview+157,view_yview+7 , trocando os valores 157 e 7 pelos valores q vc quiser.

Qualquer duvida é só falar.

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Sab 30 Abr 2011, 19:48

andreh escreveu:No evento Draw (pode ser do personagem, mas o ideal é fazer um objeto só para o placar, se vc fizer um objeto pro placar mude as variáveis lives para global.vidas):

Código:
draw_set_font(font0)
draw_set_color(c_white)
draw_text(view_xview+157,view_yview+7,'Vidas:'+string(lives ou global.vidas))

Não se esqueça de criar uma fonte, ali o nome esta como font0, mas vc pode mudar.

Você pode editar o view_xview+157,view_yview+7 , trocando os valores 157 e 7 pelos valores q vc quiser.

Qualquer duvida é só falar.
Onde dica esse evento Draw?

No código, eu posso colocar assim:

draw_set_font(font1)
draw_set_color(c_white)
draw_text(view_xview+157,view_yview+7,'Vidas:'+string(global.vidas))

Ou assim está errado?

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Zero. em Sab 30 Abr 2011, 23:33

n ,
Crie um outro obj e coloque no evento draw ( add event > draw )
e coloke o codigo :

draw_set_font(font0)
draw_set_color(c_white)
draw_text(view_xview+15,view_yview+7,'Vidas:'+string(lives ou global.vidas))

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Dom 01 Maio 2011, 01:34

Esta dando erro na fonte:

ERROR in
action number 1
of Draw Event
for object Draw:

Error in code at line 1:
draw_set_font(font1)
^
at position 15: Unknown variable font1


em fonte0 o que eu coloco?

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Zero. em Dom 01 Maio 2011, 08:37

Cara va na pasta fontes de seu jogo ( se n criou uma crie ) e coloque o nome da fonte q tem la, esse erro deu pq n existe uma font1 em seu jogo

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Klash em Dom 01 Maio 2011, 10:24

andreh escreveu:No evento Draw (pode ser do personagem, mas o ideal é fazer um objeto só para o placar, se vc fizer um objeto pro placar mude as variáveis lives para global.vidas):

Código:
draw_set_font(font0)
draw_set_color(c_white)
draw_text(view_xview+157,view_yview+7,'Vidas:'+string(lives ou global.vidas))

Não se esqueça de criar uma fonte, ali o nome esta como font0, mas vc pode mudar.

Você pode editar o view_xview+157,view_yview+7 , trocando os valores 157 e 7 pelos valores q vc quiser.

Qualquer duvida é só falar.
Esse código não da certo.
Já tentei:


draw_set_font(Joao) //Fonte que eu criei!
draw_set_color(c_white)
draw_text(view_xview+157,view_yview+7,'Vidas:'+string(lives ou global.vidas)) // Coloquei global.vidas, global.life, global.health, mas nenhum dá certo.

Klash

Número de Mensagens : 13
Idade : 19
Data de inscrição : 30/04/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.hardware.com.br/comunidade/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Zero. em Dom 01 Maio 2011, 10:37

entao faz assim
Tira a 1º e 2º linha e testa
coloka assim:

draw_text(view_xview+157,view_yview+7,"Vidas:"+string(lives ou global.vidas)) // Coloquei global.vidas, global.life, global.health, mas nenhum dá certo.

e coloque global.lives ou vidas se a varivel tiver declarada com o global antes ex:
no create :
global.vidas=3 (entende )

se for so assim :
lives=3 // vc coloka so lives ao inves de global. antes

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por andreh em Dom 01 Maio 2011, 10:59

Veja bem: A font0 é o nome da fonte q vc criar, portanto esse nome é mutável, vc escolhe o nome, desde q o nome q está no código seja o mesmo nome da fonte.
Se vc colocar global.vidas, todos os lugares q anteriormente vc colocou lives, troque por global.vidas, pq isso é uma variável, e o placar precisa se basear nela para dar certo, portanto o nome deve ser igual.

Se vc não entendeu a diferença entre lives e global.vidas está aqui a definição:

lives é uma variável particular, ou seja, só será aplicada ao objeto em q vc declarou ela. Se vc colocar lives em outro objeto sem declarar o q ela representa, vai dar erro.

global.vidas é, como o nome já diz, global, ou seja, vc declara ela em um objeto e toda vez q vc adicionar ela a um código de qualquer outro objeto, o programa vai reconhecer. vc pode usar global para mtas coisas. Ex.: global.vidas - global.pontos - global.hp - global.mp - etc

Espero q tenha ficado claro. Agora testa ae e fala se deu certo.

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Supersonic933 em Dom 01 Maio 2011, 15:19

Klash escreveu:
andreh escreveu:No evento Draw (pode ser do personagem, mas o ideal é fazer um objeto só para o placar, se vc fizer um objeto pro placar mude as variáveis lives para global.vidas):

Código:
draw_set_font(font0)
draw_set_color(c_white)
draw_text(view_xview+157,view_yview+7,'Vidas:'+string(lives ou global.vidas))

Não se esqueça de criar uma fonte, ali o nome esta como font0, mas vc pode mudar.

Você pode editar o view_xview+157,view_yview+7 , trocando os valores 157 e 7 pelos valores q vc quiser.

Qualquer duvida é só falar.
Esse código não da certo.
Já tentei:


draw_set_font(Joao) //Fonte que eu criei!
draw_set_color(c_white)
draw_text(view_xview+157,view_yview+7,'Vidas:'+string(lives ou global.vidas)) // Coloquei global.vidas, global.life, global.health, mas nenhum dá certo.

Global.vidas, global.life. global.health são variáveis. NÃO IMPORTA, TEM QUE SER DEFINIDAS NO EVENTO CREATE.

Basta ir no create de um objeto definí-las. Vale lembrar de usar global para funcionarem todos os objetos sem precisar definí-la em cada um.

Código:
global.vidas=3 //Altere o "3" para mais ou menos vidas

O Gm vem com a var "lives" para isso, mas é local. Coloca global.lives sem definir e dá erro.

Entendeu? Para mais informações sobre vars, procure um tutorial.

Supersonic933

Ranking : Nota E
Número de Mensagens : 396
Data de inscrição : 14/02/2011
Notas recebidas : E
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://planetaanalisandogames.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Personagem encostando em seu inimigo, e não está acontecendo nada!

Mensagem por Conteúdo patrocinado Hoje à(s) 10:04


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