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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

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

Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 00:00
Código:


if (global.matar=false){
with (_obj_jogador){
if (image_xscale=1 ){

}
if (image_xscale=-1){



}
}
}


tipo ai está meu código só que vcs podem perceber que nos dois if (image_xscale) não há variaveis não há nada, eu queria saber como faz pra tipo, quando o jogador encostar no inimigo, tipo só encostar, o inimigo dar um impulso nele pra tras e pra cima, tipo como se o player sai-se voando na diagonal, tipo quando um inimigo fortao pega o player e joga longe, qual comando uso para gerar uma movimentaçao do jogador em direção diagonal?

tipo aqui ta uma imagem explicando, o carinha da direita é o inimigo, ele da um soco, e o carinha da esquerda ( o jogador ) sai vuando na direção da flecha vermelha
(canto esquerdo superior) http://imgur.com/TVW6jG3
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 08:41
Olá Isquilo.
Talvez isso funcione tente ai.

if (global.matar=false){
with (_obj_jogador){
if (image_xscale=1 ){
vspeed=-10 x-=8;
}
if (image_xscale=-1){
vspeed=-10 x+=8;


}
}
}
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 12:32
estou usando esse seu código ai Black e deu tudo certo, mas o problema é que depois que o jogador leva o primeiro ataque ele fica infinitamente pulando pra cima, será q vc pode me ajudar a fazer tipo para o jogador só executar uma vez essa funçao ai de vspeed e tals porque fica repetindo
avatar
Data de inscrição : 23/03/2014
Número de Mensagens : 211
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 12:50
Usa alguma variavel para isso.
Tipo:
Código:
//create
efeito = true;//pode mudar o nome

//step
if (global.matar=false){
with (_obj_jogador){
if (efeito = true){
if (image_xscale=1 ){
vspeed=-10 x-=8;
}
if (image_xscale=-1){
vspeed=-10 x+=8;

}
alarm[0] = 10;//ou outro alarm sem utilidade
efeito = false;
}
}
}
//alarm0
efeito = true;

Acho que isso pode dar certo, testa ai e fala!
A, e cara, tenta retornar o valor da variavel global.matar para true depois da ação, talvez também de (se ela for para poder fazer a ação de pular).
avatar
Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 13:53
Boa tarde Esquilo,
Como o colega acime disse, é só reativar a variável.
Imagino que quando o inimigo toque o player ele mude ela para false.
Dai a expressão é checada se está false para executar o evento.
Basta acrescentar no evento global.matar=true

Código:

