그래서 저는 C# 프로그래밍에 익숙하지 않고 을 만들었습니다 그래픽을 사용하여 게임을 연결하십시오. 원이있는 눈금이 있습니다. 내가해야 할 일은 사용자가 특정 열을 클릭 할 때 칩이 아래로 움직이는 것을 보는 것이다. 타이머 등을 사용해야합니까? 또는 루프를 수행하고 매번보다 작은 yCoordinate를 지정하여 원을 아래쪽으로 움직일 수 있습니까?사용자 클릭시 원을 아래로 이동하려면 어떻게해야합니까? 4 개의 C#을 연결하십시오
또한이 원이 그리드와 겹치지 않게하는 방법이 있습니까? 마찬가지로 그리드 뒤에서 움직이는 것처럼 보이게 할 수 있습니까?
이것은 내가 지금까지 한 일입니다 ...
private int columnPosition = 0;
private int xCoordinate;
private int yCoordinate;
public Form1()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics g = grid.CreateGraphics();
Pen pen = new Pen(Color.White, 1);
Pen pen2 = new Pen(Color.Black, 4);
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 6; j++)
{
g.DrawEllipse(pen2, new System.Drawing.Rectangle((i * 70) + 20, (j * 60) + 10, 50, 50));
g.FillEllipse(pen.Brush, new System.Drawing.Rectangle((i *70) + 20, (j * 60) + 10, 50, 50));
}
}
}
private void panel2_Paint(object sender, PaintEventArgs e)
{
Graphics g = panel2.CreateGraphics();
Pen pen = new Pen(Color.Red, 5);
Pen pen2 = new Pen(Color.Black, 3);
if (columnPosition != -1)
{
g.DrawEllipse(pen2, new System.Drawing.Rectangle(columnPosition * 35 - 15, 0, 50, 50));
g.FillEllipse(pen.Brush, new System.Drawing.Rectangle(columnPosition * 35 - 15, 0, 50, 50));
}
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
columnPosition = e.X/35;
Console.WriteLine(e.X);
panel2.Refresh();
}
private void panel1_MouseLeave(object sender, EventArgs e)
{
columnPosition = -1;
panel2.Refresh();
}
private void panel1_MouseClick(object sender, EventArgs e)
{
///// THIS IS WHERE I AM STUCK
}
}
내가 그리드의 이미지를 업로드하고 싶어하지만 새 사용자를 오전부터 난 못해 죄송합니다 -. - !! 어떤 도움 :)
당신이 질문을 작성하는 곳에 이미지 버튼이있는 그림을 추가 할 수 있습니다. {} 기호 오른쪽에 그림이 추가되면 더 잘 도와 드리겠습니다. 편집하려면 지금 누르십시오 – Arash