Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Flashpunk distancia entre 2 entities

Iniciado por peplos, 15 de Febrero de 2013, 01:38:25 PM

« anterior - próximo »

peplos

Hola. Por desgracia la página de flashpunk ha desaparecido o no se que pasa con ella.

Tengo el problema de que quiero calcular la distacia de 2 entities (jugador y enemigo).
Para cuando el jugador este cerca del enemygo, este dispare o se mueva... esas cosas

¿Como lo haceis? He estado intentandolo con metodos estaticos, pero no lo consigo.
Y me parece una locura meter un objeto de tipo enemigo o jugador en el otro...

quizas lo estoy calculando en un lugar no adecuado.....

Gracias :)

Elthan

Yo es un tema que siempre me pregunto si estoy haciendo bien. Normalmente lo que hago es declarar una variable estática que continene al personaje en la clase principal/main de tu proyecto. El problema habitual que te encontrarás es que tienes que asegurarte de declarar las variables estáticas antes de que dichas variables sean utilizadas en ningún sitio. Recuerda, el PJ puede ser declarado como variable estática pero la clase que lo defina no tiene por que serlo.

En cuanto a flashpunk ni idea, pero la distancia puedes calcularla usando el manido teorema de pitágoras o simplemente tirar de la función distance de la clase flash.geom.Point.
Portal de juegos flash: http://www.torredejuegos.com

peplos

#2
Ok. gracias.

Con metodos estáticos no puedo, porque tanto el jugador como los enemigos los saco de un fichero XML y por lo tanto van a una lista dinamica que contiene el "tipo" (pero no la clase) y las coordenadas.

Con point, me pasa el mismo problema. que no tengo donde declarar un objeto del tipo "enemy" o "player" ya que lo saco del XML que hace el OGMO Editor.

Pero gracias por el cable. es todo lo que se me habia ocurrido a mi :D

Seguire con ello :)

ACTUALIZO-------------------------------------------------------------------------------------
Ya tengo el codigo. para quien le interese

import flash.geom.Point;

distancia = Point.distance(player.getPoint(), enemigo.getPoint());

distancia de tipo number. y getPoint es una funcion (metodo...) que devuelve un punto.
distance es un metodo estatico de Point.

Vamos, que lo que intentaba hacer, ya estaba inventado.

Al menos funciona en un entorno de laboratorio (creandome los objetos a mano)
a ver como funciona descargando el XML que genera OGMO.

Thanks por todo el mundo que ha echado un ojo al post ;)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.