JsonObjectRequest
фактически принимает JSONObject
как тело.
Из эта статья в блоге ,
final String url = "some/url";
final JSONObject jsonBody = new JSONObject("{\"type\":\"example\"}");
new JsonObjectRequest(url, jsonBody, new Response.Listener() { ... });
Вот источник код и JavaDoc (@param jsonRequest
):
/**
* Creates a new request.
* @param method the HTTP method to use
* @param url URL to fetch the JSON from
* @param jsonRequest A {@link JSONObject} to post with the request. Null is allowed and
* indicates no parameters will be posted along with request.
* @param listener Listener to receive the JSON response
* @param errorListener Error listener, or null to ignore errors.
*/
public JsonObjectRequest(int method, String url, JSONObject jsonRequest,
Listener listener, ErrorListener errorListener) {
super(method, url, (jsonRequest == null) ? null : jsonRequest.toString(), listener,
errorListener);
}
Большая часть информации, как перемещения символов, на самом деле хранится вне кода. Это - вполне простой процесс на самом деле:
оказывается, что все в игре заканчивает тем, что было сохранено отдельно из кода, и код просто читает его и комбинирует все это вместе, когда игра выполняется. Когда я говорю все - я имею в виду ВСЕ! Весь текст, статистика для очков жизни и сумм повреждения оружия, изображений экрана меню и даже искусственного интеллекта хранится отдельно из кода программы в сценариях. Код программы заканчивает тем, что делал очень мало.
Вы, возможно, услышали о людях, делающих модификации к играм. Разработчики модификаций являются людьми, которые редактируют данные, которые находятся за пределами кода программы, который в свою очередь изменяет игру на то, как это удовлетворяет им. Они просто используют в своих интересах то, что в основном все об игре (за исключением нескольких базовых вещей) не записано в код программы.
В отличие от любимого ответа, я рисковал бы и сказал бы, что это - на самом деле вполне большая задача, если Вы обращаетесь к наличию символа, которые имеют анимацию к нему.
конечный результат состоял бы в том, чтобы добавить большую часть функциональности, связанной с помощью сценария и файлов конфигурации (другими словами - управляемый данными), но процесс для создания такой системы не прост.
Обычно Вы запускаете с внешнего разработчика моделей, где Вы делаете следующее: 1. создайте модель кожи. 2. создайте скелет и присоединение к коже согласно весам и т.д. 3. примените все структуры и материал, как желаемый. 4. экспортируйте в свой механизм.
Теперь можно запустить, создают банк анимации этого символьного скелета или любого подобный, если Вы связываете его больше чем к одному (обычно, это имеет место, если скелет является достаточно близким или модульным). Некоторые анимации будут содержать только частичную иерархию (чтобы смочь смешать только часть анимации - например, нижняя часть тела работает, в то время как верхняя часть тела может использовать другую анимацию или инверсную кинематику - стрельба по врагу во время выполнения является хорошим примером для этого).
Теперь наконец Вы добираетесь до части кода. Необходимо создать систему, которая свяжет анимации к скелету и представит его правильно. Эта система также должна смочь смешаться между анимациями и IK (например - смещающийся между положением выполнению), и смочь объединить несколько анимаций, и частичные анимации - например, идя (анимация всего тела), смотря на кого-то (IK для верхней части тела), махая рукой (IK с частичной анимацией) и дыша (частичная анимация) одновременно объединили бы 4 различных частичных или полных смешивания.
я не упоминал то, что необходимо создать средство импорта и существует также различие между действием и анимацией для действия. Действие может иметь несколько анимаций, объединенных или выбранных случайным образом - они будут связаны через файл отображения данных.
я предложил бы смотреть на XNA - он имеет много примеров, средств импорта и намного больше и содержит много основного материала в библиотеках, таким образом, Вы не должны запускать с нуля. Как люди также упомянули - Blender3D является хорошим выбором для редактора + и так мог бы быть Крутящим моментом только для опыта игрового механизма.
Одно последнее слово - если Вы собираетесь испытать его, это не будет обходом в парке, но эй - такая забава и результаты сделают Вас гордящимися собой.
Смотрите на Игровые Учебные руководства по Механизму Блендера , и также их Абрикос Проекта , который был открытым проектом создать 3D игру с Игровым Механизмом Блендера.
3D символьное создание и программирование Вашей 3D игры являются двумя отличными процессами.
Обычно Вы ваяете свой 3D символ в 3D разработчике моделей (Блендер, 3D студия майя Max, и т.д.), Вы экспортируете этот символ в файл (.obj, .md2, и т.д.), и Вы написали код к своей 3D игре для обработки импорта символа в механизме.
, В то время как это звучит довольно трудным, , 3D игровые механизмы действительно поддерживают все, что они наполняют, не пишущий миллионы строки кода и изобретения велосипед.
Берут, например, Ogre3D, 3D игровой механизм с открытым исходным кодом. Вы не должны быть гуру программирования, чтобы иметь простой пример & выполнение в минутах. Я предлагаю, чтобы Вы смотрели на их wiki и их учебные руководства .
, Например , это простое учебное руководство для создания и экспорта Ваших простых моделей от 3D Studio Max и импорт их Людоеду, 3D
У меня нет большого игрового программирования, испытывают меня, но я нашел платформу XNA и ресурсы довольно поучительными. Можно найти тонну примеров и как to's и довольно полезный форум здесь http://creators.xna.com/en-US/
Анимации могут быть сделаны из 3D программного обеспечения моделирования и затем до кода для 'выполнения' различных анимаций на основе игровой логики. Модели добираются из программного обеспечения моделирования в игру через распространенные форматы. Например, платформа XNA может исходно считать некоторые наиболее распространенные образцовые форматы.
Необходимо использовать 3D механизм визуализации. Многие из них свободны (, Ogre3D является хорошим), и обычно у них есть средства для импорта почти любого типа сетки, созданной из общего программного обеспечения моделирования.
Думайте некоторое время о том, как Вы делаете это все в 2D, это - в значительной степени то же с 3D, алгоритмы просто отличаются и существуют различные аспекты для заботы о.
Остальная часть, что Вы спрашиваете, является вопросом о дизайне и зависит для игры и программиста. Можно записать сложное моделирование для перемещения их символов, в то время как кто-то еще может положиться только к скелетным анимациям. Кто-то может сохранить игровую логику вдоль 3-х моделей, и другие просто не делают.
Примеры? Возможно исходный код землетрясения является хорошим источником для изучения.
Запись игрового механизма является сложной задачей, мое предложение состоит в том, чтобы использовать один из существующих механизмов, (выбор из списка: http://www.devmaster.net/engines/ ).
При выборе механизма необходимо взять в учетной записи следующее:
, Ваш вопрос более связан с последним объектом, необходимо выбрать механизм, который может импортировать активы, в которых Вы производите, говорят 3DS, язык майя в механизм способом, который Вы не должны волновать с форматами файлов, потому что это сделает Вас более продуктивными, так как Вы только фокусируетесь в игру.
Посетите Unity3d.com, и вы сразу же приступите к созданию своей игры. Анимации выполняются в программном обеспечении для моделирования Maya и т. Д., Но некоторые из них выполняются в движке. Unity упрощает физику, и вы более или менее создаете свой мир и связываете взаимодействие объектов.
Пример - У вас есть камера -> Вы можете настроить камеру в пользовательском интерфейсе, чтобы она следовала за главным персонажем и преобразованием XYZ того места, где размещена камера. Также это можно сделать визуально.
Убедитесь, что это очень весело и меньше кода, чем вы можете себе представить. Оттуда вы, конечно же, можете написать свой собственный код, чтобы создать свой собственный уникальный игровой процесс. Это легко объяснить, как написать сценарий и перетащить его на объект, на котором он должен выполняться.
Это настолько непрофессионал, насколько я могу понять. Ваше здоровье.