como fazer o personagem ir andando e depois começar a correr?

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

como fazer o personagem ir andando e depois começar a correr?

Mensagem por sonicfan1 em Dom 27 Set 2009, 09:41

vou explicar melhor , como faço pra quando
eu apertar esquerda ou direita o sonic
ir andando depois e de uns dois segundos
ele começar a correr?

sonicfan1

Número de Mensagens : 138
Data de inscrição : 26/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por CPinheiro em Dom 27 Set 2009, 10:01

Pelo que entendi, você quer fazer um sistema de aceleração, correto?
Bem, existem várias formas de se fazer isso, desde ficar somando um valor cada vez maior no x do personagem à manipulação de hspeed.
Use o sistema de busca do fórum que você irá encontrar com facilidade.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Bruno-VX em Dom 27 Set 2009, 13:24

tipo o sonic?que vai andando depois vai aumentando a velocidade?
se sim, procure na categoria engines, aqui no forum tem uam Happy

Bruno-VX

Número de Mensagens : 12
Data de inscrição : 26/09/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Thyago em Dom 27 Set 2009, 14:01

crie uma variavel com onome de correndo em create event.
Código:
correndo=0
ai quando vc apertar para andar vc coloca seu codigo para andar por exemplo;

Código:
if keyboard_check_pressed(vk_left) {direction=0  speed=3+correndo  alarm[0]=10}
if keyboard_check_pressed(vk_right) {direction=0  speed=3+correndo  alarm[0]=10}

E em alarm0 vc coloca
Código:
correndo=3


e um outro código para quando soltar o botão;
Código:
if keyboard_check_released(v_kright) or keyboard_check_released(vk_left)
correndo=0

Se não for isso é quase falow. Cool

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por CPinheiro em Dom 27 Set 2009, 14:24

Thyago escreveu:crie uma variavel com onome de correndo em create event.
Código:
correndo=0
ai quando vc apertar para andar vc coloca seu codigo para andar por exemplo;

Código:
if keyboard_check_pressed(vk_left) {direction=0  speed=3+correndo  alarm[0]=10}
if keyboard_check_pressed(vk_right) {direction=0  speed=3+correndo  alarm[0]=10}

E em alarm0 vc coloca
Código:
correndo=3


e um outro código para quando soltar o botão;
Código:
if keyboard_check_released(v_kright) or keyboard_check_released(vk_left)
correndo=0

Se não for isso é quase falow. Cool

Até funcionaria, mas a velocidade iria aumentar tanto "do nada". Acho algo assim no Step ficaria legal:

Código:

if ! (variable_local_exists("correndo")) { correndo = 0; }
if (keyboard_check(vk_right))
{
if (place_free(x+correndo,y))
{
if (correndo < 10) correndo += 0.1;
x += correndo;
}
}

Está bem básico, mas já faz uma aceleração provavelmente sem bugs.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Thyago em Seg 28 Set 2009, 12:46

CPinheiro escreveu:
Thyago escreveu:crie uma variavel com onome de correndo em create event.
Código:
correndo=0
ai quando vc apertar para andar vc coloca seu codigo para andar por exemplo;

Código:
if keyboard_check_pressed(vk_left) {direction=0  speed=3+correndo  alarm[0]=10}
if keyboard_check_pressed(vk_right) {direction=0  speed=3+correndo  alarm[0]=10}

E em alarm0 vc coloca
Código:
correndo=3


e um outro código para quando soltar o botão;
Código:
if keyboard_check_released(v_kright) or keyboard_check_released(vk_left)
correndo=0

Se não for isso é quase falow. Cool

Até funcionaria, mas a velocidade iria aumentar tanto "do nada". Acho algo assim no Step ficaria legal:

Código:

if ! (variable_local_exists("correndo")) { correndo = 0; }
if (keyboard_check(vk_right))
{
if (place_free(x+correndo,y))
{
if (correndo < 10) correndo += 0.1;
x += correndo;
}
}

Está bem básico, mas já faz uma aceleração provavelmente sem bugs.


Mas ele pediu para depois de um tempo ele correr e não ir acelerando desde o começo,você poderia colocar essa aceleração começar após um periodo ao menos e não
desde comçar a andar.
Com aceleraçao eu ja fiz um script com facil controle de aceleraçõao e frenagem.

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por itallo em Seg 28 Set 2009, 18:11

vou fazer o seguinte, quando você apertar seta para direita, seu carinha vai andar para direita, depois de um tempo a velocidade dele vai almentar, e quando você soltar a seta para a direita ele vai diminuir a velocidade e depois parar.
Spoiler:

bom no evento create coloque esse code:
Código:

velocidade = 4
corrida = 0

no evento step:
Código:

if keyboard_check(vk_right){
hspeed = velocidade+corrida
alarm[0] = 5000
}

if keyboard_check_released(vk_right){
corrida = 0
alarm[1] = 30
}

crie um evento alarm[0] e faça um code tbm:
Código:

corrida = 2

crie um alarm[1] e coloque esse code:
Código:

velocidade = 0

agora caso queira que o personagem pare de andar na hora em que você soltou a seta para direita.
Spoiler:

