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

Nenhum

Ver toda a lista


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

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

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

Caixa que você pode empurrar,como faço?

em Qui 30 Jul 2009, 18:00
Estou com uma grande dúvida,que é a seguinte:
Para meu atual projeto,estou querendo fazer uma caixa que o obj_personagem possa empurrar,por exemplo:Se ele vier pela esquerda para empurrar a caixa,ela vai para a direita,se ele vier por baixo vai a caixa para cima.O que eu quero é uma caixa que o obj_personagem possa empurrar da direita,esquerda,baixo e cima.

Por favor,alguém ajude!
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 29/03/2009
Número de Mensagens : 927
Insígnias de JAM :

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

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

Re: Caixa que você pode empurrar,como faço?

em Qui 30 Jul 2009, 19:15
simples
no player:
step:
Código:
if keyboard_check(vk_right)=true
hspeed=3;
if keyboard_check(vk_left)=true
hspeed=-3;
if keyboard_check(vk_right)=false and keyboard_check(vk_left)=false
hspeed=0;
if place_free(x,y+1){
gravity_direction=gv_dir gravity=grav no_chao=false}
else{
gravity=0 no_chao=true }

if not place_free(x,y+4)

if vspeed> 6{
vspeed=6}
//FORA DO CHÃO
if y = room_height{room_restart();}
colision do player com o chão:
Código:
move_contact_solid(direction,10)
vspeed = 0
no_chao = true
create do player:
Código:
stay=false
no_chao=true
atacando=false
atacando2=false
atacando3=false
direita=true
andando=false
abaixado=false

grav=0.4

gv_dir=270

image_speed=0.25
na colision da caixa com o player:
Código:
if keyboard_check(vk_right)=true
hspeed=3;
if keyboard_check(vk_left)=true
hspeed=-3;
if keyboard_check(vk_up)=true
vspeed=-3;
if keyboard_check(vk_down)=true
vspeed=3;
if keyboard_check(vk_right)=false and keyboard_check(vk_left)=false
hspeed=0;
if keyboard_check(vk_down)=false and keyboard_check(vk_up)=false
vspeed=0
if (objet do player.y>y){hspeed = 0}
simples
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Caixa que você pode empurrar,como faço?

em Qui 30 Jul 2009, 20:26
No evento de Colisão do objChar com o Bloco coloque:
Código:

other.force_x = -sign(x - other.x);
other.x += other.force_x;
No evento Step do Bloco coloque:
Código:

if (force_x <> 0)
{
  x += force_x;
  force_x = 0;
}
No evento Create do Bloco coloque:
Código:

force_x = 0;
avatar
Data de inscrição : 07/07/2009
Número de Mensagens : 467
Insígnias de JAM :

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

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

Re: Caixa que você pode empurrar,como faço?

em Sex 31 Jul 2009, 14:19
Os dois ajudaram muito,obrigado.Mas oque era exatamente o que eu queria era a explicação do vinians,mas tenho três perguntas para o vinians:
1-Você poderia explicar o código,por favor?

2-Você poderia me mostar outro jeito de que quando o personagem bate no objeto caixa por baixo,a caixa empurra para cima e vice versa,sem ser só empurrar para a direita e a esquerda.

3-quando o personagem bate na caixa,ele atravessa a caixa por atrás dela,como eu faço para que o personagem não "atravesse" a caixa?
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