问题描述
我正在尝试获取一个位图以从窗口的顶部和底部反弹。这似乎工作正常。所显示的Draw方法在循环内被调用,导致位图以其新位置不断重绘。
public class Ball
{
double SpeedX = 4;
double SpeedY = 4;
int ballWidth = 1;
public double X {get; private set;}
public double Y {get; private set;}
public void Draw(Window screen)
{
X += SpeedX;
Y += SpeedY;
if (Y <= 0) {
SpeedY = -SpeedY;
Y = 0;
}
else if (Y >= (screen.Height - ballWidth)) {
SpeedY = -SpeedY;
Y = screen.Height - ballWidth;
}
Bitmap.Draw(X,Y);
}
}
但是,我试图在创建位图时更改初始值SpeedX和Speedy。当我传入这些值时,我的位图被卡在窗口的顶部/底部-SpeedY似乎导致0,而SpeedX继续工作(导致位图在屏幕的顶部/底部滑动)。我做错什么了吗?我不明白为什么从外部传入两个值会搞砸Draw函数。
public Ball RandomBall(Window game)
{
Ball newball = new Ball(_Game);
Random direction = new Random();
newball.SpeedX = 5;
newball.SpeedY = 5;
return newball;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)