ria pc game
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
23 февраля 2019 17:51
Вход Регистрация Забыли пароль ?

megainformatic - Модуль галерей для любой cms
Модуль галерей для любой cms
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Основы добавления контента на сайт, управления и поддержки сайта

megainformatic - Проверка работы сайта, установка на хостинг

megainformatic - Основы продвижения созданного сайта

megainformatic - Создание шаблонов

megainformatic - Создание интернет-магазина

megainformatic - Музыкальные миры - композиция Морозное утро - 10 версий

ЛЕТО

megainformatic - Нечто Необъяснимое - пре релиз

megainformatic cms admin

megainformatic cms admin

megainformatic - Основы создания 3d игр - проект Тайны Морских Глубин

megainformatic - уроки delphi directx 8.1 3d - Основы Вращений и Управления камерой

megainformatic cms seo

megainformatic cms admin

megainformatic - Моделируем девушку в 3d - Подготовка 2d-эскиза тела человека

megainformatic cms stat kit

megainformatic cms seo

megainformatic - Теория и практика 3d игр - О Кватернионах

megainformatic - Теория и практика 3d игр - Основы теории векторов

megainformatic - Теория и практика 3d игр - Важные замечания

megainformatic - Моделируем девушку в 3d используя 3ds max - Подготовка к моделированию ноги - готовим ширму

megainformatic - Моделируем девушку в 3d используя 3ds max - Выполняем моделирование ноги

megainformatic - Моделируем девушку в 3d используя 3ds max - Улучшаем созданную модель женской ножки

megainformatic cms stat kit

megainformatic - Подводная лодка и подводный мир

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

megainformatic cms social

megainformatic cms social Руководство пользователя

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

модуль слайдера

ТЗ на сайт коллективных покупок

модуль slider

megainformatic cms seo

Поддержка сайтом нескольких языков - модуль multi lang

Поддержка сайтом нескольких языков - модуль multi lang

megainformatic - Моделируем девушку в 3d используя 3ds max - другие статьи сборника статей - обзор

установка нового шаблона в joomla 2.5.4

Описание продукта megainformatic cms social

Описание продукта megainformatic cms social

megainformatic - ТЗ на сайт по аналогии rys-stroi.ru

megainformatic cms groupon

megainformatic - дизайн сайта строительной компании УЛЬТРА-СТРОЙ

megainformatic - Тестирование подключения платежной системы

megainformatic - Выпадающее окно регистрации на сайте

megainformatic - Тестирование подключения к платежной системе с использованием скрипта эмулятора

megainformatic - Модуль для регистрации пользователя на сайте

megainformatic - Код для модуля регистрации пользователя на сайте

megainformatic - Быстрый подсчёт ключевых слов в статье

megainformatic - Модуль подсчёта ключевых слов в статье

megainformatic - Онлайн-сервис для подсчёта статистики ключевых слов

megainformatic - Пишем слайдер на javascript с нуля

megainformatic - Логика работы слайдера на javascript

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob

megainformatic - Пишем свою соц. сеть - модуль предложений для webjob - часть реализации для личного кабинета

megainformatic - Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле

megainformatic - Тестирование подключения к платежной системе ЕДИНЫЙ КОШЕЛЕК (w1.ru) с использованием скрипта эмулятора

подробнее


[к содержанию] [другие статьи Тимонина Андрея]

Обеспечиваем доступ к объекту из любой точки программы. Singleton

автор: Тимонин Андрей

дата публикации на сайте Мега Информатик: 17.11.2012

Добро пожаловать в цикл моих уроков посвященных программированию.

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

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


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

static Object _myObject;

Из теории нам известно, что статические поля служат для хранения данных, общих для всех объектов класса, например количество объектов или ссылки на разделяемый объектами ресурс. Эти поля существуют в единственном экземпляре, не дублируются. Память под такие объекты выделяется один раз при инициализации независимо от числа создаваемых объектов и инициализируется при помощи операции доступа к области действия.

class A{
public: int count; // Объявление статической переменной в классе
};
...
int A:: count = 10; //Инициализация значением 10

Для сохранения инкапсуляции статические поля закрывают в классе модификатором доступа private , а для обращения к ним используют открытые статические методы.

