Conectar-se
Quem está conectado
30 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 30 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Fazer player voar

em Qua 06 Abr 2011, 12:17
Olá! Estou criando um jogo de plataforma, na qual o player é um robô, lógicamente os jogos de plataforma tem pulos e td mais, mas o meu robô não pode pular, pois ele não tem pernas, é tipo um tanque de guerra, mas eu queria que ele flutuasse (aparece uma luz embaixo dele e ele vai "voando"), vc pode ficar flutuando a qualquer altura, mas tem um tempo, ou seja, a flutuação usa uma força, quando essa força acaba, o robô cai. Alguém pode me ajudar a fazer ele flutuar? e se possível colocar o tempo de flutuação, por favor? Espero q tenha explicado certo, qqer coisa, eh soh perguntar.


Última edição por andreh em Qua 13 Abr 2011, 16:00, editado 3 vez(es)
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/06/2010
Número de Mensagens : 2704
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 10

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Fazer player voar

em Qua 06 Abr 2011, 12:52
Está aqui serve?
Pesquise antes de postar, só escrevi voar.


Espero ter ajudado...
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Fazer player voar

em Qua 06 Abr 2011, 13:02
Pois é! Malz ae!
Eu postei a dúvida e só depois lembrei q deveria ter procurado primeiro, é que eu tava precisando demais disso ,mas enfim, obrigado.

Mas agora vem a Segunda pergunta: Tem como eu fazer ele flutuar por determinado tempo?
ou seja, eu aperto pra ele voar, ai uma barrinha vai esvazeando, e quando ficar toda vazia o player cai.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Fazer player voar

em Qua 06 Abr 2011, 14:26
Use um alarm. Quando o alarm chegar a zero, adicione a gravidade.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Fazer player voar

em Qua 06 Abr 2011, 17:24
Por favor, me ajudem a criar um alarm. Depois que o saim postou eu procurei mto sobre alarm, mas nao achei nd que se encaixasse no meu caso. Por favor me ajudem, o q eu quero eh o seguinte: quando o player estiver flutuando, começa o alarm, ai qndo chegar em zero é pra fazer ele descer, eu quero isso para nao deixar o jogador se aproveitar da flutuação.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Fazer player voar

em Qua 06 Abr 2011, 17:32
Alarms são eventos, como create, collision ou draw. É possível fazer seus próprios alarms, mas não é necessário.
no começo da flutuação: alarm[0]=tempo_que_você_quiser_que_flutue
no evento alarm0: gravity=um_valor_qualquer
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Fazer player voar

em Qua 06 Abr 2011, 17:53
não esta dando certo! tem como vc postar um código explicando ou fazer uma engine?(se não é pedir de mais!).
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Fazer player voar

em Qui 07 Abr 2011, 11:41
código:
create
Código:
voando=false //checa se está voando
gravity=0              //gravidade
velocidade=4          //pra andar na horizontal

step
Código:
if keyboard_check_pressed(vk_up) && place_meeting(x,y+1,obj_chao){ //se apertou a tecla de voar sem estar voando
 voando=true  //avisa pro computador que está voando
 alarm[0]=30  //liga o alarme
 }

if keyboard_check_released(vk_up){ //se soltou a tecla (provavelmente, é porque quer cair)
 voando=false //deixa cair
 alarm[0]=-1
 }

if voando==false && !place_meeting(x,y+1,obj_chao) //se não está voando nem está no chão
 gravity=1 //começa a cair

//aqui, eu deixo pra você fazer o código de aterrissar. Eu sempre apronto um balaio de gato, nessa parte
//o usual é usar move_contact_solid em caso de colisão

//e, pra andar para os lados:
x+=(keyboard_check(vk_right)-keyboard_check(vk_left))*velocidade

alarm0
Código:
voando=0

draw
Código:
cor_antiga=draw_get_color()
draw_sprite(sprite_index,image_index,x,y)
if voando{ //alguns efeitos (toscos) pra quando estiver voando
 draw_luz //claro que isso é uma piada. Você que define como quer fazer a "luz"
 draw_set_color(c_red)
 draw_rectangle(x-50,y-10,x+50,y+10,0)
 draw_set_color(c_green)
 draw_rectangle(x-50,y-10,x-50+100*(alarm[0]/30),y+10,0)
 draw_set_color(cor_antiga) //pra não atrapalhar outros eventos
 }


