VS2013에서 Winforms를 사용하여 작업중인 게임에 트랙 바를 사용하고 싶습니다.트랙 바 값을 다른 클래스의 변수로 사용
사용자는 트랙볼을 사용하여 볼이 얼마나 빨리 움직이는 지 (트랙 바의 값을 다른 클래스의 다른 값으로 사용) 아이디어를 얻는 것이 좋습니다. 내가 나의 코드를 실행하면
// Declaring the variables for Ball Speed in X and Y coordinates
private int xSpeed, ySpeed;
public Ball()
{
//... Other code
xSpeed = Form1.ranNum.Next(1, 20);
ySpeed = Form1.trackBarValue; // <- An example of what I was hoping to use in my code.
}
public void moveBall()
{
ballRec.X += xSpeed;
ballRec.Y -= ySpeed;
}
:
public static int trackBarValue;
//... Other global variables
public Form1()
{
//... Other code
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
trackBarValue = trackBar1.Value;
}
private void timer1_Tick(object sender, EventArgs e)
{
ball.moveBall();
}
그리고이 트랙 바의 값을 원하는 내 볼 클래스에서
사용되는 : 여기 내가 현재 가지고있는 코드입니다 이 경우xSpeed
이 완벽하게 작동하지만 (예상대로) 트랙볼의
trackBarValue
이 인식되지 않습니다.
내 트랙 바의 현재 속성은 다음과 같습니다
- 최대 : 100
- 최소 : 20
- 틱 주파수 : 0
- 탭 인덱스 : 11
- 값 : 20
및 세로 (중요하지 않음)입니다.
트랙볼에서 값을 수집하고이 볼 클래스에서 어떻게 사용합니까? 트랙 바를 움직일 때마다 라벨에 트랙 바의 값을 표시하는 작은 프로그램을 만들었지 만 위의 프로그램에이 지식을 적용 할 수는 없습니다.
[ MSDN Tracker Bar Class Documentation] (http://msdn.microsoft.com/en-us/library/system.windows.forms.trackbar%28v=vs.110%29.aspx) 또한 기대하는 바를 기반으로합니다. . 적어도 코드를 디버깅했거나 실행했다. .? 실제 TrackerBar에 대한 EventHandler가 누락 된 것처럼 보입니다. 튜토리얼 http://www.c-sharpcorner.com/uploadfile/mahesh/trackbar-in-C-Sharp/ – MethodMan
@DJKRAZE에 대해 잘 살펴보십시오. 양식이 초기화되면 일단 트랙바에서 사용할 값을 알지 못하기 때문에 0으로 설정합니다. (또는 적어도 그 값을 알아낼 수는 있지만) 기본값을 설정하는 방법을 모르겠습니다. 예를 들어 20 트랙볼의 –
내가 링크를 보았습니까 그것이 당신의 Initialize(); 보이는 것 또는 관련 코드를 보지 않고 무엇을하고 있는지 .. 내가 생각하는 양식로드에 있어야합니다. – MethodMan