class A{
int count; // Объявление статической переменной в классе
public: static void count() { return count;}
};
...
int A:: count = 10; //Инициализация значением 10
void f()
{
A a;
a::count();
}

От сухой теории перейдем к практике. Чтобы не разводить синглетоны под каждый тип объекта, воспользуемся вот таким шаблоном (шаблоны пишут в одной единице компиляции, в нащем случае h-файле):

//singleton.h

#pragma once

template class singleton
{
public:
static T& get()
{
static T theSingleInstance; // у класса T есть конструктор по умолчанию
return theSingleInstance;
}
};

Чтобы наш класс стал синглетоном, используем открытое наследование

//graphics.h
#pragma once
#include "singleton.h"
class Graphics : public singleton
{ ....

protected:
Graphics(void);
~Graphics(void);
,,,,
public:
void Metod();
};

Пример вызова открытого метода:

Graphics::get().Metod());

На этом статью заканчиваю. Надеюсь, эта информация была вам интересна.
C уважением, Андрей.

[к содержанию] [другие статьи Тимонина Андрея]

подробнее

     
  [Все уроки 3ds max] [Галерея моделей] [назад] [далее]  
     
 
Построение ирерархических связей между объектами и основы 3d анимирования.
 
Чтобы модели не "рассыпались" на составные части при экспорте образуйте из них иерархию путем установления связей (Select And Link) между главными и дочерними объектами. Например, если руки, ноги и голова - отдельные объекты, то тело может стать главным объектом (корневым - root), а к нему будут привязаны эти объекты. Точно также если рука состоит из плеча и предплечья (как отдельных объектов), то плечо может быть родителем (root) для предплечья в иерархической связи между ними. При создании скелета иерархические связи между костями цепочки созданной за один раз устанавливаются автоматически. При этом первая созданная кость цепочки и будет родительским (корневым) объектом, а последующие кости будут связаны между собой точно такими же последовательными связями - от родителя к потомкам: плечевая кость -> кость предплечья -> кости (кость) кисти -> кость (кости) пальцев.
 
В данной цепочке перемещение плечевой кости приведет к перемещениям всей цепочки связанных костей. Это и будет прямая кинематика (forward kinematics или FK). Если рассматривать данную манипуляцию в обратной последовательности - перемещение пальцев, то инверсная кинематика (IK) вызовет соответствующие смещения всех родительских костей - кистевых - предплечья - плеча.
 
Создание анимации
 
Мы с Вами рассмотрим создание анимации на примере объектной, т.е. будет взята модель построенная из отдельных примитивов, а анимация будет основана на простых трансформациях этих примитивов.
 
Скачайте данный архив - object_anim (26 Kb) и откройте модель necto.max из 3ds max 7.0 (или выше).
 
модель Necto
 
Вы увидите модель некоего Некто, полностью построеннную из простых примитивов. Можете посмотреть систему иерархических связей данной модели - Graph Editors > Schematic View
 
иерархические связи модели Necto
 
Все связи сделаны при помощи Select And Link от подчиненного объекта к главному. Как видите корневым (root) объектом является примитив body. Все остальные примитивы напрямую или посредством родителя присоединены к нему.
 
Это даст Вам возможность с одной стороны иметь цельный неразрывный объект (модель), а с другой анимировать каждый из примитивов с использованием простых трансформаций - смещения, вращения, масштабирования.
 
Попробуем анимировать простейшую хотьбу.
 
Расположите модель удобным образом и выберите левую ногу (LLeg).
 
выбор левой ноги (LLeg)
 
Настроим параметры анимации. Пусть наша анимация будет качеством Film (24 кадра в секунду - 24 fps) и длительностью 24 кадра (1 секунду).
 
В панели анимации нажмите кнопку Time Configuration
 
панель анимации и кнопка Time Configuration
 
В открывшемся окне диалога задайте указанные параметры и нажмите ОК -
 
 
Вы увидите теперь, что временная шкала анимации отображает искомые 24 кадра, что нам и нужно.
 
Создадим анимацию движения левой ноги по ключевым кадрам -
 
В панели анимации нажмите кнопку Auto Key для автоматической генерации ключевых кадров -
 
включение режима автоматической генерации ключевых кадров
 
