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


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

megainformatic - Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 2
Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp) - онлайн комикс - страница 2 Предлагаем вашему вниманию онлайн-комикс Костя Коробкин - СЕКРЕТНЫЙ ПРОЕКТ - интерактивный комикс (kk scp). Но как и обычно в самый неожиданный момент прозвучала БОЕВАЯ ТРЕВОГА. - Бойцы в ружьё !!!
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
Новогодняя дискотека 2013 на megainformatic точка ru

megainformatic - Программируем на C++ с использованием MFC

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения

megainformatic - Программируем на C++ с использованием MFC - Создание MFC приложения - hello, world !

megainformatic - Как создать игру ? - Пишем игровой движок с нуля

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

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - Общая структура будущего игрового движка

Разное

megainformatic - Как создать игру ? - Пишем игровой движок с нуля - DXUTMainLoop - цикл работы DirectX-приложения

megainformatic - Варианты макетов Психолог 911

megainformatic - Шаблоны для сайтов - что это и какие они бывают ?

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 3 - Кто он ? (who is ?)

megainformatic - Мои Музыкальные Миры - готовая музыка mp3 - новинки 2013 года

megainformatic - Теория и практика хакерских атак - самозащита от нападения

megainformatic - Теория и практика хакерских атак - самозащита от нападения - Способы подмены реального IP

megainformatic - Fruity Loops Studio 9 - Как синтезировать свои сэмплы - изучаем возможности плагина Sytrus

megainformatic - Видоизменяем тему для Wordpress под свои нужды

megainformatic - Flash приложения и игры - Шаг 3 - управляемый шарик

megainformatic - Учимся создавать флеш-игры, что нужно знать для того, чтобы заняться созданием flash приложений и игр ?

megainformatic - Шаг 4 в освоении Flash-технологий - как анимировать персонажа и управлять им

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

megainformatic - megainformatic cms express files + module slider

megainformatic - Создание сайта бесплатно или под заказ

megainformatic - Как создать flash баннер

megainformatic - Разработка flash-приложения для сайта: онлайн примерочная

megainformatic - Мои впечатления о книге - Владислав Крапивин - Журавленок и Молнии

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль короткие ссылки short link

megainformatic - Работа с сокетами fsocket из php

megainformatic - Как создать игру Создание игровых панелей и индикаторов

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - Как я провел лето - интерактивный комикс

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс

megainformatic - Система управления сайтом на php - megainformatic cms admin files

megainformatic - обзор антивирусных средств защиты

megainformatic - как работает антивирус ?

megainformatic - Создание сайта для бизнеса

megainformatic - Новый взгляд на очевидные вещи

megainformatic - Разработка программ на c++

megainformatic - Немного о музыке

megainformatic - GET и POST запросы

megainformatic - для чего нужна карта сайта

megainformatic - Web Администрирование

megainformatic - Мысли о разном

megainformatic - Легко ли быть программистом

megainformatic - Глубины программирования на C++

megainformatic - Убираем лимит на размер импортируемого файла в PhpMyAdmin

megainformatic - Как создать torrent файл

megainformatic - Нужна ли валидация вашему сайту ?

megainformatic - Антивирус DrWeb

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

megainformatic - Что такое BitTorrent (БитТоррент)

megainformatic - Миссис Даутфайр 1993 фильм torrent

megainformatic - Как скачивать торрент-раздачу ?

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 Размещение баннерной рекламы у нас
Время загрузки: 0,0441