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


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

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

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017

Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017

Советы копирайтеру - как не обмануть и не быть обманутым

Balls and Holes игра скачать + как создать игру на fle game engine

Balls and Holes игра скачать + как создать игру на fle game engine

Something: Unexplained 2 captive of desires

KKK Коллекционное издание: Веселый Буквоежка Комикс + Костя Коробкин Комикс + Нечто: Необъяснимое в плену желаний 2 начало

KKK Коллекционное издание: Веселый Буквоежка Комикс + Костя Коробкин Комикс + Нечто: Необъяснимое в плену желаний 2 начало

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 17

megainformatic - Игродельня

megainformatic - Новости страница 542

megainformatic - С днём защитника отечества !

megainformatic fle game engine fle / Пример простой игры fle - Скроллинг больших локаций

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 18

megainformatic - Шарики и Ямки игра PC

megainformatic - Шарики и Ямки игра PC

megainformatic fle game engine fle / Изучаем основы c++ - переменные на примере реального игрового проекта Balls and Holes

megainformatic - Реферальная ссылка

megainformatic - Изменение постоянных свойств в зависимости от контекста

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать

megainformatic - Искатели приключений Зеленый Шарик

megainformatic - Без названия

megainformatic - Мульти анимация

Pencil, Paper and the Ball PC game

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать страница 2

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать страница 3

megainformatic - fle game engine - создание 3d игры - simple game 3d

Pencil, Paper and the Ball PC game

I Free lancer - tale, story Я фрилансер повесть, история

Шарики и Ямки игра, Эмулятор игры Ну Погоди, Balls and Holes, Веселый Буквоежка Комикс, Костя Коробкин Комикс, Нечто: Необъяснимое в плену желаний 2 начало, simple game, с новым годом

Процесс создания игры в картинках

Сравнение различных игровых движков. Плюсы и минусы

app combainer - комбайнер настольных и веб приложений

kerbal space program - Первые впечатления

Pencil Paper and the Ball PC Game review #91 - Как я придумываю историю

We all live in a yellow submarine !

PSI Siberian Conflict Reincarnation - Сибирский Конфликт Война Миров Реинкарнация

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать страница 4

Ria PC game

Cradle / Колыбель PC game 2015 история неуспеха

ria pc game история

ria pc game - видео 105 - темная сторона

ria pc game - доска почета

ria pc game - Ваше персональное место в игре

ria pc game - megainformatic развитие проекта с 2006 года обзор 108

megainformatic страница 577

ria pc game - megainformatic обзор 109_1

ria pc game - megainformatic обзор 110_2

ria pc game - история создания проекта

Развитие сайта - временная капсула

Игра Мечты - ria pc game

megainformatic - минимизация css, js

megainformatic - Создание игры Шар Бумага Карандаш Pencil Paper and the Ball (каникулы зеленого шарика)

megainformatic - Генератор ников, логинов

megainformatic - Начало работы с fle game engine. Создание стартового шаблона приложения - будущей игры на c++ directx 9

megainformatic - fle game generator - эффекты под музыку и без на движке fle game engine

подробнее

Веселый Буквоежка - онлайн комикс - страница 22

представляем Веселый Буквоежка - онлайн комикс.

Бабуля, а ты ничего не забыла ?!

Веселый Буквоежка - онлайн комикс - страница 22

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

[страница 1]  [страница 2]  [страница 3]  [страница 4]  [страница 5]  [страница 6]  [страница 7]  [страница 8]  [страница 9]  [страница 10]  [страница 11]  [страница 12]  [страница 13]  [страница 14]  [страница 15]  [страница 16]  [страница 17]  [страница 18]  [страница 19]  [страница 20]  [страница 21]  [страница 22]  [страница 23] 

подробнее

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

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

А теперь нам Светлана скажет при помощи чего передвигаются половые клетки животных.

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

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

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

подробнее

megainformatic.ru Синицин А. С. Шарики на лифте - Как создать игру - Разные шарики

 

 