Пусть движение ноги будет происходить за 4 фазы, каждая по 6 кадров. Переместите бегунок анимации на 6 кадр (на рисунке 0/24 - обведен кружком).
 
Выполните перемещение и вращение ноги так, чтобы оформился шаг -
 
некто делает шаг
 
После вращения Вы увидите, что нога отделилась от тела, поэтому переместите ее так, чтобы этого не происходило.
 
Теперь переместите бегунок на 12 кадр и щелкните по нему правой кнопкой. В открывшемся диалоговом окне в поле Source Time введите 0, нажмите ОК
 
создание ключевого кадра - положение ноги в крайнее переднем
 
Это приведет к копированию ключевого кадра из 0 в 12 и к возврату ноги в исходное состояние.
 
Теперь сделайте подобную анимацию, но для движения ноги в противоположном направлении.
 
оложение крайнее заднее
 
Перейдя на 24 кадр скопируйте ключевой кадр из 12 в 24 -
 
последний шаг создания анимации левой ноги
 
Отключите кнопку Auto Key. Попробуйте проиграть анимацию движения левой ноги путем перемещения бегунка или путем нажатия кнопки Play на панели анимации. Пример законченной анимированной модели - necto_go (18 Kb).
 

Для остальных конечностей и тела анимация осуществляется аналогично. Только имейте в виду, что связи типа Link (при помощи Select And Link) работают только односторонне, т. е. перемещая родителя можно переместить и все связанные с ним объекты, но не наоборот. Перемещая дочерний объект Вы не переместите родительский! Ведь это не инверсная кинематика!!!

Созданный анимированный файл легко экспортировать в формат X экспортером PandaDXExport для применения в Direct3D8, Direct3D9 и DXExtensionsMax.gup только для Direct3D9. При экспорте экспортером PandaDXExport на вкладке Animation не забудьте указать верную анимационную цепочку и частоту кадров, возможно даже придется немного поэкспериментировать с параметрами экспорта, чтобы экспорт анимации происходил корректно.

 
Данный тип анимации (как уже было сказано выше) носит название объектной, т.к. осуществляется за счет простых трансформаций отдельных примитивов модели, образующих ирерархию.
 
Как видите он проще для создания, но и менее изящен. Анимация осуществляется с гораздо меньшими вычислительными затратами по сравнению со скелетной. Такой тип анимации применялся например в игре Warcraft III Reign of Chaos, так что можете сами посудить о всех ее достоинствах и недостатках.
 
Технология создания скелетной анимации осуществляется точно таким же образом с тем лишь отличием, что Вы анимируете скелет, который в свою очередь анимирует связанные с ним вершины модели.
 
Особенности подготовки модели к экспорту скелетной анимации мы рассмотрим ниже.
 
Если Вы возьмете файл fedja_anim_go.max из архива skinned_fedja и попробуете экспортировать скелетную анимацию в формат X при помощи экспортера PandaDXExport, то получите примерно такой результат -
 
результат экспорта fedja_anim_go.max
 
Такой результат анимации Вы получите если будете просматривать ее из DirectX Viewer DirectX SDK 9. Приложение SkinnedMesh вообще не сможет ничего показать давая лишь ошибку.
 
Первое что приходит в голову - это то, что виноват экспортер PandaDXExport. Однако это не совсем так и всё еще можно исправить.
 
Всё дело в том, что руки модели персонажа должны быть уже опущены. Соответственно должны быть опущены и кости скелета рук.
 
модель Феди с опущенными руками
 
Щелкнув по рисунку Вы можете скачать архив fedja_transformed (95 Кб). Он содержит скорректированные модель и скелет, а также анимацию. Коррекция состояла в перемещении вершин модели относящихся к рукам в положение показанное на рисунке. Кости скелета также были трансформированы. Архив также содержит файл fedja_transformed_with_skel_go.max содержащий готовую к экспорту скорректированную модель и скелетную анимацию.
 
Следует заметить, что если Вы сами возьмете из архива файл fedja_transformed_with_skel.max и попробуете настроить корректно огибающие (Envelopes) для весов костей, создадите анимацию, то столкнетесь с проблемой настройки весов для отдельных вершин, которые плохо или совсем не охватываются огибающими. Выше уже говорилось, что такую настройку можно выполнить через Таблицу Весов - Weight Table.
 
