Movimenta o de Objetos em C
Objetos em C# 2012
Prof. Eng. Alessandro Wingerter
Objeto
Propriedade
Name
Valor
Form_movimento
Form1
Text
Movimentando Objeto
Size
479; 502
Adicione um PictureBox e seis Buttons e siga layout ao lado.
private void btn_reset_Click(object sender,
EventArgs e)
{
picbox_cogumelo.Left = 165; picbox_cogumelo.Top = 165;
}
Quando clicarmos no botão Reiniciar o PictureBox sera reapresentado na seguinte coordenada: 165;165
ADICIONE UM
COMPONENTE
“TIMER”
public partial class form_movimento : Form
{
int lado = 0; public form_movimento()
{
InitializeComponent();
}
private void btn_esquerda_Click(object sender, EventArgs e)
{
timer1.Enabled = true; lado = 1;
}
private void btn_direita_Click(object sender, EventArgs e)
{
timer1.Enabled = true; lado = 2;
}
private void btn_cima_Click(object sender, EventArgs e)
{
timer1.Enabled = true; lado = 3;
}
private void btn_baixo_Click(object sender, EventArgs e)
{
timer1.Enabled = true; lado = 4;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (lado == 1)
{
picbox_cogumelo.Left = picbox_cogumelo.Left
5;
} if (lado == 2)
{
picbox_cogumelo.Left = picbox_cogumelo.Left
5;
} if (lado == 3)
{
picbox_cogumelo.Top = picbox_cogumelo.Top } if (lado == 4)
{
picbox_cogumelo.Top = picbox_cogumelo.Top +
}
-
+
5;
5;
Execute o projeto e movimente o personagem.
Se você prestar atenção após as movimentação se clicarmos no botão reiniciar a imagem continuara se movimentando para o ultimo direcional clicado. Como resolvemos isso?
Para resolver basta colocar a seguinte linha no botão Reiniciar timer1.Enabled = false;
Vamos colocar agora a movimentação pelo teclado? Adicione um objeto TextBox
De um duplo clique no evento KeyUp
private void txtbox_entrada_KeyUp(object sender, KeyEventArgs e)
{
switch (Convert.ToString(e.KeyCode))
{
case "Up": picbox_cogumelo.Top = picbox_cogumelo.Top - 5; break; case "Down": picbox_cogumelo.Top = picbox_cogumelo.Top + 5; break; case "Left": picbox_cogumelo.Left =