2008-11-26 5 views
2

В настоящее время я пытаюсь реализовать игру с мраморным лабиринтом для устройства WM 5.0 и боролся с разработкой рабочего прототипа. Прототипу понадобится пользователь для управления мячом с помощью клавиш направления и отображения реалистичного ускорения и трения.C# Разработка мобильных игр

Мне было интересно, есть ли у кого-нибудь опыт с этим и может дать мне несколько советов или указать мне в правильном направлении того, что необходимо, и лучший способ обойти это.

Заранее спасибо.

Frank.

+0

Возможно, вы захотите задать отдельный вопрос только о том, как использовать клавиши с координатами WM-устройства на C#. Это сложная проблема сама по себе. – MusiGenesis 2008-11-26 22:27:00

ответ

0

Я бы рекомендовал проверить XNA Studio 3, он имеет встроенную поддержку ПК, Xbox 360 и мобильных устройств, а также официальное & бесплатное выделение Visual Studio от Microsoft.

http://creators.xna.com/en-US/

http://blogs.msdn.com/xna/

Если вы будете искать вокруг, люди писали учебники, используя физику (скорость на этом) http://www.xnamachine.com/2007/12/fun-with-very-basic-physics.html

+0

За исключением того, что он спросил о Windows Mobile, а XNA не поддерживается в WinMo. – ctacke 2008-11-27 00:35:52

0

XFlib Попробуйте. Это в C++, но, к сожалению, самые классные вещи для мобильных устройств должны быть в C++. На сайте есть очень крутые бесплатные игры. Вы также можете увидеть источник большей части игры. У многих есть физика, которую вы хотите.

0

К сожалению, XNA не поддерживает мобильную платформу Windows. Однако, похоже, что у вас нет проблемы с технической проблемой рисования на WM-устройстве, но с логикой, необходимой для реализации движения на основе физики, тогда неплохо было бы подумать о XNA, чтобы прототипировать физику и движение код.

Проверьте некоторые из учебных тем на creators.xna.com, а также "gamedev.net"

0

Если вы затрудняетесь, нет никакой ошибки в пробуя «легкий» инструмент для прототипа. Я бы попробовал Torque Game Builder - он выплевывает XNA, хотя, возможно, не предназначен для вашей платформы.

0

На образцах SDK для Windows Mobile (ознакомьтесь с SDK WM 6.0), есть несколько игровых приложений. Одна из них - простая игра-головоломка; не много, но это отправная точка.

Использование физики в разработке игр не относится к Windows Mobile. Вы можете найти огромную литературу по этому вопросу. This появляется у меня в голове. Если вы серьезно относитесь к разработке игр, на любой платформе вы должны сначала сделать небольшое исследование.

0

Я не знаю, может ли это помочь, но я увидел приложение Marble для платформы Android в коде google. Проверьте это here, это может дать некоторое представление о реальной логике игры.

Код открытый и написанный в java (с использованием android sdk), тем не менее, он может быть полезен. Также, чтобы лучше понять код проверки документации для SensorsManager, SensorEvent и т. Д. here

Я бы не рекомендовал использовать ту же архитектуру, что и это приложение.

1

При чтении вашего ответа у меня не было ощущения, что вы ищете игровой фреймворк, но больше: как я могу легко моделировать шар с ускорением и трением.

Для этого вам не нужен полноценный рамки физики, так как это относительно просто:

Сначала нужно создать таймер, который стреляет 30 раз в секунду, а в функции обратного вызова таймера необходимо выполнить следующие действия:

  • рисовать лабиринт фон
  • Нарисуйте мяч ballX, Балли (обе точки переменные с плавающей)
  • Добавить ballSpdX в ballX и добавить ballSpdY в Bally (скорость)

Теперь проверьте ключи ...

  • если ключ Направленный остаются, а затем вычесть небольшое количество ballSpdX
  • если ключ является направленным верхним-левым, а затем вычитать небольшое количество ballSpdX и ballSpdY
  • и т.д.

Для столкновения необходимо выполнить следующие действия:

  • сначала переместите шар в горизонтальном направлении. Затем проверьте столкновения со стенами. Если обнаружено столкновение, затем переместите шар назад в предыдущие позиции и измените скорость: ballSpdX = -ballSpdX
  • переместите шар в вертикальном направлении. Затем проверьте столкновения со стенами. Если столкновение было обнаружено, а затем переместить мяч обратно на свои предыдущие позиции и реверса скорость: ballSpdY = -ballSpdY

путем обработки вертикального и горизонтального перемещения по отдельности, столкновение намного проще, так как вы знаете, с какой стороны мяч должен подпрыгнуть.

последний nu не менее трение, трение просто делает это каждый кадр: ballSpdX * = трение; Где трение - это что-то вроде 0.99. Это гарантирует, что скорость шара становится меньше каждого кадра из-за трения;

Надеюсь, что это помогло