/// <summary> /// Constructor de la clase. /// </summary> /// <param name="World">Referencia a la instancia del simulador al que se asociara el rayo.</param> /// <param name="Source">Punto de origen del rayo.</param> /// <param name="Radius">Radio maximo de alcance del rayo.</param> public RayTracer(World World, Vector2 Source, int Radius) : this(World, Source) { this.Radius = Radius; }
/// <summary> /// Constructor de la clase. /// </summary> /// <param name="World">Referencia a la instancia del simulador al que se asociara el rayo.</param> /// <param name="Source">Punto de origen del rayo.</param> public RayTracer(World World) { this.World = World; this.Source = Vector2.Zero; this.Color = Color.Yellow; }
/// <summary> /// Constructor de la clase. /// </summary> /// <param name="World">Referencia a la instancia del simulador al que se asociara el rayo.</param> /// <param name="Source">Punto de origen del rayo.</param> public RayTracer(World World, Vector2 Source) : this(World) { this.Source = Source; }
/// <summary> /// LoadContent se llama una vez por juego y permite cargar /// todo el contenido. /// </summary> protected override void LoadContent() { // Crea un SpriteBatch nuevo para dibujar texturas. spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content para cargar aquí el contenido del juego this.IsMouseVisible = true; Helper.font = Content.Load<SpriteFont>("font"); Helper.spriteBatch = spriteBatch; Helper.graphicDevice = GraphicsDevice; // Inicializamos el sistema de colisiones y añadimos objetos a la escena: world = new World(); world.bodies.Add(new Body(new Rectangle(0, 0, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(0, 80, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(0, 80 * 2, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(0, 80 * 3, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(80, 80 * 3, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(80 * 2, 80 * 3, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(80 * 3, 80 * 3, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(80 * 3, 80, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(80 * 9, 80, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(0, 80 * 5, 80, 80), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(80 * 4, 80, 80, 20), Color.Green, true, true)); world.bodies.Add(new Body(new Rectangle(80 * 2, 80, 80, 10), Color.Green, true, true)); // Creamos un cuerpo no fijo que manejaremos como si fuera el jugador: body = new Body(new Rectangle(80 * 2, 80 * 2, 80, 80), Color.Red, false, true); body.Debug = true; world.bodies.Add(body); body.WorldInstance = world; body.PreUpdate += this.PreUpdate; body.PostUpdate += this.PostUpdate; body.PostDraw += this.PostDraw; // Creamos un cuerpo no solido que hara las veces de trigger (un lanzador de eventos): trigger = new Body(new Rectangle(80 * 6, 80 * 2, 80 * 2, 80 * 2), new Color(255, 0, 255, 128), true, false); world.bodies.Add(trigger); trigger.OnCollision += this.triggerOnCollision; // Definimos un rayo para trazar trayectorias con el entorno: ray = new RayTracer(world); }