Última edição por saim em Sex 08 Abr 2011, 14:57, editado 4 vez(es) (Razão : correções e melhorias)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Fazer player voar

em Qui 07 Abr 2011, 17:11
No primeiro pulo dá td certo, mas depois o player trava, não consigo ir para os lados e ele não flutua mais, apenas dá pequenos pulos. fiz colisão com o bloco, mas não funcionou!
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Fazer player voar

em Sex 08 Abr 2011, 09:56
"pulo"? Meu código não permite que o player pule. Pra isso, tenho que elaborar ele um pouco mais. Já que o primeiro dá certo, me parece que o problema é na colisão.
Me mostre seu código pra colisão (eu me embanano nessa hora, mas a coisa sai) e explique se quer permitir o pulo, mesmo. Se quiser, é imprescindível mudar o código.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Fazer player voar

em Sex 08 Abr 2011, 13:56
Eu me expressei mal, pulo= flutuar (malz ae, eu não quero que ele pule)! Agora, a colisão, imagine td, move_contact_solid, um codigo que não deixa o player afundar no bloco, speed=0, até no drag'n'drop eu tentei, mas ele trava, e dá pra ver q ele não afunda no chão, alguma coisa está cancelando a flutuação,pq na primeira flutuação funciona, mas depois não,apenas dá uns pulinhos, se puder me ajudar, eu agradeço!
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Fazer player voar

em Sex 08 Abr 2011, 14:22
Acho que você não está zerando a gravidade, mas espera um pouquinho que vou editar a mensagem com mais informações.

Recomendo debugar. Sabe o que é debugar? É uma tradução medonha pra "debug". Você roda o jogo com aquele botão "play" vermelho e verifica o valor das variáveis. Clica no botão "+" e adiciona qual variável de qual objeto você quer olhar. No caso, as variáveis são:
player.voando
player.gravity
player.alarm[0]
==>claro que é pra substituir "player" pelo nome do seu objeto
veja se está tudo como esperado, ou seja, ao apertar a tecla pra cima, você espera que esteja assim
player.voando=true
player.gravity=0
player.alarm[0]=30 e baixando
Ao soltar a tecla ou ao alarm[0] chegar a zero, você espera encontrar:
player.voando=false
player.gravity=1
player.alarm[0]=-1 //na verdade, tenho que mudar um pouco o step, só mais um minutinho que eu altero ele lá em cima pronto, alterei

Ao cair/aterrissar, você espera encontrar o seguinte:
player.voando=false
player.gravity=0
player.alarm[0]=-1

Se estiver tudo conforme esperado, o erro realmente está em algum outro lugar. Estando qualquer coisa fora do esperado, me avise.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: Fazer player voar

em Sex 08 Abr 2011, 15:21
aaeeeeee! encontrei o erro! mto obrigado saim, primeiro por ter me ajudado e segundo pela paciencia, eu nao sabia pra q servia o debug, agora sei!
Sabe qual foi o erro?
Ele começava com gravidade zero certinho, ai ele flutuava, e quando caía, a gravidade não zerava, continuava 1, aí eu não conseguia me mexer, mas aí eu coloquei um Senão nessa condição, escrevendo gravity=0:
Código:
if voando==false && !place_meeting(x,y+1,obj_chao) //se não está voando nem está no chão
 gravity=1 //começa a cair
else
gravity=0
e agora ele zera a gravidade, vlw saim, o debug é uma grande ajuda, eu nunca ia saber que a gravidade não tava zerando!
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Fazer player voar

em Sex 08 Abr 2011, 16:04
O debug é muito útil, acho que o manual devia gastar um pouco mais de texto explicando como usá-lo. Eu já pastei um bocado até conseguir usar essa ferramenta efetivamente e até hoje ainda tenho umas dúvidas.
Que bom que foi resolvido! Eu faria diferente, simplesmente mandaria gravidade pra zero na colisão, mas seu método parece até mais eficaz.
Conteúdo patrocinado

Re: Fazer player voar

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum