Sistema de rampa infalível
+2
Knonick
Taigo Toushirou
6 participantes
Sistema de rampa infalível
Sex 2 Dez - 1:46:47
Bom, existem várias formas de se fazer um sistema de rampa usando na colisão com uma rampa o código "place_free" mas não é o bastante para suportar ângulos mais fechados pra isso você teria que levar horas para regular de acordo com cada angulo diferente!
Mas com esse tutorial... Seu problemas acabaram! XD
Fiz um sistema de rampas que funciona usado o script.
Bem fácil de intender! ^^
Vamos aos códigos!
1º cria um script com o nome Rampa (Pode ser o que você quiser)
Vai detectar os pixel da plataforma e automaticamente ira calcular o angulo que fara o personagem subir! ^^
2º no personagem você vai no create e coloca:
No step do personagem em baixo de qualquer código de movimentos
depois disso ele vai funfar normalmente em qualquer colisão com plataformas inclinadas, calculando cada pixel do objeto! ^^
(Lembrando que se você tiver uma plataforma com a colisão programada e for adicionar as rampas, é só cria-las e por como parente a essa primeira plataforma!
Espero que isso ajude muitos que querem criar um jogo legal do Sonic. (Ou aprender aos poucos o sistema de 360°)
Para tirar mais duvidas fiz essa engine:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Baixem e se for usa-la em algum jogo dar créditos ao criador! blz?^^
Mas com esse tutorial... Seu problemas acabaram! XD
Fiz um sistema de rampas que funciona usado o script.
Bem fácil de intender! ^^
Vamos aos códigos!
1º cria um script com o nome Rampa (Pode ser o que você quiser)
- Código:
if place_free(x+velo,y-1){x+=velo y-=1}
else
if place_free(x+velo,y-2){x+=velo y-=2}
else
if place_free(x+velo,y-3){x+=velo y-=3}
else
if place_free(x+velo,y-4){x+=velo y-=4}
else
if place_free(x+velo,y-5){x+=velo y-=5}
else
if place_free(x+velo,y-6){x+=velo y-=6}
else
if place_free(x+velo,y-7){x+=velo y-=7}
else
if place_free(x+velo,y-8){x+=velo y-=8}
else
if place_free(x+velo,y-9){x+=velo y-=9}
else
if place_free(x+velo,y-10){x+=velo y-=10}
else
if place_free(x+velo,y-11){x+=velo y-=11}
else
if place_free(x+velo,y-12){x+=velo y-=12}
else
if place_free(x+velo,y-13){x+=velo y-=13}
else
if place_free(x+velo,y-14){x+=velo y-=14}
else
if place_free(x+velo,y-15){x+=velo y-=15}
else
if place_free(x+velo,y-16){x+=velo y-=16}
else
if place_free(x+velo,y-17){x+=velo y-=17}
else
if place_free(x+velo,y-18){x+=velo y-=18}
else
if place_free(x+velo,y-19){x+=velo y-=19}
else
if place_free(x+velo,y-20){x+=velo y-=20}
else
if place_free(x+velo,y-21){x+=velo y-=22}
else
if place_free(x+velo,y-23){x+=velo y-=23}
else
if place_free(x+velo,y-24){x+=velo y-=24}
else
if place_free(x+velo,y-25){x+=velo y-=25}
else
if place_free(x+velo,y-26){x+=velo y-=26}
else
if place_free(x+velo,y-27){x+=velo y-=27}
else
if place_free(x+velo,y-28){x+=velo y-=28}
else
if place_free(x+velo,y-29){x+=velo y-=29}
else
if place_free(x+velo,y-30){x+=velo y-=30}
else
if place_free(x+velo,y-31){x+=velo y-=31}
else
if place_free(x+velo,y-32){x+=velo y-=32}
else
if place_free(x+velo,y-33){x+=velo y-=33}
else
if place_free(x+velo,y-34){x+=velo y-=34}
else
if place_free(x+velo,y-35){x+=velo y-=35}
else
if place_free(x+velo,y-36){x+=velo y-=36}
else
if place_free(x+velo,y-37){x+=velo y-=37}
else
if place_free(x+velo,y-38){x+=velo y-=38}
else
if place_free(x+velo,y-39){x+=velo y-=39}
else
if place_free(x+velo,y-40){x+=velo y-=40}
if vvele>=0{
if place_free(x,y+1) and !place_free(x,y+2){y+=1 no_ar=false}
if place_free(x,y+2) and !place_free(x,y+3){y+=2 no_ar=false}
if place_free(x,y+3) and !place_free(x,y+4){y+=3 no_ar=false}
if place_free(x,y+4) and !place_free(x,y+5){y+=4 no_ar=false}
if place_free(x,y+5) and !place_free(x,y+6){y+=5 no_ar=false}
if place_free(x,y+6) and !place_free(x,y+7){y+=6 no_ar=false}
if place_free(x,y+7) and !place_free(x,y+8){y+=7 no_ar=false}
if place_free(x,y+8) and !place_free(x,y+9){y+=8 no_ar=false}
if place_free(x,y+9) and !place_free(x,y+10){y+=9 no_ar=false}
if place_free(x,y+10) and !place_free(x,y+11){y+=10 no_ar=false}
if place_free(x,y+11) and !place_free(x,y+12){y+=11 no_ar=false}
if place_free(x,y+12) and !place_free(x,y+13){y+=12 no_ar=false}
if place_free(x,y+13) and !place_free(x,y+14){y+=13 no_ar=false}
if place_free(x,y+3){no_ar=true}
if !place_free(x,y+3){if vvele>0{no_ar=false}}}
Vai detectar os pixel da plataforma e automaticamente ira calcular o angulo que fara o personagem subir! ^^
2º no personagem você vai no create e coloca:
- Código:
vvele=0
velo=0
No step do personagem em baixo de qualquer código de movimentos
- Código:
Rampa()
depois disso ele vai funfar normalmente em qualquer colisão com plataformas inclinadas, calculando cada pixel do objeto! ^^
(Lembrando que se você tiver uma plataforma com a colisão programada e for adicionar as rampas, é só cria-las e por como parente a essa primeira plataforma!
Espero que isso ajude muitos que querem criar um jogo legal do Sonic. (Ou aprender aos poucos o sistema de 360°)
Para tirar mais duvidas fiz essa engine:
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Baixem e se for usa-la em algum jogo dar créditos ao criador! blz?^^
- Knonick
- Mensagens : 884
Reputação : 9
Data de inscrição : 13/06/2011
Idade : 25
Localização : São Paulo, Brasil
Re: Sistema de rampa infalível
Sex 2 Dez - 9:10:52
Taigo, acho que tem algo errado. Quando eu aperto o botão de pular o player sai muito pouco do chão e volta. Se eu tirar o código que chama o script do step, volta tudo ao normal.
Re: Sistema de rampa infalível
Sex 2 Dez - 9:58:55
Ele ta fazendo efeito no sistema de gravidade do seu personagem coloque o código a baixo de toda programação do seu personagem no step! ^^Knonick escreveu:Taigo, acho que tem algo errado. Quando eu aperto o botão de pular o player sai muito pouco do chão e volta. Se eu tirar o código que chama o script do step, volta tudo ao normal.
Se não der certo regule o eixo y do sprite de pulo do seu personagem para -9 isso ira fazer com que afaste o movimento da plataforma desgrudando ele do sistema de gravidade e o que mantem ele grudado no chão com o sistema de rampas! ^^
Re: Sistema de rampa infalível
Qua 7 Dez - 15:24:48
não funciona por isso não ganha rings.
alen de que, o player pula muito baixo que nem aconteceu com o Knonick
alen de que, o player pula muito baixo que nem aconteceu com o Knonick
- MaciotaTheLegend
- Mensagens : 1063
Reputação : 16
Data de inscrição : 06/06/2011
Idade : 29
Re: Sistema de rampa infalível
Qua 7 Dez - 15:29:30
estranho aqui funciona legal
a unica coisa que precisa é
colocar o codigo no step (abaixo de todos os outros codigos)
ter uma colisão com um obj_chão (move_direction (direction,12,solid objjects )
ae cria o objeto rampa
e não coloca colisão com o player apenas deixe o objRampa como solido
pronto aqui funcionou legal
a e eu troquei todos os (velo) por (hspeed)
e os (vvele) por (vspeed)
de 0 a 10 dou nota 11 ^^
a unica coisa que precisa é
colocar o codigo no step (abaixo de todos os outros codigos)
ter uma colisão com um obj_chão (move_direction (direction,12,solid objjects )
ae cria o objeto rampa
e não coloca colisão com o player apenas deixe o objRampa como solido
pronto aqui funcionou legal
a e eu troquei todos os (velo) por (hspeed)
e os (vvele) por (vspeed)
de 0 a 10 dou nota 11 ^^
- Knonick
- Mensagens : 884
Reputação : 9
Data de inscrição : 13/06/2011
Idade : 25
Localização : São Paulo, Brasil
Re: Sistema de rampa infalível
Qua 7 Dez - 22:29:24
Ah, eu consegui colocar pra funcionar aqui, mas na maioria das vezes não sobe a rampa, e quando sobe fica numa velocidade muito pequena. Eu tinha feito o que o Jefferson falou, só não tinha trocado vvele por vspeed. Mas depois eu troquei e deu no que eu falei. Testei com 3 rampas diferentes.
- MaciotaTheLegend
- Mensagens : 1063
Reputação : 16
Data de inscrição : 06/06/2011
Idade : 29
Re: Sistema de rampa infalível
Qua 7 Dez - 22:43:12
hm ...
que estranho knonick
na colisão com o player e rampa vc coloca o que ?
eu mesmo não coloco nada apenos deixo a rampa como solida e ponho ela na room
e funciona legal
so que para alguns angulos de rampa o player não sobre deve ser isso
eu aprimorei aqui o codigo e ta funcionando legal so não esta perfeito
eu aprovo o tutorial dele
ficou muito bom
que estranho knonick
na colisão com o player e rampa vc coloca o que ?
eu mesmo não coloco nada apenos deixo a rampa como solida e ponho ela na room
e funciona legal
so que para alguns angulos de rampa o player não sobre deve ser isso
eu aprimorei aqui o codigo e ta funcionando legal so não esta perfeito
eu aprovo o tutorial dele
ficou muito bom
- MaciotaTheLegend
- Mensagens : 1063
Reputação : 16
Data de inscrição : 06/06/2011
Idade : 29
Re: Sistema de rampa infalível
Qua 7 Dez - 23:22:11
então tá
+10 rings pelo tuto
(meus dedos não vão cair com isso sabe )
+10 rings pelo tuto
(meus dedos não vão cair com isso sabe )
- Knonick
- Mensagens : 884
Reputação : 9
Data de inscrição : 13/06/2011
Idade : 25
Localização : São Paulo, Brasil
Re: Sistema de rampa infalível
Qui 8 Dez - 10:57:30
Eu fiz exatamente isso que você fez Jefferson, e está com este bug. E Taigo, porque no código tem a variável no_ar se ela nem está definida no create?
Re: Sistema de rampa infalível
Qui 8 Dez - 11:37:17
É porque o cara pensou que vocês poderiam declará-la.
Eae Knux, vou fazer uma engine pra vc
Eae Knux, vou fazer uma engine pra vc
Re: Sistema de rampa infalível
Qui 8 Dez - 11:57:25
Knonick escreveu:Eu fiz exatamente isso que você fez Jefferson, e está com este bug. E Taigo, porque no código tem a variável no_ar se ela nem está definida no create?
Poxa eu demorei pra responder dessa vez! hehehe
Bom, ele serve para manter o personagem no chão quando descer a rampa. (Pra não ficar naquele pula pula estranho)
Quase eu não ganho rings em?! XD
Eu to tentando explica faz tempo sobre tal ação, O código deve estar abaixo de todos os outros do evento step! Sem nem um segredo apenas uma colisão normal com a plataforma reta e as rampas você apenas marca como solida e liga elas como parente da primeira plataforma. Pra esclarecer mais ainda fiz uma engine bem simples disso! Ta no inicio do tópico.
- caos the hedgehog
- Mensagens : 153
Reputação : 0
Data de inscrição : 03/11/2011
Idade : 24
Localização : death egg surrando robos e o balofo do eggman
Re: Sistema de rampa infalível
Seg 25 Fev - 23:34:01
taigo tenho so dois probleminhas
1 ele pula mas fica grudado no chão-consegui resolver
2 ele só sobe ele nao consegue descer
agora so falta a dois taigo da um help ae
1 ele pula mas fica grudado no chão-consegui resolver
2 ele só sobe ele nao consegue descer
agora so falta a dois taigo da um help ae
Re: Sistema de rampa infalível
Ter 26 Fev - 15:44:24
Da uma olhadinha na engine que você vai saber o que fazer!
- caos the hedgehog
- Mensagens : 153
Reputação : 0
Data de inscrição : 03/11/2011
Idade : 24
Localização : death egg surrando robos e o balofo do eggman
Re: Sistema de rampa infalível
Ter 26 Fev - 20:44:56
man eu olhei e não achei nada...
Re: Sistema de rampa infalível
Qua 27 Fev - 3:37:07
Provavelmente o conflito com o código ta na sua gravidade você a fez usando código né?
Faça a mesma gravidade da engine que dará certo!
Faça a mesma gravidade da engine que dará certo!
- caos the hedgehog
- Mensagens : 153
Reputação : 0
Data de inscrição : 03/11/2011
Idade : 24
Localização : death egg surrando robos e o balofo do eggman
Re: Sistema de rampa infalível
Qua 27 Fev - 19:45:28
não fiz não ...mas relax taigo eu arrumo um geito!^^
Permissões neste sub-fórum
Não podes responder a tópicos