кнопка вызова Таблицы весов панели параметров модификатора Skin c открытым узлом Envelope
 
Если выбрать определенную вершину (несколько вершин), для этого нужно установить флажок Vertices в окне параметров модификатора Skin с открытым узлом Envelope -
 
выбранная вершина
 
На рисунке кружком отмечена выбранная на модели вершина
 
Данная вершина при анимации как раз плохо охватывалась огибающей, поэтому жмем кнопку Weight Table и выбираем - Selected Vertices (только для выбранных вершин).
 
 
Поскольку мы выбрали только одну вершину, то она и показана в столбце Vertex ID. Данная вершина должна двигаться вместе с костью RLeg_Bone_Clavicle (если вершина выбрана на правой ноге). Прокручиваем нижнюю полосу прокрутки и находим искомую кость. Задаем для нее коэффициент 1,000. Т.е. данная кость будет полностью определять положение данной вершины.
 
Аналогично корректируются веса влияния костей для всех остальных вершин, чья анимация, если Вы заметите, осуществляется некорректно - т.е. кости движутся, а вершины - движутся слабо или вообще остаются на месте.
 
Это было всё, что я хотел Вам рассказать о проблемах создания и экспорта скелетной (и объектной) анимации. Если что-то было Вам не совсем ясно или не получилось - значит нужно еще попрактиковаться. Тема достаточно сложная и обширная, но она стоит того, т.к. без анимации не обходится ни одна игра. Если всё же вы столкнулись с неразрешимыми на ваш взгляд трудностями, то - пишите, постараюсь ответить.
 
     
  [Все уроки 3ds max] [Галерея моделей] [назад] [далее]  
     
     
подробнее

megainformatic.ru Синицин А. С. Шарики на лифте - Как создать игру - Вставка созданной графики, звуков и музыки в игру

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

к содержанию

 

 

 

 

На протяжении предыдущих уроков мы с Вами занимались тем, что рисовали шарик, делали из него спрайт, затем рисовали фон, учились создавать звуки и музыку. Для чего всё это делалось ? Ну конечно же, чтобы научиться, если Вам это было нужно, а еще для того, чтобы вставить всё это в реально работающую игру и потом поиграть в созданное своими руками !

 

 

 

Это на самом деле непередаваемое ощущение - когда ты не просто нарисовал спрайт или сочинил музыку, но и когда твоё творчество ожило и стало частью игры - почти живого существа, за которым можно наблюдать и с которым можно поиграть !

 

 

 

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

 

 

 

Шарики на лифте - Как создать игру -

Прежде чем вставить свой ресурс в игру - запустите игру и убедитесь что она у вас корректно работает. Это нужно обязательно сделать, в противном случае после вставки своего ресурса и последующего запуска игры с возникновением ошибки - Вы не будете знать её причину. Поэтому прежде чем что-то вставлять - убедитесь, что изначально игра работает !

 

 

 

 

 

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

 

Там я уже наглядно показывал в какой папке размещен фон -

Media\textures\moved_bg\

 

 

 

 

Давайте откроем папку с игрой и внутри неё найдём папку Media. В этой папке лежат все ресурсы используемые игрой.

Ну а теперь Вам остается просто открыть подпапку представленную путём указанным выше, т. е.

Media\textures\moved_bg\

 

 

Шарики на лифте - Как создать игру - Вставляем фон заднего плана в игру

 

 

!!! ВАЖНО !!! Обращаю ваше внимание на то, что все манипуляции со вставкой ресурсов в игру можно выполнять только при выключенной игре. Иначе это приведет к ошибкам. Вновь вставленные ресурсы не будут работать пока игра не будет выключена полностью - т. е. её приложение полностью закрыто, и запущена снова. Поэтому учитывайте этот ВАЖНЫЙ !!! момент.

 

 

Переименовываем файл back_bg.jpg например в back_bg_.jpg

А на его место вставляем новый фон, и называем его также как был назван переименованный - back_bg.jpg

 

 

Потому что именно с таким именем использовался в игре предыдущий фон. Обратите внимание !!! Имя должно быть записано именно так - без добавления каких-то еще символов, изменения размера каких-то букв с заглавных на строчные и т. д.

