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
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

[Resolvido] Path - sprite na direção que está indo?

em Sex 22 Jun 2012, 20:29
Preciso saber como, ao seguir pelo path, a sprite vire pra direção que está indo!
Nao dá pra colocar os valores comuns de direction tipo 0, 180, 360... Por que o path pode ser curvo! Vi algo assim no projeto do saim, mas nao consegui compreender ainda...

Pesquisei, e deu 40 resultados mas nenhum resouve.

edit:
Valeu Cascavelo e saim!


Última edição por moisesBR em Ter 26 Jun 2012, 21:03, editado 1 vez(es) (Razão : inserir [Resolvido])
avatar
Ranking : Nota B
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Número de Mensagens : 513
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Sab 23 Jun 2012, 09:48
a visão é Top-Down ?
se for, vc pode usar o
" image_angle = direction; "
mas acho que isso vc já sabe. Talvez seja Plataforma.
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Sab 23 Jun 2012, 09:57
esqueci de dizer que já tentei isso! creio que ja entendeu. pessoalmente nao gosto muito de paths ele limita muito os movimentos... mas nao dá pra fugir dele.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/06/2010
Número de Mensagens : 628
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Sab 23 Jun 2012, 10:01
você pode usar outro objeto para seguir o path junto com o objeto principal, dae voce coloca no step do seu principal:
Código:
image_angle=direction
e no create:
Código:
direction= x=nomedooutroobj.x;
y=nomedooutroobj.y;
não lembro se é assim, mas tenta

EDIT: lembrando que o objeto tem que ter a mesma velocidade na path, só tem que ficar mais a frente do principal
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Sab 23 Jun 2012, 10:40
hum! nao tentei isso ainda, boa idéia! Mas como vou ter que repetir os abjs, certamente daria erro pois esse obj nao saberia qual obj seguir. mas em todo caso nao deixa de ser uma alternativa.

a propósito nunca vi nada desse tipo no fórum... nas engines que baixei eu sei que tem, mas não to achando.... nao lembro onde vi. Se eu achar eu posto aqui pra quem quiser, mas até lá, se alguem achar por favor posta aí!

Só pra lembrar: a sprite tem que assumir o angulo que tá seguindo no path
até que achei algo mas... nao lembro onde.

hyo: nao importa se é top view, tanto faz, serve pra qualquer um.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 09:48
@moisesBR escreveu:Vi algo assim no projeto do saim, mas nao consegui compreender ainda...
O que eu faço é pegar a path_positionprevious e ligar à path_position, através de point_direction. Como eu preciso das coordenadas X e Y de cada posição, eu uso path_get_x e path_get_y nos dois casos. Faço isso no step event. Não sei em que momento path_positionprevious torna-se diferente de path_position, mas no normal step event isso funciona. Assim, num script de uma única linha (uma linha grandona, mas uma só), você resolve seu problema:
Código:
image_angle = point_direction(path_get_x(argument0, path_positionprevious), path_get_y(argument0, path_positionprevious), path_get_x(argument0, path_position), path_get_y(argument0, path_position));
Onde argument0 é o path em questão.
Uma forma mais didática de escrever o mesmo script seria:
Código:
var x1, y1, x2, y2;
x1 = path_get_x(argument0, path_positionprevious);
y1 = path_get_y(argument0, path_positionprevious);
x2 = path_get_x(argument0, path_position);
y2 = path_get_y(argument0, path_position);
image_angle = point_direction(x1, y1, x2, y2);

@moisesBR escreveu:pessoalmente nao gosto muito de paths ele limita muito os movimentos... mas nao dá pra fugir dele.
Paths servem pra quando você QUER limitar os movimentos. Usar paths, por exemplo, pra uma personagem que o jogador controla diretamente é um trabalho imenso e ineficiente.
Diga o resultado que você quer chegar, talvez tenhamos uma forma mais eficiente de fazer seu objeto se movimentar.
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 11:03
Exatamente isso! Ao seguir o path eu queria é que ele se virasse pra posição que fosse, se fosse curva... faria a curva se possível, mas só de virar pra onde fosse já tava bom. O objeto que segue o path é um tanque!

Decidi aproveitar a idéia do nosso amigo Mentos e Coca-cola de colocar um segundo objeto pra seguir o que esta seguido o path, no caso um canhao. Até funcionou, mas ao colocar várias instâncias dos dois objetos, todos os canhoes foram se juntar num so tanque!
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 12:30
moisesBR, um objeto no path se comporta como sem path, a única coisa que não não funciona é a gravidade porque ele está preso ao path, use as outras funções normalmente.
Então é só usar: image_angle=direction, ele vai segui o path sempre virando na direção.
Mas isto só vai funcionar para top view, em jogos de plataforma ele vai virar de cabeça pra baixo quando voltar, se este for o caso você terá de espelhar a figura quando ela estiver voltando, será necessário saber em que ponto do path a figura vira pra trás e usar "if path_position=ponto que vira pra trás". Lembrando que as posições no path ficam entre 0 e 1.
É um pouco complicado porque você necessitaria de uma animação do sprite virando no próprio eixo, um falso 3d.
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 12:55
Beleza! eu tentei antes esse image_angle, mas nao deu... vou fazer outros testes.

