Discusión sobre el artículo "Programación gráfica para principiantes (Parte I): Aprendiendo CCanvas con Crazy Scalper"

 

Artículo publicado Programación gráfica para principiantes (Parte I): Aprendiendo CCanvas con Crazy Scalper:

Este artículo introduce la librería CCanvas en MQL5 mediante el desarrollo paso a paso de un minijuego que se ejecuta sobre el gráfico de MetaTrader 5. Se explican el sistema de coordenadas, el renderizado vectorial de formas, el canal alfa para transparencias, el bucle con temporizador, la máquina de estados, la física básica y la detección de colisiones AABB, además de la captura de teclado. Al finalizar, podrá crear superficies graficas interactivas y sentar las bases de paneles y minijuegos propios.

Si el cohete se mueve libremente, ¿cómo sabe MetaTrader 5 cuándo hemos chocado contra una vela japonesa? Para resolver esto utilizamos una técnica fundamental en el desarrollo de videojuegos llamada AABB (Axis-Aligned Bounding Box), o como se le conoce coloquialmente: cajas de colisión.

Piense en esto como dibujar cajas rectangulares invisibles alrededor de nuestros objetos. Para saber si el cohete se estrelló, el sistema evalúa dos condiciones:

  • ¿Están superpuestos en el eje X (horizontal)? Verificamos si el borde derecho del cohete ha cruzado el borde izquierdo de la vela, y si el borde izquierdo del cohete aún no ha salido del borde derecho de la vela.
  • ¿Están superpuestos en el eje Y (vertical)? Si el cohete está dentro de los límites horizontales de la vela, comprobamos si su altura toca la parte superior de la vela roja (Bear) o la parte inferior de la vela verde (Bull).

Si ambas condiciones son verdaderas al mismo tiempo... ¡Boom! Significa que las cajas invisibles se han tocado. En ese exacto milisegundo llamamos a la función TriggerGameOver(), reproducimos el doloroso sonido de desconexión de MetaTrader 5 con PlaySound("disconnect.wav") y mostramos el letrero de liquidación.

Autor: Dayana Cubillas Massana