//step
if (global.matar=false)
{
with (_obj_jogador)
{
  {
   if (image_xscale=1 )
   {
   vspeed=-10 x-=8;
  global.matar=true
   }
   if (image_xscale=-1)
      {
      vspeed=-10 x+=8;
     global.matar=true
      }
   }
}

Isso deve resolver.
Qualquer coisa poste ai novamente.
Abração.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 13:57
Acho isso funciona:


Create
Código:
pula=false;

step

Código:
if place_meeting(x,y,objcolisao) {pula=true}else{pula=false};

if pula=true{
if (global.matar=false){
with (_obj_jogador){
if (image_xscale=1 ){
vspeed=-10 x-=8;
}
if (image_xscale=-1){
vspeed=-10 x+=8;


}
}
}
}
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 19:00
Mateus O de Andrade escreveu:Boa tarde Esquilo,
Como o colega acime disse, é só reativar a variável.
Imagino que quando o inimigo toque o player ele mude ela para false.
Dai a expressão é checada se está false para executar o evento.
Basta acrescentar no evento global.matar=true

Código:

//step
if (global.matar=false)
{
with (_obj_jogador)
{
  {
   if (image_xscale=1 )
   {
   vspeed=-10 x-=8;
  global.matar=true
   }
   if (image_xscale=-1)
      {
      vspeed=-10 x+=8;
     global.matar=true
      }
   }
}

Isso deve resolver.
Qualquer coisa poste ai novamente.
Abração.

global.matar=true é quando o jogador pula em cima do inimigo faz uma checagem e se global.matar=true o inimigo morre esmagado, por isso estou usando o global.matar=false
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 19:14
Pessoal o problema que estou tendo é que tipo, o jogador depois de colidir uma vez com o inimigo ele fica pra sempre realizando a açao de pular lá
tipo quando ele incosta no inimigo isso acontece
vspeed=-10 x-=8;
e também coloquei uma variavel
efeito=false
se efeito=false nao vai jogar o player longe
mas o problema é fazer isso

if (efeito=false){

}

eu não sei como fazer para tipo criar uma ação que iniba esse comando
vspeed=-10 x-=8;

ja tentei colocar vspeed=0 x=0 mas não deu, estou em duvida do que fazer para inibir esse vspeed=-10 x-=8


Usuário advertido por "Flood" (+10%)
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 20:00
Cuidado com o flood Isquilo.
Olha me envia uma GMK que eu arrumo isso em segundos.
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 21:20
Ai meu deus que negocio é esse, nossa que grande flood que eu fiz em , dois comentários não é flood, flood de verdade seriam varias mensagens, meu deus pra que essa frescura toda, Black Horn em relação ao meu projeto eu gostaria de adquirir ajuda apenas, entregar meu projeto é algo muito arriscado mesmo que seja para alguem como você, por isso estou pedindo da forma mais amigavel por isso porfavor entenda isso da melhor forma possível, eu só quero saber como fazer o code funcionar
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 21:53
Autor escreveu:Ai meu deus que negocio é esse, nossa que grande flood que eu fiz em , dois comentários não é flood, flood de verdade seriam varias mensagens, meu deus pra que essa frescura toda
Sim, é flood (double post) e isso não é tolerado por aqui. Frescura ou não, são os termos de permanência do fórum e esterá sujeito a punições.

Quanto ao seu problema...
Se você definir vspeed=-10, a velocidade do objeto será constantemente -10. Se quer que o efeito seja momentâneo, use vspeed-=10; (note que troquei o sinal de menos com o sinal de igual)
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 21:56
Willy falando sobre o mesmo assunto.
Como parar o player com esse código?
Código:
if place_meeting(x,y,obj2){
if image_xscale=1   {motion_set(135,3)};
if image_xscale=-1  {motion_set(45,3)};
};

Quando ele colidi ela anda para trás sem fim, e até o momento não consegui resolver.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:00
A explicação é a mesma pro caso do vspeed. A diferença é que motion_set define uma velocidade constante, e motion_add adiciona uma velocidade.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:03
Eu ja tentei das duas formas e de todas as formas que consegui imaginar, e não consegui resolver.
E eu acho que motion_set seria melhor do que usar o vspeed e o x, por isso estou tentando fazer com o mesmo.
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:08
Obrigado black horn, realmente está sendo complicado fazer isso não importa o jeito que for feito, mas não consigo fazer de forma alguma, willy da uma ajuda pra nós ai
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:14
Depois de muito custo consegui fazer.

Coloque no create;

Código:
horn=noone;

No step:
Código:

if place_meeting(x+1,y,obj2){
horn=true
if image_xscale=1  {motion_add(135,6);alarm[0]=8;};
}

if place_meeting(x-1,y,obj2){
horn=true
if image_xscale=-1  {motion_add(45,6);alarm[0]=8;};
}

if horn=false{speed=0;horn=noone};

No alarm[0];

Código:
horn=false;


Flw Isquilo.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:19
Ah, me desculpem... motion_add adiciona um valor ao montante, por isso o mesmo continuará em movimento.
Se quiserem parar o movimento, basta setar speed=0; Se ainda sim continuar, significa que o código do motion_set ainda está sendo setado.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:20
Ok willy, ja tinha resolvido o problema.

Acho que deu por encerrado o tópico, a não ser que o autor queria fazer outra pergunta ou não foi solucionado o caso.
avatar
Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:26
Eu coloco esse codigo ai no obj_jogador? eu nao entendi o que por no "obj2"
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Quando inimigo encosta joga player longe

em Seg 02 Mar 2015, 22:26
obj2 é o cara da colisão (Inimigo), então coloca no objeto jogador.

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