Pelo visto é algum muito pouco mais complicado de se programar, alguém pode meu explicar como faço isso para eu tentar imaginar o código pf
Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Player não ficar preso em um obstáculo
- Ismaelgames7
- Membro
- Reações: 0
- Mensagens: 26
-
Player não ficar preso em um obstáculo
Olá
Como eu faço para o meu player não ficar preso em um obstáculo?
Não da para explicar direito, vcs vendo a engine é melhor, aqui:
... sp=sharing
O que eu não to conseguindo fazer é quando o meu obstáculo voltar a ficar visível e sólido e se o player estiver encima desse obstáculo, o obstáculo vai empurrar o player pra trás.
Como eu faço para o meu player não ficar preso em um obstáculo?
Não da para explicar direito, vcs vendo a engine é melhor, aqui:
... sp=sharing
O que eu não to conseguindo fazer é quando o meu obstáculo voltar a ficar visível e sólido e se o player estiver encima desse obstáculo, o obstáculo vai empurrar o player pra trás.
Editado pela última vez por Ismaelgames7 em Sex Jul 01, 2016 8:54 pm, em um total de 1 vez.
Re: Player não ficar preso em um obstáculo
tenta esse script q criei
cria um script no seu projeto com nome "contact" e adicione isso a ele
e depois coloque no player de preferencia no step
contact(obstaculo)
e RETTIRE o solid do obj da obstaculo
cria um script no seu projeto com nome "contact" e adicione isso a ele
Código: Selecionar todos
x=xprevious;
y=yprevious;
if place_meeting(x,y,argument0)
{
t=150;
mx=x;
my=y;
c[0]=0;
for(i=1;i<=t;i+=1)
{
x+=1;
c[0]+=1;
if not(place_meeting(x,y,argument0))
i=t+1;
}
x=mx;
c[1]=0;
for(i=1;i<=t;i+=1)
{
y-=1;
c[1]+=1;
if not(place_meeting(x,y,argument0))
i=t+1;
}
y=my;
c[2]=0;
for(i=1;i<=t;i+=1)
{
x-=1;
c[2]+=1;
if not(place_meeting(x,y,argument0))
i=t+1;
}
x=mx;
c[3]=0;
for(i=1;i<=t;i+=1)
{
y+=1;
c[3]+=1;
if not(place_meeting(x,y,argument0))
i=t+1;
}
y=my;
mn=min(c[0],c[1],c[2],c[3]);
if mn=c[0]
{
x+=(c[0]+1);
if eff_anim=0
hspeed=0;
}
if mn=c[1]
{
y-=(c[1]+1);
if eff_anim=0
vspeed=0;
}
if mn=c[2]
{
x-=(c[2]+1);
if eff_anim=0
hspeed=0;
}
if mn=c[3]
{
y+=(c[3]+1);
if eff_anim=0
vspeed=0;
}
}
else
{
t=speed_max;
mx=x;
for(i=0;i<t;i+=1)
{
x+=1;
if place_meeting(x,y,argument0)
{
i=t;
mx=x-1;
if eff_anim=0
hspeed=0;
}
}
x=mx;
for(i=0;i<t;i+=1)
{
x-=1;
if place_meeting(x,y,argument0)
{
i=t;
mx=x+1;
if eff_anim=0
hspeed=0;
}
}
x=mx;
my=y;
for(i=0;i<t;i+=1)
{
y+=1;
if place_meeting(x,y,argument0)
{
i=t+1;
my=y-1;
if eff_anim=0
vspeed=0;
}
}
y=my;
for(i=0;i<t;i+=1)
{
y-=1;
if place_meeting(x,y,argument0)
{
i=t+1;
my=y+1;
if eff_anim=0
vspeed=0;
}
}
y=my;
}
contact(obstaculo)
e RETTIRE o solid do obj da obstaculo
Vlw, Flw !!
- Ismaelgames7
- Membro
- Reações: 0
- Mensagens: 26
-
Re: Player não ficar preso em um obstáculo
Eu não entendi... tbm testei esse código e não funcionou .-.Adilson escreveu:tenta esse script q criei
cria um script no seu projeto com nome "contact" e adicione isso a elee depois coloque no player de preferencia no stepCódigo: Selecionar todos
x=xprevious; y=yprevious; if place_meeting(x,y,argument0) { t=150; mx=x; my=y; c[0]=0; for(i=1;i<=t;i+=1) { x+=1; c[0]+=1; if not(place_meeting(x,y,argument0)) i=t+1; } x=mx; c[1]=0; for(i=1;i<=t;i+=1) { y-=1; c[1]+=1; if not(place_meeting(x,y,argument0)) i=t+1; } y=my; c[2]=0; for(i=1;i<=t;i+=1) { x-=1; c[2]+=1; if not(place_meeting(x,y,argument0)) i=t+1; } x=mx; c[3]=0; for(i=1;i<=t;i+=1) { y+=1; c[3]+=1; if not(place_meeting(x,y,argument0)) i=t+1; } y=my; mn=min(c[0],c[1],c[2],c[3]); if mn=c[0] { x+=(c[0]+1); if eff_anim=0 hspeed=0; } if mn=c[1] { y-=(c[1]+1); if eff_anim=0 vspeed=0; } if mn=c[2] { x-=(c[2]+1); if eff_anim=0 hspeed=0; } if mn=c[3] { y+=(c[3]+1); if eff_anim=0 vspeed=0; } } else { t=speed_max; mx=x; for(i=0;i<t;i+=1) { x+=1; if place_meeting(x,y,argument0) { i=t; mx=x-1; if eff_anim=0 hspeed=0; } } x=mx; for(i=0;i<t;i+=1) { x-=1; if place_meeting(x,y,argument0) { i=t; mx=x+1; if eff_anim=0 hspeed=0; } } x=mx; my=y; for(i=0;i<t;i+=1) { y+=1; if place_meeting(x,y,argument0) { i=t+1; my=y-1; if eff_anim=0 vspeed=0; } } y=my; for(i=0;i<t;i+=1) { y-=1; if place_meeting(x,y,argument0) { i=t+1; my=y+1; if eff_anim=0 vspeed=0; } } y=my; }
contact(obstaculo)
e RETTIRE o solid do obj da obstaculo
Pelo visto é algum muito pouco mais complicado de se programar, alguém pode meu explicar como faço isso para eu tentar imaginar o código pf
Re: Player não ficar preso em um obstáculo
seu link nao leva pro download, arruma o link q arrumo o projeto pa vc
Vlw, Flw !!
- Ismaelgames7
- Membro
- Reações: 0
- Mensagens: 26
-
Re: Player não ficar preso em um obstáculo
Aqui está o link (tomara q esse funcione):
... h5WjA/view
... h5WjA/view
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante