Piso de gelo(escorregadio)

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

Piso de gelo(escorregadio)

Mensagem por HL8 - Heber Luciano em Sex 03 Jul 2009, 12:56

Um título explicativo, como fazer um piso escorregadio? (Plataforma)

HL8 - Heber Luciano

Número de Mensagens : 129
Data de inscrição : 20/06/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: Piso de gelo(escorregadio)

Mensagem por Gusba em Sex 03 Jul 2009, 13:25

vc pode usar as variaveis internas do objeto, como friction

no create:

friction = 0.3;

e pra move, usa as vars, hspeed,vspeed,direction,speed

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Piso de gelo(escorregadio)

Mensagem por HL8 - Heber Luciano em Sex 03 Jul 2009, 14:48

Não funcionou, talvez por eu não ter intendido.

HL8 - Heber Luciano

Número de Mensagens : 129
Data de inscrição : 20/06/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: Piso de gelo(escorregadio)

Mensagem por M.A.S. em Sex 03 Jul 2009, 22:55

A variável friction só vai funcionar corretamente se tu fizer o movimento da isntância baseado nas propriedades vspeed e hspeed (ou speed). Quanto maior o valor do friction, menos a instância vai "deslizar" no "gêlo".

Só um exemplo pra tu entender:


Ponha no evento Create:
Código:
friction := .5; // repare que há um ponto antes do número 5

Ponha do Step:

Código:
switch (keyboard_key)
begin
    case (vk_left):    hspeed -= .2  ; break;
    case (vk_right):  hspeed += .2  ; break;
    case (vk_up):    vspeed -= .2  ; break;
    case (vk_down): vspeed += .2  ; break;
end;

Agora, se tu alterar o valor de friction (o mesmo que foi declarado no evento Create), vai perceber que a instância vai "deslizar" menos ou mais, de acordo com os valores especificados.

Boa sorte.


Última edição por M.A.S. em Dom 05 Jul 2009, 11:04, editado 1 vez(es)

M.A.S.

Número de Mensagens : 377
Data de inscrição : 03/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Piso de gelo(escorregadio)

Mensagem por HL8 - Heber Luciano em Sab 04 Jul 2009, 10:42

Primeiro coloquei os códigos no obj_piso_e
só que não funfou, depois eu aumentei o valor para 10, e aí sim, só que o que mudou de lugar foi o piso.
reparando nisso, eu tirei tudo do obj_piso_e e coloquei na colisão do herói com ele.
e não deu certo

HL8 - Heber Luciano

Número de Mensagens : 129
Data de inscrição : 20/06/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: Piso de gelo(escorregadio)

Mensagem por M.A.S. em Dom 05 Jul 2009, 11:09

Faz o seguinte: põe tudo isso que eu falei no herói. Depois tu põe valores diferentes de friction para cada superfície onde o teu herói pode pisar.

Daí no evento de colisão do piso com o herói, tu digita um código assim:

Código:
heroi.friction = .1;

No lugar da palavra "heroi" aí em riba, tu põe o nome do objecto que corresponde à instância do teu herói.

O que acontece aí é que, na verdade, tu direcciona o valor da propriedade "friction" para a instância do herói. Daí tu pode controlar "o quanto" ele vai "deslizar" em cada tipo de superfície.

Boa sorte.

M.A.S.

Número de Mensagens : 377
Data de inscrição : 03/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Piso de gelo(escorregadio)

Mensagem por Conteúdo patrocinado Hoje à(s) 20:26


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