bom no evento create coloque esse code:
Código:

velocidade = 4
corrida = 0

no evento step:
Código:

if keyboard_check(vk_right){
hspeed = velocidade+corrida
alarm[0] = 5000
}

if keyboard_check_released(vk_right){
corrida = 0
velocidade = 0
}

crie um evento alarm[0] e faça um code tbm:
Código:

corrida = 2



creio eu que vá funcionar, qualquer coisa ésó postar.

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por sonicfan1 em Sex 02 Out 2009, 21:46

eu só queria que quando eu aperta-se esquerda ou direita
ele muda-se para srite_andando e depois de um certo tempo
ele muda-se para sprite_correndo.

como se faz isso?

sonicfan1

Número de Mensagens : 138
Data de inscrição : 26/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Thyago em Sex 02 Out 2009, 22:00

crie um alarm para cada um por ex:
Código:
if keyboar_check_pressed(vk_right)alarm0=10
10 no caso o tempo do alarm
Código:
if keyboar_check_pressed(vk_left)alarm1=10

ai no alarm0 vc coloca
Código:
sprits_index=sprit_correndo_para_direita
e no alarm1
Código:
coloca sprits_index=sprit_correndo_para_esquerda

obs:sprit_correndo_para_direita é um nome que eu criei=coloque o nome da sua sprit

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Denis Lemos em Sex 02 Out 2009, 22:26

Tenta fazer assim então:

no create do seu player:
Código:
pode_correr=0
freio=.2

No evento step do seu player:
Código:

action_set_friction(freio)

sprite_index="nome da sua sprite caminhando"

if keyboard_check(vk_right){
pode_correr+=1;hspeed+=.6
}

if keyboard_check(vk_left){
pode_correr-=1;hspeed-=.6
}

if ! keyboard_check(vk_right or vk_left){
pode_correr=0
}

//limitar velocidade
if hspeed>7{hspeed=7}
if hspeed<-7{hspeed=-7}

//mudar sprite e correr
if pode_correr>=30{ // se vc querer que demore mais para a mudança aumente o numero para 40
sprite_index="nome da sua sprite_correndo"
hspeed+=5  //regula de acordo com seu gosto
}

if pode correr<=30{ // se vc querer que demore mais para a mudança aumente o numero para 40
sprite_index="nome da sua sprite correndo"
hspeed-=5  //regula de acordo com seu gosto
}

No código eu coloquei para também aumentar a velocidade quando mudar de sprite, caso vc não queira isso só delete o "hspeed-=5" eo "hspeed+=5"

Se não der certo eu posso te fazer uma engine exemplo apenas amanhã de noite!

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por sonicfan1 em Dom 04 Out 2009, 16:59

tá legal acho melhor você fazer a engine mesmo
o meu não funcionou ele só fez ir para traz sem eu fazer nada

sonicfan1

Número de Mensagens : 138
Data de inscrição : 26/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por CPinheiro em Dom 04 Out 2009, 17:28

Ok, tente isso:

Código:

if ! (variable_local_exists("var_correndo")) { var_correndo = 0; }
if ! (variable_local_exists("var_acelera")) { var_acelera = 0; }
if ! (variable_local_exists("var_desacelera")) { var_desacelera = 0; }

if (keyboard_check(vk_right))
{
if (place_free(x+var_correndo,y))
{
if (var_acelera < 15) var_acelera += 0.5;
if (var_acelera > 5) && (var_correndo < 10) var_correndo+=0.1;
x += var_correndo;
}
}
if (keyboard_check_released(vk_right)) { var_desacelera = var_correndo; var_acelera = 0; var_correndo = 0; }

if (keyboard_check(vk_left))
{
if (place_free(x-var_correndo,y))
{
if (var_acelera > -15) var_acelera -= 0.5;
if (var_acelera < -5) && (var_correndo > -10) var_correndo-=0.1;
x += var_correndo;
}
}
if (keyboard_check_released(vk_left)) { var_desacelera = var_correndo; var_acelera = 0; var_correndo = 0; }

if (var_desacelera < 0)
{
var_desacelera+=0.1;
if (var_desacelera > 0) var_desacelera = 0;
x+=var_desacelera;
}

if (var_desacelera > 0)
{
var_desacelera-=0.1;
if (var_desacelera < 0) var_desacelera = 0;
x+=var_desacelera;
}

Testei, dessa vez.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Gabreel em Dom 04 Out 2009, 17:37

Cpinheiro, onde enfia as sprites? :S

