Foros del Web » Programación para mayores de 30 ;) » .NET »

¿Como resuelvo esta implementación C# para mi Game Engine?

Estas en el tema de ¿Como resuelvo esta implementación C# para mi Game Engine? en el foro de .NET en Foros del Web. Hola que tal muchimas gracias por dedicar su tiempo en responder mis deducciones ya que lo necesito realizar para mi proyecto que estoy realizando y ...
  #1 (permalink)  
Antiguo 16/06/2013, 19:08
 
Fecha de Ingreso: junio-2013
Ubicación: Vietnam
Mensajes: 1
Antigüedad: 10 años, 10 meses
Puntos: 0
Exclamación ¿Como resuelvo esta implementación C# para mi Game Engine?

Hola que tal muchimas gracias por dedicar su tiempo en responder mis deducciones ya que lo necesito realizar para mi proyecto que estoy realizando y llevando a cabo. Esto es una clase que estoy realizando para su posterior uso con otras Clases.
Estoy trabajando con C# .net
Quiero compartir tambien mis conocimientos con ustedes asi que por favor sean de lo mas explicitos posible para que podamos entendernos uste y yo debidamente "/_^

Tengo que crearme unas Physics para poder implementarlas en mapas bidimensionales,

pero no logro saber como aplicarlos sobre un plano bidimensional como un form y si me esta faltando algo en especial con respecto a los puntos de coordenadas y demás; acá dejo mi desarrollo para que puedan ayudarme:

///mi clase es del tipo Physics que luego puedo llamar para establecerlo como tipo en las demas clases

class physics_game
{
//defino mis atributos necesarios para las fisicas del entorno en este caso un rectangulo....

protected int ref_id;
protected Map ref_mapa;// clase aún no elaborada y tampoco definida del tipo MAP
protected int ref_x;
protected int ref_y;
protected Rectangle ref_recta;
protected Rectangle ref_recta_bomb;
protected bool ref_enVida;
protected bool ref_enMovimiento;


public physics_game(int id)//establenciendo valores game engine y sus puntos de referencia...
{

ref_id = id;
ref_recta = new Rectangle(-5, -5, 10, 10);
ref_recta_bomb = new Rectangle(0, 0, 0, 0);
ref_enVida = true;



}

//establecimiento de propiedades/encapsulamientos
public int Identification
{
get { return ref_id; }

}

public Rectangle Trayectoria01
{
get { return ref_recta; }//obtengo un tipo de valor trayectoria

}

public Rectangle Trayectoria02
{

get { return ref_recta_bomb; }//obtengo una tipo de valor trayectoria bomb

}

public bool estaVivo//mi objeto se encuenttra en estado False/True con valor estaVivo
{
get { return ref_enVida; }
set { ref_enVida = value; }
}

public int X
{
get { return ref_x; }
}

public int Y
{
get { return ref_y; }

}


public void establecer_ref_recta(int x, int y, int width, int height)
{
//constructor de referencias y párametros establecidos ref_rect
ref_recta.X = x;
ref_recta.Y = y;
ref_recta.Width = width;
ref_recta.Heigth = height;
}

public void establecer_ref_recta_bomb(int x, int y, int width, int height)
{
//constructor de referencias y parámetros establecidos ref_rect_bomb
ref_recta_bomb.X = x;
ref_recta_bomb.Y = y;
ref_recta_bomb.Width = width;
ref_recta_bomb.Height = height;

}

public virtual void establecer_X_Y(int x, int y)//reeplazo de valores a cada uno de sus valores de metodos Coordenadas X - Y
{
ref_x = x;
ref_y = y;

}

public void establecer_X_Y(Point p)
{
establecer_X_Y(p.X,p.Y);//estableciendo y referenciando puntos sobre el plano bidimensional
}

public virtual void establecerMapa()
{
//clase de mapa sin definir
}

//objeto estado_cosa -> True; se encuntra en movimiento
public virtual void startMove()
{
if (cosa != null)
{
ref_enMovimiento = true;
}

}

//objeto estado_cosa -> False; se encuentra inmóvil
public virtual void stopMove()
{
if (cosa != null)
{
ref_enMovimiento = false;
}
}

public virtual void Murio()//metodo accesible para renortar que el objeto cosa ha muerto y la referencia Vida se encuentre en False//
{
stopMove();
ref_enVida = false;
}

public double Distancia(int x, int y)
//aqui realizo la formula para calcular la dintacia basandome de la referencia de dicho punto y me devuelva un cuadrado.
{
return Math.Sqrt((ref_x - x) * (ref_x - x) + (ref_y - y) * (ref_y - y));
}

// esta operación que realizo me baso de una formula trigonométria para calcular la distancia el Sqrt calcula valores que devuelven un Valor Cuadrado



//defino un metodo llamado puntoSobreLinea
public static int puntoSobreLinea(int x1, int y1, int x2, int y2, int px, int py)
{
int a = y1 - y2;
int b = x2 - x1;
int c = x1 * y2 - x2 * y1;
}



Mi conclusión:
¿Que me esta faltando para que mi physic funcione perfectamente?
¿Como puedo implementar mi codigo sobre un form o algo parecido para empezar mis pruebas y verificar que no tenga errores y asi poder brindar mi codigo hacia el proyecto de trabajo?
Cabe mencionar que la variable Map que no he creado como clase ni definido esa es una Clase que deriva y mandaría a llamar a este apartado... espero que me entiendan y me ayuden...

Muchas gracias y adios.

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:48.