18.09.2016 - 19.09.2016

 

 

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

 

Прежде чем перейти к анимации, я решил показать вам еще несколько интересных вариантов и приемов рисования. Применяя эти техники, а также максимум вашей фантазии, Вы можете получить очень даже неплохой результат !

Разные шарики

 

О чём я ? Посмотрите на 2 рисунка ниже.

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

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

 

 

 

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

 

 

 

У верхнего общий вид более аккуратный. Яркий градиент заливает основу. Есть блик вверху и тень снизу. Более выразительные глаза и рот. И интересная прическа :))) Именно такие шарики и есть в игре.

 

 

Продемонстрирую еще несколько вариантов. Большинство в стилистике жирной черной обводки и векторных объектов. Красной лампочкой изображен источник освещения. В уменьшенном окне показано как бы выглядели шарики в натуральную величину в игре.

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

Фантазия, как видите, может разыграться - можно и покрасневший от стеснения шарик изобразить, подсветить основной тон желтым, выразить разные эмоции и много чего еще. Сравните стилистику желтого шарика в левом верхнем углу с остальными. Как видим она ярко выражена у последних, за счёт темных жирных линий и яркой тени. Также детали лица - такие как рот, брови нарисованы не от руки, а в виде четких векторных примитивов.

 

 

 

Используя Photoshop Вы можете сделать видимым сразу вариант шариков в предполагаемую натуральную величину. Для этого делаем следующее: выбираем пункт меню Окно > Упорядочить > Новое окно для ... При этом также надо выбрать, чтобы среда Photoshop одновременно отображала не одно окно во всю рабочую область, а несколько. Как это сделать Вы также видите на рисунке (Расположить всё в сетке). В разных версиях Photoshop это действие может несколько отличаться. Но принцип везде примерно одинаков. Вам просто нужно найти соответствующие пункты меню и/или кнопки на панелях управления.

 

Используя Photoshop Вы можете сделать видимым сразу вариант шариков в предполагаемую натуральную величину. Для этого делаем следующее: выбираем пункт меню Окно > Упорядочить > Новое окно для ...

 

 

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

 

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

 

 

 

Выбрав масштаб приблизительно 25% Вы увидите шарики такими, какими они будут в игре. А во втором окне преспокойно можете рисовать картинку в крупномасшатбном варианте с высоким разрешением.

 

Вот такие шарики могут у вас получиться.

 

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

 

 

 

Ну что ж, давайте теперь посмотрим как создать один из предложенных шариков. Технику Вы уже знаете по предыдущему уроку, поэтому я всё покажу более сжато и кратко. Рисунки идут слева-направо и сверху-вниз по-порядку. Сначала рисуем окружность, заливаем градиентом, применяем обводку 8 px (пиксель). Затем полупрозрачный блик (для градиента используем заливку от белого к прозрачному), затем тень на шарике (аналогично но с темно-зеленым и в противоположном направлении градиента), после внешнюю тень - черный эллипс под телом шарика. Далее глаза, рот. Шарик готов. Думаю из рисунков более-менее понятно как это делалось. Рот, как видим получен выделением методом вычитания, со сдвигом выделенной области и нажатием клавиши [Delete].

 

 

Шарики на лифте - Как создать игру - Ну что ж, давайте теперь посмотрим как создать один из предложенных шариков. Технику Вы уже знаете по предыдущему уроку, поэтому я всё покажу более сжато и кратко. Рисунки идут слева-направо и сверху-вниз по-порядку. Сначала рисуем окружность, заливаем градиентом, применяем обводку 8 px (пиксель). Затем полупрозрачный блик, затем тень на шарике, после внешнюю тень - черный эллипс под телом шарика. Далее глаза, рот. Шарик готов. Думаю из рисунков более-менее понятно как это делалось. Рот, как видим получен выделением методом вычитания, со сдвигом выделенной области и нажатием клавиши [Delete].

 

 

 

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

 

 

 

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

 

 

 

к содержанию

подробнее

     
 

Урок 5 Построение классов игровых объектов и других необходимых классов