Ideia: Quanto ao path nao aceitar gravidade nos objetos dentro dele, que tal botar a gravidade no proprio path? deve ser interessante! Obs: nao pretendo fazer isso. É só uma idéia.

Para nao bagunçar meus projetos em que quero inserir essas funções, crio um outro apenas pra isso, resultando em várias engines! Pensando bem... vou disponibilizar essa engines no forum... pode até ter muita engines aqui, mas duvido que seja explicada do meu modo! pra voces saberem; de duas ou mais engines que já baixei, apesar do objetivo ser a mesma função, apenas uma das tres eu consegui compreender, ou tive que estudar as tres ao mesmo tempo para entender.

avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 13:57
@moisesBR escreveu:Exatamente isso! Ao seguir o path eu queria é que ele se virasse pra posição que fosse, se fosse curva... faria a curva se possível, mas só de virar pra onde fosse já tava bom.
Coloque o código no step, vai funcionar.
@moisesBR escreveu:O objeto que segue o path é um tanque!
Que tipo de tanque? Se for um tanque controlado pelo jogador, usar paths não é uma boa idéia. O mais interessante seria permitir o giro APENAS quando o tanque estiver se movendo. Daí, ele se movimenta para onde estiver apontando e a direction vai mudando aos poucos. Na verdade, mesmo um tanque controlado por IA seria melhor programado sem usar paths. Pense em paths como trilhos. Se o objeto segue uma rotina, é bom, mas se ele é um objeto muito livre, realmente vale a pena procurar outras soluções.

@cascavelo escreveu: moisesBR, um objeto no path se comporta como sem path, a única coisa que não não funciona é a gravidade porque ele está preso ao path, use as outras funções normalmente.
Não, usar um path não define nem altera o valor de direction. O objeto se move ao longo do path, mas o valor de direction permanece inalterado. São duas formas distintas de se controlar a movimentação.

@moisesBR escreveu:Ideia: Quanto ao path nao aceitar gravidade nos objetos dentro dele, que tal botar a gravidade no proprio path? deve ser interessante! Obs: nao pretendo fazer isso. É só uma idéia.
Má idéia. Existem funções pra alterar paths durante o jogo, mas não um path que está sendo usado no momento em que é alterado.
Manual escreveu:(...)However, never change a path that is being used by an instance. This can lead to unexpected results.
Tradução: "(...)Entretanto, nunca mude um path que está sendo usado por uma instância. Isso pode trazer resultados inesperados."

@moisesBR escreveu:[i]Para nao bagunçar meus projetos em que quero inserir essas funções, crio um outro apenas pra isso, resultando em várias engines!
É o que eu faço, também. Separo apenas o necessário pra conseguir esse ou aquele efeito, sem nada "extra" como efeitos especiais, menus, coisas assim. Comento o máximo possível, pra poder entender o que diabos cada variável significa, além de introduzir alguns códigos (principalmente scripts) com comentários indicando quando ele deve acontecer e qual objeto chama aquele código. Definir um nome regular pra algumas variáveis mais comuns (myHealth, power, coisa do tipo) ajuda bastante a reutilizar códigos.
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 15:03
Realmente o uso de paths não me agrada mesmo...
saim, os tipos de tanques seriam IAs como em c.conquer red alert do psx!
Só que ali os tanques não seguem um path mas no Empire Earth1(EE1), tem uma função de patrulha que me parece ser um path. Deixa pra lá. Vou fazer uns testes aqui com o que me passou e depois eu mostro o resultado.

Agora quanto ao objeto em cima do tanque? como adicionar e ele seguir, mas cada objeto em um tanque?
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 16:34
@moisesBR escreveu:Realmente o uso de paths não me agrada mesmo...
saim, os tipos de tanques seriam IAs como em c.conquer red alert do psx!
Só que ali os tanques não seguem um path mas no Empire Earth1(EE1), tem uma função de patrulha que me parece ser um path.
Patrulhas, normalmente, são paths mesmo - essa é a maior utilidade pros paths! Não conheço o jogo, então não posso afirmar se usa ou não usa (mesmo se conhecesse, não poderia afirmar com certeza, mas você me entendeu).
Parece que o que você precisa MESMO é de um tipo de pathfinding que é um pouco mais avançado do que eu consigo bolar. O que eu sei fazer é usar o A*, mas ele usa deslocamentos em grids. É possível adaptá-lo pra grids mais elaboradas que uma grid xadrez, mas eu nunca tentei fazer isso. Acho que é possível, mas com certeza vai ser complicado. O jogo vale o esforço?

@moisesBR escreveu:Agora quanto ao objeto em cima do tanque? como adicionar e ele seguir, mas cada objeto em um tanque?
Isso foi idéia do Mentos e Coca-cola, se for seguir a minha dica, isso é desnecessário. Mas pra associar um objeto a outro objeto, faça com que um crie o outro e armazene sua id numa variável.
Código:
criatura = instance_create(x, y, outroObjeto);
criatura.criador = id;
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 17:30

