1

我想在单击 btnPause 时暂停一下。OnUpdate 使球可以在屏幕上移动。现在,我想通过单击 btnPause 来暂停移动。这样,我以后可以恢复它。我不知道该怎么做。我希望你们中的任何人都可以指导我。我拥有的代码如下。

private void OnUpdate(object sender, object e)
    {
            Canvas.SetLeft(this.GreenBall1, this.greenBallVelocityX + Canvas.GetLeft(this.GreenBall1));
            Canvas.SetTop(this.GreenBall1, this.greenBallVelocityY + Canvas.GetTop(this.GreenBall1));

            var greenBallPositionX1 = Canvas.GetLeft(this.GreenBall1);
            var greenBallPositionY1 = Canvas.GetTop(this.GreenBall1);

            var maximumGreenBallX = ActualWidth - this.GreenBall1.ActualWidth;
            var maximumGreenBallY = 400 - this.GreenBall1.ActualHeight; //Improvise: Instead of 360, get maximum height of canvas

            if (greenBallPositionX1 > maximumGreenBallX || greenBallPositionX1 < 0)
            {
                this.greenBallVelocityX *= -1;
            }

            if (greenBallPositionY1 > maximumGreenBallY || greenBallPositionY1 < 0)
            {
                this.greenBallVelocityY *= -1;
            }
         }

    private void btnPause_Click(object sender, RoutedEventArgs e)
    {

    }
4

1 回答 1

0

你试图做些什么来让它发挥作用?在这种情况下,我会这样做:

private bool _paused = false;

private void OnUpdate(object sender, object e)
{
    if (_paused)
    {
       return;
    }
    ...
}

private void btnPause_Click(object sender, RoutedEventArgs e)
{
    _paused != _paused;
}
于 2013-06-24T04:40:26.307 回答