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

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

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

Mensagem por gerudoking 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!

gerudoking

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

Voltar ao Topo Ir em baixo

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

Mensagem por makgamer 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

makgamer

Ranking : Nota D
Número de Mensagens : 927
Idade : 18
Data de inscrição : 29/03/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   : 1
   :

Voltar ao Topo Ir em baixo

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

Mensagem por vinians 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;

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

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

Mensagem por gerudoking 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?

gerudoking

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

Voltar ao Topo Ir em baixo

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

Mensagem por Conteúdo patrocinado Hoje à(s) 18:04


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