Как заставить мой Rectangle двигаться в Windows Phone 7 с помощью Touch point? - PullRequest
0 голосов
/ 28 декабря 2010

У меня проблема с тем, как мне переместить мой простой прямоугольник вверх или вниз с помощью сенсорного ввода в Windows Phone 7. Мне удается переместить прямоугольник вверх и выполнить тест на удар, но как узнать, происходит ли мой сенсорный вводвниз?

Я сделал хитбокс, вот мой код.

        Rectangle hitbox = 
                  new Rectangle(32, 
                                GraphicsDevice.Viewport.Bounds.Height / 2 - 64,
                                32,
                                128);

        foreach (TouchLocation location in TouchPanel.GetState())
        {
            hitbox = new Rectangle((int)blueBar.X, (int)blueBar.Y, 32, 128);
            if (hitbox.Contains((int)location.Position.X, (int)location.Position.Y))
            {
                Debug.WriteLine("We’re hit!");
                blueBar.Y -= 10;
            }
        }

1 Ответ

1 голос
/ 03 января 2011

Вместо использования прямоугольника для проверки прикосновения пользователя, почему бы не попробовать этот подход:
http://codecube.net/2010/03/approximating-touch-points/

Идея состоит в том, что вы просто активируете "ближайший" элемент пользовательского интерфейса к точке касания ... таким образом, вам не нужно беспокоиться о беспорядочном обнаружении столкновений :-)

Кроме того, вот статья, которую я написал об использовании точек касания для плавного перемещения спрайта на экране:
http://codecube.net/2010/04/smooth-control-with-touch/

...