Т. е. варианты Back_bg.jpg или back_bg.JPG и любые их варриации будут неправильными и приведут к ошибкам при запуске игры !

 

 

Также все буквы должны быть записаны латиницей !!! Если вы например "a" или "c" напишете как русскую, это тоже приведет к ошибке при запуске игры.

 

Шарики на лифте - Как создать игру - Вставляем фон заднего плана в игру

 

 

 

После того, как всё сделано - пробуем запустить игру. Если игра стартовала как обычно и никаких ошибок не возникло - значит всё ОК. Если же возникли ошибки - внимательно проверьте всё и найдите, что Вы сделали не так.

 

 

 

На скриншоте ниже видно, как фон заднего плана виден через просветы в фонах переднего и среднего планов.

 

Шарики на лифте - Как создать игру - Вставляем фон заднего плана в игру

 

 

 

Давайте теперь попробуем вставить прыгающий шарик из урока - Анимация прыжков шарика в игру.

 

Закрываем игру нажав кнопку Close (красная кнопка с белым крестиком) справа вверху окна программы или по клавише [Esc], или выбрав пункт меню Game > Quit

 

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

Media\textures\ball\small_jump\

 

 

Обратите внимание !!! В уроке Анимация прыжков шарика мы создавали спрайт размерами 512х512 пиксель, а в игре для этих шариков используются спрайты 256х256. Вы можете сами уменьшить спрайт до нужных размеров в Photoshop - через пункт меню Изображение > Размер Изображения, либо взять готовый спрайт из папки - bol_hmg\lessons\content\anim_ball\work\ дистрибутива комплекта уроков, спрайт называется anim_ball_256.tga

 

Если пренебречь этим, то в игре Ваш шарик будет отображаться некорректно - как показано на скриншоте ниже.

 

 

Шарики на лифте - Как создать игру - Некорректно выводимый шарик

 

 

Чтобы шарик отобразился корректно даже если спрайт использовать размерами 512x512 или вообще какого-то произвольного размера, есть еще другой способ. Об этом речь пойдёт ниже. А пока давайте завершим начатое.

 

Итак, проделываем аналогичные манипуляции, которые мы делали когда вставляли фон. Т. е.

 

Файл green_ball_small_jump.tga переименовываем в green_ball_small_jump.tga, а на его место вставляем новый и называем green_ball_small_jump.tga т. е. в точь-в точь также как назывался первый вариант зеленого шарика.

 

Шарики на лифте - Как создать игру - Вставляем спрайт шарика в игру

 

 

 

Запускаем игру и видим результат. Если возникли ошибки - разбирайтесь пошагово что Вы сделали не так.

 

 

Ниже представлены примеры скриншотов на которых видно и наш вставленный в игру шарик и фон заднего плана.

 

 

Шарики на лифте - Как создать игру - Вставляем фон заднего плана в игру

 

Шарики на лифте - Как создать игру - Вставляем фон заднего плана в игру

 

 

 

Вообщем, как видим, вставка ресурсов в игру не представляет особого труда. По такому же принципу хранятся ресурсы во многих играх. Гораздо сложнее создать этот самый ресурс. А вставка его по сравнению с этим - сущий пустяк. Однако Важно не допустить ошибок. Назвать файл правильно, также как назывался оригинальный файл который Вы заменяете. Еще, если речь идёт о спрайте - важно соблюсти те же правила, которые были определены для первоначального заменяемого вами спрайта. Т. е. спрайт должен иметь те же размеры, то же количество кадров и изображаемый персонаж или объект должен быть примерно такого же масштаба, как и оригинальный.

 

Я намеренно нарисовал и предложил Вам вставить шарик несколько больших размеров и отличающийся цветом - чтобы было более наглядно и Вы сразу же его заметили !!!

 

 

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

 

 

 

Для этого воспользуемся утилитой Coords2D, которую я также упоминал в уроке Анимация прыжков шарика.

 

 

 

Возможно Вы уже сами догадались, что нужно сделать. Это станет понятным из скриншота ниже -

Шарики на лифте - Как создать игру - Вставляем фон заднего плана в игру

 

 

