При чтении вашего ответа у меня не было ощущения, что вы ищете игровой фреймворк, но больше: как я могу легко моделировать шар с ускорением и трением.
Для этого вам не нужен полноценный рамки физики, так как это относительно просто:
Сначала нужно создать таймер, который стреляет 30 раз в секунду, а в функции обратного вызова таймера необходимо выполнить следующие действия:
- рисовать лабиринт фон
- Нарисуйте мяч ballX, Балли (обе точки переменные с плавающей)
- Добавить ballSpdX в ballX и добавить ballSpdY в Bally (скорость)
Теперь проверьте ключи ...
- если ключ Направленный остаются, а затем вычесть небольшое количество ballSpdX
- если ключ является направленным верхним-левым, а затем вычитать небольшое количество ballSpdX и ballSpdY
- и т.д.
Для столкновения необходимо выполнить следующие действия:
- сначала переместите шар в горизонтальном направлении. Затем проверьте столкновения со стенами. Если обнаружено столкновение, затем переместите шар назад в предыдущие позиции и измените скорость: ballSpdX = -ballSpdX
- переместите шар в вертикальном направлении. Затем проверьте столкновения со стенами. Если столкновение было обнаружено, а затем переместить мяч обратно на свои предыдущие позиции и реверса скорость: ballSpdY = -ballSpdY
путем обработки вертикального и горизонтального перемещения по отдельности, столкновение намного проще, так как вы знаете, с какой стороны мяч должен подпрыгнуть.
последний nu не менее трение, трение просто делает это каждый кадр: ballSpdX * = трение; Где трение - это что-то вроде 0.99. Это гарантирует, что скорость шара становится меньше каждого кадра из-за трения;
Надеюсь, что это помогло
Возможно, вы захотите задать отдельный вопрос только о том, как использовать клавиши с координатами WM-устройства на C#. Это сложная проблема сама по себе. – MusiGenesis 2008-11-26 22:27:00