Conectar-se
Quem está conectado
29 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 27 Visitantes

CRP-Max, Katerp

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 20/06/2009
Número de Mensagens : 129
Insígnias de JAM :

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

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

Piso de gelo(escorregadio)

em Sex 03 Jul 2009, 12:56
Um título explicativo, como fazer um piso escorregadio? (Plataforma)
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: Piso de gelo(escorregadio)

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
avatar
Data de inscrição : 20/06/2009
Número de Mensagens : 129
Insígnias de JAM :

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

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

Re: Piso de gelo(escorregadio)

em Sex 03 Jul 2009, 14:48
Não funcionou, talvez por eu não ter intendido.
avatar
Data de inscrição : 03/01/2009
Número de Mensagens : 377
Insígnias de JAM :

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

Re: Piso de gelo(escorregadio)

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)
avatar
Data de inscrição : 20/06/2009
Número de Mensagens : 129
Insígnias de JAM :

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

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

Re: Piso de gelo(escorregadio)

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
avatar
Data de inscrição : 03/01/2009
Número de Mensagens : 377
Insígnias de JAM :

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

Re: Piso de gelo(escorregadio)

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.
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