Обратите внимание, что в файле

bol_hmg\lessons\utils\Coords2D\Media\textures\tex_list.txt

содержимое которого Вы и видите на скриншоте выше,

 

не должно быть пустых строк ни в конце ни в начале, ни в каком-то другом месте файла ! В каждой строчке записываются параметры только для 1 спрайта. Все пустые строки необходимо удалить, иначе возникнет ошибка !!!

Так вот, если смотреть слева-направо, то самый первый шарик - он же первый в списке tex_list.txt

ball\anim_ball_256.tga; -0.4f; -0.17f; 0.8f; 0.32f; 0.32f; 64; 128; 0; 0; 4; 8.0f; 7.5f;

Это наш вставленный шарик, но уменьшенный. Сравните масштабные коэффициенты (которые я отметил красным цветом) с этими же значениями у этого же шарика, но того, который самый крайний справа, т. е. по счёту четвертый.

и в списке tex_list.txt он также 4ый и имеет такие параметры -

ball\anim_ball_256.tga; 0.5f; 0.1f; 0.8f; 0.52f; 0.52f; 64; 128; 0; 0; 4; 8.0f; 7.5f;

 

Теперь Вы поняли в чём дело ? Просто изменились значения масштабных коэффициентов xScale и yScale, поэтому шарик стал меньше. Однако как Вы можете судить по картинке - он не очень хорошего качества (сравните левый крайний шарик и все остальные). Поэтому сжимать спрайты или растягивать крайне нежелательно - чтобы как раз не было таких вот визуальных искажений.

 

Нужно изначально, когда Вы готовите спрайт в Photoshop примерно прикинуть каких он должен быть размеров в игре и соответственно делать его такого размера. Тогда искажения при выводе спрайта в игре будут минимальны, а вы просто будете использовать масштабные коэффициенты 1.0f

 

Разные масштабные коэффициенты можно применять если например нужно сделать в игре Шарики разных размеров, не рисуя при этом соответствующие спрайты. Правда, как я уже говорил, нужно учитывать визуальные искажения. Но иногда они достаточно приемлемы. Это можно установить экспериментальным путём.

 

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

 

Для этого в файле -

bol_hmg\bol\Media\textures\ball\tex_list.txt

 

Вам нужно строчку -

small_jump\green_ball_small_jump.tga; 300.6f; 180.1f; 0.85f; 0.52f; 0.52f; 64; 128; 0; 0; 4; 8.0f; 25.5f;

 

изменить на -

small_jump\green_ball_small_jump.tga; 300.6f; 180.1f; 0.85f; 0.32f; 0.32f; 64; 128; 0; 0; 4; 8.0f; 25.5f;

 

т. е. масштабные коэффициенты - 0.52f; 0.52f;

заменить на 0.32f; 0.32f;

 

Правда тут нас ждёт неудача. Дело в том, что в игре данные значения жестко прописаны в коде и изменение их в данном файле ни к чему не приведет. Просто потому что значение игнорируется.

 

Но зато теперь Вы знаете как изменить масштаб игрового спрайта в игре, и можете поэкспериментировать в утилите Coords2D.

 

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

 

Ну что же, в завершение нам осталось научиться вставлять в игру звуки и музыку. Поскольку показать как это будет выглядеть на скриншоте я не могу, то результат Вы уже услышите сами. Принцип думаю вам понятен.

Для изменения звуков создания и удаления шарика - который слышен при нажатии правой и левой кнопок мыши соответственно, Вам нужно заменить такие файлы (по аналогии предварительно переименуйте их, чтобы сохранить оригиналы):

bol_hmg\bol\Media\sounds\bol_create.wav - это звук создания шарика

bol_hmg\bol\Media\sounds\bol_delete.wav - это звук удаления шарика

 

Файлы должны быть в качестве 16 bit, 44100 Hz, стерео.

Это важно учитывать, иначе игра просто не сможет загрузить и использовать данный звук. Кроме того, звуки не должны быть слишком долгими. Например длина представленных всего 0,5 сек. Слишком длинные звуки приведут к большим задержкам прежде чем Вы кликните и услышите следующий звук.

 

С музыкой дело обстоит еще проще.

