Introducción
C# tiene una gran variedad de bibliotecas y espacios de nombres, cuando consideras desarrollar una aplicación la cual requiere movimiento que puede ser un proyectil o una hipérbole. En el contexto de estos supuestos, C# tiene la biblioteca System.Drawing y la clase Point para dibujar el punto sobre diferentes ejes (x,y).
Para implementar el movimiento de proyectil en C# se utilizan bucles y otras técnicas que crean complejidad y un código sobrecargado para los programadores. La técnica que vamos a ver te puede ayudar a crear el movimiento de proyectil utilizando el control Timer y lógica de gráficos.
Entorno
El movimiento de proyectil es difícil de implementar en C#, pero es un problema común enfrentado por diferentes estudiantes y profesionales.
El Código
Este gráfico ayudará al usuario a dibujar cualquier movimiento en C#. Los ejes son definidos como son descritos en la siguiente imagen.
Coordenadas:
(4,6) (6,4) (8,-4) (8,6)
El código es el siguiente:
public partial class Form1 : Form
{
int Cronometro = 0;
byte Mario_Pos = 5;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
void Mario_Salto()
{
Cronometro++;
if (Cronometro <= 10)
picMario.Location = new Point(picMario.Location.X + 4, picMario.Location.Y + 6);
else if (Cronometro > 10 && Cronometro <= 15)
picMario.Location = new Point(picMario.Location.X + 6, picMario.Location.Y + 4);
else if (Cronometro > 15 && Cronometro <= 20)
picMario.Location = new Point(picMario.Location.X + 8, picMario.Location.Y - 4);
else if (Cronometro > 20 && Cronometro <= 30)
picMario.Location = new Point(picMario.Location.X + 8, picMario.Location.Y - 6);
else
{
//timer1.Enabled = false;
Cronometro = 0;
Mario_Pos -= 1;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
Mario_Salto();
}
}
En el diseño del formulario, debes poner en True la propiedad Double Buffered para minimizar la latencia del control pictureBox.
Adjunto código: ProjectileMotion
0 comentarios:
Publicar un comentario