Ответы на поставленные вопросы

 
О том, что потребуется для данного урока читайте в основном разделе - уроки delphi directx 8.1
 
Далее у читателя подразумевается наличие базовых знаний языка Delphi.
 
[назад] [страница 2] [далее] [к содержанию]
 

Ответы на вопросы, заданные на предыдущей странице

 

Как сделать вывод курсора и пунктов выбранных меню с прозрачным фоном, как это имеет место в готовом проекте (CoD)?

Вам необходимо указать формат текстуры с использованием альфа-канала, т.е. в методах загрузки текстур -

TGameScene7Title.DoInitDeviceObjects и методе загрузки изображений курсора TD3DGameCursor.DoInitDeviceObjects

вместо строк, использующих формат бэк-буфера -

FCursorImage := TD3DImage2D.Create(g_AppForm.fMyApp.m_d3dsdBackBuffer.Format);

при этом формат текстуры будет D3DFMT_X8R8G8B8, т.е. не использующий альфа-канал

выполнить замену на

FCursorImage := TD3DImage2D.Create(D3DFMT_A8R8G8B8);

При этом курсор и изображения нажатых пунктов меню будут выводиться с прозрачным фоном.

 

При выходе из полноэкранного режима нажатием [закончить] происходит ошибка, как ее устранить?

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

В модуле SwitchModesUnit в методе

CMyD3DApplication.FrameMove

{if g_AppForm <> nil then begin
g_AppForm.ExitGame;}

SendMessage(m_hWnd, WM_CLOSE, 0, 0);
Result:= S_OK;
Exit;
//end;

закоменнтированный код и является замененным

 
 
 

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

в оригинальном коде используется такая замена - внутри метода TD3DGameApp.Create_ строку

//SetRect(rc, 0, 0, m_dwScreenWidth, m_dwScreenHeight);

заменяем на
SetRect(rc, 0, 0, m_dwScreenWidth, m_dwScreenHeight-20);

Но Вам вместо этого придется в модуле SwitchModesUnit у формы AppForm задать параметр высоты (Height) 626 вместо 600.

 
 
[назад] [страница 2] [далее] [к содержанию]
 
     
     
     
     
Creating game on fle game engine - fle / Создание игры на fle game engine - fle

14. использование переменных в игре на c++ directx 9c



read paper in english

Этот урок посвящен самым основам и рассчитан на более углубленное изучение c++. Все примеры реализуются в среде fle game engine на реальном действующем проекте игры
Шарики и Ямки. Тема будет интересна тем, кто только начал изучать основы c++, но также хочет узнать больше о использовании переменных и о создании игр.





Содержание

страница 1 - Спрайты

страница 2 - Объекты

страница 3 - Наложение объектов

страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении

страница 5 - Отображаем прыгающий шарик

страница 6 - Загрузка игровой сцены

страница 7 - Перемещения игровой сцены

страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены

страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика

страница 10 - Проверка столкновений

страница 11 - Игровой счёт, звуки, музыка

урок #2 страница 1 - Создание новых сцен для игры simple game, расширенная версия simple game extended

13. Скроллинг больших локаций

14. использование переменных в игре на c++ directx 9c

15. Мульти анимация







Для чего нужны переменные в c++ в общем и в игре в частности ?

Да это, батенька, основы, скажет Вам любой знаток !

Без переменных никуда и никак.



Creating game on fle game engine / Создание игры на fle game engine - примеры переменных



Почему ?

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

То есть данные + алгоритмы = программы. Без них просто не будет ничего.



На скриншоте в методе CD3DGameApp::Play_Level_8 записан на языке c++ буквально следующий алгоритм:

если m_iScore превысит значение m_iNeedScore,
то переменная m_bLevelAimAchieved станет равна true.

С точки зрения языка все понятно. Но для чего это все ?

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

Но если Вы делаете игру сами, то каждая переменная имеет определенный строго
заданный смысл. Смысл вы придумываете сами (и возможно где-то документируете),
но еще более важно - это как переменные используются вашими алгоритмами.