Não, usar um path não define nem altera o valor de direction. O objeto se move ao longo do path, mas o valor de direction permanece inalterado. São duas formas distintas de se controlar a movimentação.

Saim, quando ví isto, fui testar, tenho usado muitos paths e tinha certeza que a var direction muda conforme a direção que o sprite percorre no path, testei e a direction muda sim.
Data de inscrição : 06/10/2010
Número de Mensagens : 84
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 17:48
Código:

image_angle = point_direction(xprevious,yprevious,x,y);
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 17:50
IDs... aiaiaiaiaiaiai isso ainda vou demorar entender, mas vou tentar, Valeu.
A proposito saim consegui descobri como contar quantos inimigos abatido usando with no live end dos inimigos! lol!
agora essa parada de IDs, ainda vão... me incomodar por um certo tempo.

Ah se vale a pena...! Pelo menos pro meu ego... e um belo desfio!
assim que eu algo desse post eu mostro.

edit:
Cascavelo e cia... engine please!!! preciso de uma pra dissecar!
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 19:45
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Seg 25 Jun 2012, 21:19
Valeu!

Edit:
Beleza! Estranho... eu tinha feito praticamente a mesma coisa ou algo parecido... mas naõ tinha funcionado(?) Vou descobrir onde errei. Obrigado.

saim. valeu e desculpe ter pedido duas coisas no mesmo tópico... devia ter criado um pra cada.
Só ficou a do sprite ou obj canhão seguir o tanque que ta seguindo o path. vou estudar mais a fundo.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Ter 26 Jun 2012, 10:29
@cascavelo escreveu:testei e a direction muda sim.
Vivendo e aprendendo... Não lembro que situação me levou a acreditar que não existe relação entre paths e direction, mas refiz o teste e dou a mão à palmatória, o valor de direction realmente foi atualizado.
Talvez eu tenha chegado nessa conclusão por causa da speed. Como eu sempre associei speed e direction, devo ter presumido que o fato dos paths não mudarem a speed (testei também, isso realmente não muda) implicava no fato deles não mudarem a direction. Obviamente, eu estava errado.

@moisesBR escreveu:IDs... aiaiaiaiaiaiai isso ainda vou demorar entender
(...)
essa parada de IDs, ainda vão... me incomodar por um certo tempo.
Bobagem, id's são a coisa mais simples do mundo. Você não tem dificuldade em entender o conceito de self, tem? Bom, o conceito de id é EXATAMENTE o mesmo conceito de self (embora o game maker trate os dois de forma diferente). É um número inteiro que o game maker atribui a cada instância, que pode ser usado para diferenciá-la das outras. Esse número é atribuído no momento da criação da instância, inclusive é retornado na função instance_create. Assim, você pode armazenar o valor da id numa variável e usá-lo depois, pra lidar com aquela instância específica. Foi isso que eu fiz naquele código acima (criatura = instance_create(x, y, nomeDoObjeto)). Quer VER a id? Acrescente no draw de algum objeto - de preferência um objeto com muitas instâncias na tela - "draw_text(x, y, string(id));".
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: [Resolvido] Path - sprite na direção que está indo?

em Ter 26 Jun 2012, 11:57
Como eu sempre associei speed e direction, devo ter presumido que o fato dos paths não mudarem a speed (testei também, isso realmente não muda)
É, a forma de mudar a velocidade é diferente, você pode programar velocidades diferentes para cada seguimento do path quando for defini-lo ou pode alterar pela função path_speed, estou enfrentando um problemão com paths no GMS, tem um monte bugs, quando faço uma alteração em um path já existente funciona numa boa, mas é só salvar o arquivo que bagunça tudo ao abrir novamente, inclusive a velocidade dos seguimentos.
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

Re: [Resolvido] Path - sprite na direção que está indo?

em Ter 26 Jun 2012, 15:41
Beleza! Saim por favor faz uma mini engine(exeprinhu pru burrin aki!) pf, pf, pf!
comessa IDs!
Só consegui entender esse de path direcions com a engine do cascavelo!
já tinha tentado tudo! Até o cod que o cascavelo tinha postado antes! Tô pasmo!
Saim seu conceito de path nao aceitar direcions deve ser dos antigos gms!!!

Conseguido isso darei por resolvido este tópico.
Objetivo alcançado: path direcions(engine do cascavelo)
Objetivo final: fazer com que cada instância de tanque, tenha seu canhao que apesar de estar fixados nos seus respectivos criadore(tanques) e acompanharem o trajeto dele, serão livres para se rotacionar conforme a direção determinada como na direção de algum inimigo.

Ou seja a room tendo uns dez tanques, e cada um no seu path e em cima de cada um deles um canhão(mesmo objeto pra não ter que criar muitos) apontando pro inimigo. independente de cada um ou do tanque. na verdade seria com um membro!... Eu já vi algo assim mas nao lembro onde...
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