Хотите разработать для Android. Есть несколько основных вопросов, не связанных с FAQ - PullRequest
1 голос
/ 12 июня 2010

Недавно я и небольшая группа друзей заинтересовались разработкой игры для мобильной платформы.Первоначально мы рассматривали iPhone, но никто из нас не использовал Mac, поэтому мы решили, что Android будет более реалистичной платформой для использования.Прежде чем мы начнем, я надеялся, что смогу найти ответы на пару вопросов, чтобы мы не теряли время, если этот проект не осуществим.Любая помощь приветствуется!

  1. Я не могу понять, сколько языков программирования поддерживает Android.Ява очевидна, но как насчет C +?Кажется, что Android поддерживает C и C ++ через Eclipse, но так ли это?(Я не программист проекта, поэтому я спрашиваю об этом. Он чувствует себя комфортно в C +).

  2. Наша игра предполагает использование двух цифровых аналоговых джойстиков (это не такшутер с двумя палками, но это похожая концепция).Казалось бы, что большинство устройств Droid, к сожалению, не используют мультитач ... Есть ли сейчас много устройств, которые поддерживают эту функцию, и я просто не вижу их, или нам стоит подумать о разработке другогоигра, которая будет использовать только один вход?

  3. Если после первых двух вопросов нет препятствий, что вы считаете лучшим разрешением экрана для разработки?Похоже, что сейчас существует множество решений, и мы не можем решить, какой из них лучше использовать.

Опять же, любые ответы приветствуются!

Ответы [ 3 ]

1 голос
/ 12 июня 2010

1) Java - это язык SDK.Большинство приложений и должны быть написаны на Java.Единственная причина для NDK - для приложений, ранее написанных на C ++, которые должны быть перенесены на Android.Есть недостатки - он поддерживает компиляцию только на 2 разных процессора (один - процессор Nexus, один не может вспомнить, что другой).Поэтому, если вы используете C / C ++ в NDK, вы серьезно ограничиваете количество устройств, на которые вы можете отправить.

2) Если вы хотите использовать двойные аналоговые джойстики, почему бы не отобразить джойстики в углахэкрана и позволяют пользователю размещать свои пальцы на них?Вам не нужна аппаратная поддержка.

3) Android SDK поддерживает несколько разрешений экрана, поэтому вам не нужно беспокоиться об этом немедленно.Я бы хотел начать с WVGA (800x480 - Nexus One / HTC Desire).

1 голос
/ 12 июня 2010
  1. Вам придется использовать хотя бы немного Java, хотя вы можете вызывать C ++ с недавно выпущенным NDK.

  2. Насколько мне известно, по крайней мере, Droid иNexus One поддерживает мультитач.Не уверен насчет новых.

  3. Я бы разработал для экранов нескольких размеров.

Крис Прюетт сделал две очень хорошие презентации о написании в реальном времениигры для андроида, которые вы, возможно, захотите посмотреть, они мне очень помогли. Он также слегка касается NDK во второй, ссылка на которую приведена ниже.Я могу опубликовать только одну ссылку, так как я являюсь новым участником, но поиск в Google для "написания игр для Android в реальном времени" должен включить ее.

http://bit.ly/checYY

0 голосов
/ 12 июня 2010
  1. На ваш первый вопрос уже отвечали другие.SDK основан на Dalvik, вам придется говорить на Java с платформой Android, чтобы делать такие вещи, как настройка вашей активности, обработка событий и т. Д. Вы можете вызвать модуль собственного кода, созданный с помощью NDK, для других целей.

  2. Мультитач-ситуация на Android зависит от аппаратного обеспечения.Android> = 2.0 поддерживает его в платформе, и вы можете использовать PackageManager, чтобы запросить, какую функциональность мультитач поддерживает устройство.Двое, о которых вы заботитесь, это FEATURE_TOUCHSCREEN_MULTITOUCH и FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT.Некоторые экраны, которые предлагают только FEATURE_TOUCHSCREEN_MULTITOUCH, имеют проблемы с распознаванием точного движения, когда оба пальца находятся вдоль или около одной и той же координаты X или Y.Это хорошо для таких вещей, как масштабирование, но у вас могут возникнуть проблемы при использовании элементов управления с двойным аналоговым стилем на устройстве без FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT.

  3. Планирование поддержки нескольких разрешений.Если вы предоставляете ресурсы с низким и высоким разрешением, система ресурсов может автоматически выбрать подходящие для вас во время выполнения. Подробнее об этом здесь. Вам все равно придется иметь дело с различными разрешениями, которые не обязательно разделяют соотношение сторон.Например, у Droid 480x854, а у Nexus One 480x800.

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