Как я уже заметил, исследовав код (алгоритмы реализованные на языке программирования -
в нашем случае c++), Вы можете понять как и для чего используются те или иные
переменные. В этом заключается анализ чужого кода или даже своего собственного,
написанного уже давно, но требующего, например, каких-то изменений.

Так, m_iScore это значение текущего счета набранного игроком.

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

m_bLevelAimAchieved - логический переключатель (триггер), если он
установлен в значение false, то некий алгоритм, отслеживающий необходимость загрузки
нового уровня, ничего не делает. Но как только данная переменная переключится в true -
алгоритм сразу же завершит текущий уровень, и загрузит новый.

Допустим я захотел делать следующий уровень игры, 8, а у любого уровня есть какие-то
цели - например в моем случае - чтобы пройти 8 уровень потребуется достичь суммы из
3000 очков, а чтобы с 7 уровня перейти на 8 - набрать 2500 очков.

Так вот чтобы реализовать этот простейший алгоритм, надо иметь 3 переменные:

m_iScore
m_iNeedScore
m_bLevelAimAchieved

А описаны они будут так :

//игровой счёт
int m_iScore;
int m_iNeedScore; //сколько нужно набрать очков чтобы пройти уровень
bool m_bLevelAimAchieved; //цель уровня достигнута

Мы объявили эти переменные внутри класса CD3DGameApp модуля start.h

Значит переменные - это контейнеры, имеющие определенный тип - задающий какие
значения она может хранить.

В нашем случае переменные m_iScore, m_iNeedScore имеют тип int - позволяют хранить целочисленные значения в диапазоне от -2147483648 до 2147483648.

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

Ну а переменная m_bLevelAimAchieved имеет тип bool - булевский тип, хранящий всего 2 значения - true или false.

Посмотрим как используются наши переменные.

При старте нового уровня выполняется метод CD3DGameApp::Init_Level_7(), в котором, как Вы видите,

//level 7
void CD3DGameApp::Init_Level_7()
{
m_iNeedScore = 2500;
m_iScoreOld = 2000;
}

эти переменные инициализируются.
Им присваиваются некоторые начальные значения.

Вы справедливо заметите: здесь же только переменная m_iNeedScore ! А где инициализация
m_iScore и m_bLevelAimAchieved ?

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

Логично предположить, что m_bLevelAimAchieved также инициализируется значением false
перед началом нового уровня. А как только переключится в true - вызовет срабатывание
алгоритма загрузки следующего уровня.

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

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

Вы можете открыть проект игры simple game, посмотреть какие там есть переменные и
добавить какие-то свои новые. Конечно делать надо не наобум, а отдавать себе отчёт в том, что
Вы делаете. Иначе это приведет к нарушениям уже созданных алгоритмов работы игры.

Давайте инициализируем переменную m_iNeedScore для следующего уровня, например 3.

Для этого запишем в модуле start.cpp такой код -


void CD3DGameApp::Init_Level_3()
{
m_iNeedScore = 300;
}

Как видим в создании переменных нет ничего сложного. Важно только не
допускать синтаксических ошибок в написании их имен.

Как может возникнуть такая ошибка ?
Если вы в одном месте запишете переменную как
m_iNeedScore

а где-то в другом -

m_NeedScore

Естественно это будут уже 2 совершенно разные переменные
и к тому же если m_NeedScore не объявлена,
это вызовет ошибку на этапе сборки приложения.

Подведем итог.

Переменные - это основа вашего приложения, которая хранит все данные связанные с ним.

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


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

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

Больше, как говорится тут и нечего добавить.

Удачи вам на ниве создания своих приложений на c++ и игр !

Более подробно о переменных вы можете узнать из урока - Урок 1 Основные операторы языка C++ (часть 2) .





[назад] [далее]

megainformatic live chat
Начать беседу
X
 

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



Павел,  25 марта 2017

Познавательно


Ответ админа >>>,  25 марта 2017

Спасибо, стараюсь.


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


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