(Codigo muito bom Smile

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: como fazer o personagem ir andando e depois começar a correr?

Mensagem por CPinheiro em Dom 04 Out 2009, 18:01

Simples, tente usar o comando sprite_index.

sprite_index = nome_do_sprite; - serve para alterar o sprite do objeto.

Na parte onde checa se aperta o botão da seta esquerda, dentro da chave do place_free, use algo como sprite_index=spr_personagem_esquerda. Faça o mesmo na parte onde checa se aperta o botão da seta direita, também dentro da chave do place_free, com sprite_index=spr_personagem_direita.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Gabreel em Dom 04 Out 2009, 18:05

Ah vlw, so tava querewndo saber aonde encaixava as sprites..

isso funciona pra andar e correr?
([spr]anda e muda pra [spr]correr)

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: como fazer o personagem ir andando e depois começar a correr?

Mensagem por CPinheiro em Dom 04 Out 2009, 18:14

·ßieL escreveu:Ah vlw, so tava querewndo saber aonde encaixava as sprites..

isso funciona pra andar e correr?
([spr]anda e muda pra [spr]correr)

Sim, dá pra fazer, tente algo assim:

Dentro do place_free (right):

SE var_correndo for maior que 5 [if (var_correndo > 5)]
MUDAR sprite para spr_personagem_correndo_direita [sprite_index = spr_personagem_correndo_direita;]
SE var_correndo NÃO for maior que 5 [else]
MUDAR sprite para spr_personagem_andando_direita [sprite_index = spr_personagem_andando_direita;]

---
Deu pra ter uma ideia, certo? Modificando esses valores, você consegue fazer isso pra esquerda fácil. Lembre-se que pra esquerda é o Left. Esse código você coloca dentro do place_free.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Gabreel em Dom 04 Out 2009, 19:00

Não funcionou...
O (Mario) fica com o sprite de correndo assim que preciono o botão direcional direito.
e quando ele está parado continua com a sprite de correndo =/

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: como fazer o personagem ir andando e depois começar a correr?

Mensagem por sonicfan1 em Dom 11 Out 2009, 18:42

thyago fiz o que você disse mas quando eu solto esquerda ou direita
o sonic fica com o sprite correndo e continua indo pra frente

como impedir isso?

~~edit~~

pra você intender melhor vou dizer oque eu fiz:
criei 5 alarms

no 0 botei:
se mover pra direita
mudar de sprite andando para andando_direita
e set alarm 1 to 8

no 1 eu botei:
se mover pra direita (com uma velocidade maior)
mudar de sprite para correndo_direita

no 2 eu botei:
se mover pra esquerda
mudar de sprite andando para andando_esquerda
e set alarm 3 to 8

no 3 eu botei:
se mover para esquerda (com uma velocidade maior)
e mudar de sprite para correndo_esquerda

no 4 e 5
botei para ficar parado na esquerda
e ficar parado na direita

para apertar direita set alarm 0 to 1
para apertar esquerda set alarm 2 to 1
para soltar esquerda set alarm set alarm 5 to 1
para soltar direita set alarm set alarm 4 to1

agradeço desde já Smile


Última edição por sonicfan1 em Qui 22 Out 2009, 15:41, editado 1 vez(es)

sonicfan1

Número de Mensagens : 138
Data de inscrição : 26/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por TiagoBonadio em Dom 11 Out 2009, 21:06

coloca assim:
Código:
if keyboard_check(tecla_de_direção) and keyboard_check(tecla_de_correr){
speed+=vel//subistitua "vel" pela velocidade desejada!
}

basicamente é assim:
ele checa se tem duas teclas pressionadas: direção e a tecla de correr mais. se precionar essas duas juntas ela adicionara amais a velocidade que vc colocar

no evento create coloque:
Código:
direita = true
correndo = false

e para mudar de sprite coloque
Código:
if correndo = true{
if direita = true{
sprite_index = sprite que vc quer para a direita
}else{
sprite_index = sprite que vc quer para a esquerda
}
}

e no primeiro codigo fica assim(correndo para esquerda):
Código:
if keyboard_check(vk_left) and keyboard_check(tecla_de_correr){
speed+=vel//subistitua "vel" pela velocidade desejada!
correndo = true
direita = false
}else{
correndo = false
}

correndo para direita:
Código:
if keyboard_check(vk_right) and keyboard_check(tecla_de_correr){
speed+=vel//subistitua "vel" pela velocidade desejada!
correndo = true
direita = true
}else{
correndo = false
}

TiagoBonadio

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

http://animanga-games.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por CPinheiro em Dom 11 Out 2009, 21:42

É um jogo de Sonic, correto?
Eu fiz essa engine com o Mario:
http://rapidshare.com/files/290863433/Acelera____o.gm6.html

Apesar de ser do Mario, você verá que o estilo de movimentação é bem semelhante ao de Sonic.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por sonicfan1 em Qua 21 Out 2009, 19:11

CPinheiro só tem um probleminha o spr_parado que eu fiz é uma animação
ele se mexe mas quando solto os botões ele não se mexe ele fica
so com um sprite

pode me ajudar?


Última edição por sonicfan1 em Qui 22 Out 2009, 15:40, editado 1 vez(es)

sonicfan1

Número de Mensagens : 138
Data de inscrição : 26/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por CPinheiro em Qua 21 Out 2009, 23:12

Download
Além de resolver o que você quer, também resolvi um bugzinho bobo.
Testa aí e me diz se está funcionando.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por sonicfan1 em Qui 22 Out 2009, 15:39

valeu CPinheiro funcionou!!!

sonicfan1

Número de Mensagens : 138
Data de inscrição : 26/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o personagem ir andando e depois começar a correr?

Mensagem por Conteúdo patrocinado Hoje à(s) 07:54


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