Вам достаточно даже не заменять, а всего лишь положить Ваш mp3 файл в папку

bol_hmg\bol\Media\sounds\music\

И добавить его имя в список

bol_hmg\bol\Media\sounds\music\music_themes_list.txt

Обратите внимание в данном файле также не должно нигде быть пустых строчек !!!

Ну а дальше - сохраняем изменения в файле, запускаем игру и слушаем. Музыка будет воспроизводиться в случайном порядке из всех имеющихся в списке композиций. Вы можете даже убрать все оригинальные композиции и оставить только свои. Или оставить только одну - чтобы прослушать как она будет звучать в игре.

Не забудьте только при этом внести изменения в файл

bol_hmg\bol\Media\sounds\music\music_themes_list.txt

 

 

Ну что ж, это было пожалуй всё, что я хотел Вам рассказать на сегодня. Остается только поздравить Вас с тем, что Вы научились создавать контент для реальных игр !!! Вы теперь можете создавать и вставлять в игру свой собственный контент.

 

 

 

 

До новых встреч ! Ждите обновлений на сайте - новых игр, уроков и прочих полезных и интересных материалов. Спасибо за проявленное внимание.

 

 





к содержанию

подробнее

Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 9

Онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as).

- Красиво. Не знал, что такие улицы есть.

- Может зайдёшь ?

Костя Коробкин - В гостях у тёти Светы (- интерактивный комикс (kk as) - онлайн комикс - страница 9

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1][страница 2] [страница 3] [страница 4] [страница 5] [страница 6] [страница 7] [страница 8]  [страница 9] [страница 10] 

     
 
megainformatic cms e-mailer

Система Управления Вашим Сайтом - megainformatic cms e-mailer

Представляет из себя 4 в 1 - megainformatic cms, e-pro, e-shop и e-mailer. Эти системы позволяют вам управлять сайтом, партнерскими заказами, магазином и организацией e-mail рассылок.

 

 
     
 

Система Управления Вашим сайтом - megainformatic cms e-mailer

Эта система объединяет в себе 4 подсистемы:
- megainformatic cms - систему управления сайтом;
- e-pro - систему управления заказами в магазинах партнеров;
- e-shop - систему управления ващим собственным интернет-магазином;
- e-mailer - систему автоматизированных рассылок по базе пользова-
телей.
Таким образом, приобретая данную систему Вы получаете 4 в 1.
Это позволит вам создать собственный сайт - интернет-магазин,
активно использовать партнерские системы и выполнять рассылки
новостей вашему кругу пользователей.

 
     
     
 

Система megainformatic cms e-mailer имеет следующие особенности:

- простая и быстрая установка;

- полностью открытый исходный код на php;

- подробное документирование возможностей;

- удобное управление контентом;

- доступный для понимания код;

- наличие встроенных модулей административной части, контента, поиска, карты сайта, случайной новости, даты и времени, e-pro, e-shop, e-mailer, сменные шаблоны, выпадающее меню;

- наличие подключаемых платежных систем WebMoney, Робокасса, Единый Кошелек, Квитанция сбербанка, QIWI, указание реквизитов для других систем, например yandex.деньги.

 
     
 

Система megainformatic cms e-mailer решает следующие задачи:

- позволяет создать сайт, пополнять, расширять и продвигать его;

- добавить к сайту товары и систему оплаты и обработки заказов, превратив его в интернет-магазин - e-shop;

- осуществлять работу с партнерскими системами других магазинов обрабатывая заказы с помощью системы e-pro;

- организовывать автоматизированное пополнение списков рассылки и выполнять автоматизированные рассылки новостей по базе пользователей вашего сайта;

 
     
 

Если Вы всё еще сомневаетесь остановить ли свой выбор на megainformatic cms e-mailer, тогда рекомендую вам начать с бесплатного решения - megainformatic cms free - это уникальная система, работающая без баз данных и состоящая всего из ОДНОГО!!! исполнимого файла.

Т. е. всё что вам потребуется - это скопировать этот файл на свой хостинг, добавить необходимый контент (в соответствии с описанием системы) и Вы получите бесплатный работающий сайт !!!

 
     
  Добро пожаловать в мир электронных знаний !!!  
     
     
     
     
     
     
     
     
megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 1,0963