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


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

megainformatic - Что нужно для создания собственного сайта ?
        Что нужно для создания собственного сайта ? - Создаем Сайт Своими Р
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
fle game generator - fle генератор игр - fly snow 3d падающий снег - расширяемый генератор визуальных образов, с музыкой mp3, ogg и генерацией игр

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

megainformatic Создание и размещение видео баннера mp4

megainformatic Использование баннер-ротатора

megainformatic fle game engine Simple game / Пример простой игры

megainformatic fle game engine Simple game / Пример простой игры - страница 1 - Спрайты

Creating game on fle game engine - Draw Line - This can be helpful/ Создание игры на fle game engine - Рисование линий - Это может пригодиться.

Платная подписка на fle game engine

megainformatic Создание игры на fle game engine - Simple game - страница 2 - Объекты / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 3 - Объекты / Пример простой игры

Платная подписка на fle game engine

megainformatic Создание игры на fle game engine - Simple game - страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 5 - Отображаем прыгающий шарик, узнаем как задается для спрайта его центр и знакомимся с векторной системой координат / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 6 - Загрузка игровой сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 7 - Перемещения игровой сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 10 - Проверка столкновений / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 11 - Игровой счёт, звуки, музыка / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game extended - страница 1 - Создание новой сцены (уровня, комнаты), добавление новых возможностей / Пример простой игры - расширенная версия

Платная подписка на 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 !

подробнее

Game craft - проект разработки игровых и мультимедийных проектов

Используя знания Game craft я прорабатывал вопросы того, как:

  • Рисовать 2D текстуры и графику в Photoshop;
  • Моделировать 3D модели персонажей, зданий и сооружений, земной поверхности, растительности и др. в 3Ds Max;
  • Писать программный код на C++ и DirectX, чтобы заставить модели двигаться и подчиняться правилам игрового мира;
  • Создавать музыку и звуки в FL Studio, Adobe Audition чтобы привнести в игру соответствующую атмосферу.

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

Итак, Small craft не мудрствуя возьмём за основу прообраз игровой сцены из известной игры Starcraft и попробуем создать нечто подобное своими силами.

Starcraft пример игровой сцены добычи ресурсов

Таким образом, взглянув на картинку мы видим, что нам нужно будет создать:

  • Модель земной поверхности;
  • Модели робота-рабочего, коммандного центра, заводов по переработке газа и минералов, еще пару-тройку каких-либо сооружений (например барак для постройки маринов, завод по производству боевых роботов, научную лабораторию по созданию апгрейдов для боевых юнитов);
  • Модели минералов, источника газа, растительных объектов (трава, деревья, кустарники);
  • Создать простую игровую панель чтобы можно было отдавать приказы имеющимся в игре объектам;
  • Написать программный код, который оживит игровые объекты и позволит ими управлять;
  • Создать музыку и звуки и добавить их в игру;
О том как создать модель коммандного центра уже написал урок Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

Про создание земной поверхности рассказано здесь - Путешествие в мир 3d

Займёмся созданием модели робота рабочего SCV.

Starcraft модель робота рабочего SCV

Starcraft модель робота рабочего SCV

Starcraft модель робота рабочего SCV

моделируем робота scv

подробнее

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

Доброго Вам времени суток, странник интернета !!!

Я давно хотел рассказать о том, как можно создать свой слайдер используя javascript - технологию.

Вы скажете - слайдеров уже готовых в интернете - МОРЕ.

Согласен с Вами. Но все они написаны чужой рукой, а значит знания о том, как они писались остаются за бортом :((

Я же хотел бы пополнить и расширить свои и Ваши знания по языку javascript, его применению и главное - сделать что-нибудь полезное, а не демонстрировать слишком "абстрактные" примеры. ;)

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

Итак, рассмотрим какой html-код требуется для отображения слайдера и что должен делать с этим кодом javascript, чтобы этот код превратился в слайдер.

Если посмотреть код html, относящийся к слайдеру, который отображает браузер, то мы увидим следующее

<div id="gl_slider" style="text-align: center;">

<div id="gl_slider_container">

<div class="timedSlideshow jdSlideshow" id="mySlideshow" style="display: block; "><a class="global" href="">

<div class="slideElement" style="position: absolute; left: 0px; top: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; background-image: url('.$slider_dir.'/images/banner/05.gif); visibility: hidden; opacity: 0; background-position: 50% 50%; "></div>

<div class="slideElement" style="position: absolute; left: 0px; top: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; background-image: url('.$slider_dir.'/images/banner/fl_lessons.jpg); visibility: hidden; opacity: 0; background-position: 50% 50%; "></div>

<div class="loadingElement" style="display: none; "></div><div style="visibility: visible; opacity: 0.7; height: 40px; " class="slideInfoZone"><h2>продукты сайта</h2><p>все продукты нашего сайта</p></div></a> </div> <script type="text/javascript">

countArticle = 0;

var mySlideData = new Array();

mySlideData[countArticle++] = new Array(

'modules/slider/images/banner/05.gif',

'http://localhost/megainformatic_ru/?page=40&banner',

'Уроки Photoshop',

'Если Вы хотите изучить профессиональные методы работы в Adobe Photoshop'

);

mySlideData[countArticle++] = new Array(

'modules/slider/images/banner/ph_draw_and_anim.jpg',

'http://localhost/megainformatic_ru/?page=66&banner',

'Уроки Photoshop - Рисуем и анимируем',

'учимся рисовать и анимировать в photoshop'

);

</script>

<script type="text/javascript">

function startSlideshow() {

var slideshow = new timedSlideShow($('mySlideshow'), mySlideData);

}

addLoadEvent(startSlideshow);

</script>

</div>

</div>

Исходя из этого кода можно сделать такой вывод - в блоке div с id mySlideshow размещаются все картинки слайд-шоу в виде блоков div класса slideElement.

Как можно заметить все они имеют атрибут visibility: hidden;
Т. е. скрытый - поэтому они не отображаются.

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

Как видите в теории это достаточно просто.

Посмотрим что имеет место в скрипте фактически.

Сначала выполняются некоторые подготовительные операции -

countArticle = 0;

var mySlideData = new Array();

mySlideData[countArticle++] = new Array(

'modules/slider/images/banner/05.gif',

'http://localhost/megainformatic_ru/?page=40&banner',

'Уроки Photoshop',

'Если Вы хотите изучить профессиональные методы работы в Adobe Photoshop'

);

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

Адрес изображения

Ссылка для перехода по клику на данное изображение

А также некоторые пояснительные надписи

Затем происходит следующее -

function startSlideshow() {

var slideshow = new timedSlideShow($('mySlideshow'), mySlideData);

}

addLoadEvent(startSlideshow);

Т. е. внутри обработчика функции startSlideshow создается экземпляр класса timedSlideShow и ему передаются параметры -

id блока набора элементов слайдера

и массив описаний к этим элементам.

Далее данная функция добавляется в обработчик события onLoad для загрузчика onLoad страницы.

Это стандартный обработчик, с которого начинают свою работу многие javascript-приложения.

В нашем случае таким приложением как раз является скрипт слайдера.

То что мы рассматривали выше - это так называемая подготовительная часть работы, которая описывает html код слайдера вместе с его содержимым (набором картинок), а также вызов метода для создания яваскрипт-объекта слайдера.

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

На самом деле их всего 3:

<script src="<?php echo $slider_dir; ?>/inc/mootools.release.83.js" type="text/javascript"></script>

<script src="<?php echo $slider_dir; ?>/inc/timed.slideshow.js" type="text/javascript"></script>

<link rel="stylesheet" href="<?php echo $slider_dir; ?>/inc/jd.slideshow.css" type="text/css" media="screen">

файл mootools.release.83.js - представляет из себя подключенную, используемую слайдером библиотеку mootools.

файл timed.slideshow.js - содержит собственно логику работы слайдера.

ну и наконец файл jd.slideshow.css - это собственно описание элементов внешнего вида слайдера.

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

Нам с вами остается собственно кратко познакомиться с логикой работы слайдера (т. е. прокомментировать код, описанный в файле timed.slideshow.js).

Этим Мы с вами займёмся в следующей статье - логика работы слайдера на javascript
подробнее

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

Как я осваивал Flash - содержание

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

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

Как оказалось второй шарик, который создавался в уроке Шаг 2 совсем не нужен.

Давайте сначала посмотрим пример -





Фокус ввода для области в котором размещено флеш-приложение на страничке сайта.

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

Этот простой механизм решает сразу 2 задачи: Ваша флеш игра получает фокус ввода от клавиатуры и стартует игровой процесс.

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

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

Это и есть тот самый фокус ввода.

подробнее

     
  Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)  
     
  модель коммандного центраСкачать готовую модель вы можете кликнув по картинке.  
     
  Этот объемистый урок расскажет Вам как научиться создавать нечто подобное: всем известно, что вышла игра StarCraft 2 компании Blizzard. Об этой игре ходят легенды. Но не дожидаясь когда вам удастся засесть за игру, а также для того, чтобы пополнить свои навыки и умения попробуем вообразить себя "крутым дизайнером" (прямо как из Blizzard) и попробовать создать модель и текстуру для коммандного центра из StarCraft 2.  
     
 

Часть 6

По полученной развертке можно нарисовать готовую текстуру. Сделаем мы это средствами Photoshop.

 
     
  В контексте данного урока хотелось бы остановиться на следующих технических аспектах создания текстуры -  
     
   
     
  Здесь показаны базовые техники взятые из скетча скриншота с которым мы уже работали на протяжении предыдущих частей данного урока.  
     
  Рассмотрим как они создаются. Дополнительную информацию о создании текстур в Photoshop можно прочитать в статье - Изображения для компьютерных игр сборника Уроки Photoshop.  
     
  Сначала создаем некоторую текстурную основу -  
     
   
     
  Смотрим как это будет выглядеть на модели -  
     
   
     
  Замечу, что ваша текстура должна быть размером 768х768 (или даже больше), здесь же будут приводиться примеры 128х128 или 256х256 текстур в целях сокращения объема файлов урока!  
     
 

Далее приступаем к рисованию текстуры. Дополнительную информацию о создании текстур для моделей можно прочитать в уроке Варианты раскраски Уроков Photoshop.

В итоге проделанной работы у Вас может получиться нечто подобное -

 
     
  готовая текстурированная модель Коммандного Центра  
     
  Щелкнув по изображению можно скачать готовую текстурированную модель и текстуру (714 Кб). О том как настроить отображение текстуры в 3ds max если она не отображается было рассказано в статье Подготовка к скелетной анимации .  
     
  Теперь рассмотрим технологию изготовления такой текстуры.  
     
  Удобнее всего запустить 3ds max и Photoshop одновременно, чтобы можно было по мере рисования текстуры наблюдать за тем как это будет выглядеть на готовой модели.  
     
  Способ создания потертостей с металлическим блеском на ребрах модели заключается в следующем -  
     
  Переключаемся в окно 3ds max. Открываем файл sc2_commandcenter_unwrap2.max из архива sc2_cc_unwrap.rar Выбираем Основание Коммандного Центра (base2), в узле стека модификаций раскрываем узел модификатора Unwrap UVW и выбираем Select Face. Нажимаем кнопку Edit и нажав клавишу [Prt Scr/SysRq] делаем скриншот экрана.  
     
   
     
  Переключаемся на Photoshop и создаем новый файл. По умолчанию он будет иметь размеры равные размерам разрешения экрана для которого мы делали скриншот.  
     
  Вставляем скриншот из буфера обмена в созданный файл комбинацией клавиш [Ctrl] + [V] или Edit > Paste.  
     
   
     
  При помощи инструмента Rectangle Marquee Tool выделяем и копируем нужную область скриншота содержащую текстуру с каркасом развертки. Создаем новый файл и вставляем результат в него. Масштабируем до нужных размеров (768х768).  
     
   
     
  По полученному каркасу на отдельном слое будем создавать потертости с металлическим блеском -  
     
  Но сначала на другом слое создадим базовую текстуру. Выбираем цвет переднего плана, например R.G.B = 90.75.131 и заливаем весь слой. Задаем для заднего плана чуть более темный цвет. Применяем фильтр Filter > Render > Fibers (если вы используете не Photoshop 8 и выше, а более ранних версий, то этого фильтра там нет!). Затем применяем Filter > Noise. Дублируем слой и поворачиваем на 90 градусов, устанавливаем непрозрачность порядка 38-45%.  
     
  Связываем и склеиваем созданные текстурные слои (исключая слой содержащий каркасы разверток!). При желании можно произвести цветокоррекцию текстуры.  
     
  Сохраняем файл под именем sc2_cc_tex2.jpg и в 3ds max задаем его в качестве материала для всех объектов модели Коммандного Центра. О том как это сделать говорилось в статье - Подготовка к скелетной анимации .  
     
 

Теперь имея подходящую текстурную основу выполним задуманное.

Создаем отдельный слой. При помощи инструмента Polygonal Lasso обводим нужную деталь по внешнему контуру -

 
     
   
     
  Переходим на слой с текстурой (слой tex на рисунке) и копируем выделенную область [Ctrl] + [C], затем вставляем [Ctrl]+[V] получая новый слой содержащий данный элемент -  
     
   
     
  Теперь слой wire (содержащий изображение каркаса) перетащим выше всех других слоев и установим Непрозрачность 48-52% для него -  
     
   
     
  Теперь установив для Polygonal Lasso режим Add to Selection  
     
   
     
  По внутреннему контуру выделяем области для данной детали -  
     
   
     
  Скрываем слой wire, инвертируем выделение [LCtrl]+[LShift]+[I] и на слое содержащем текстуру для детали Осветляем (установив область воздействия на средние тона - Midtones) внешние участки детали формируя искомый вид потертости с металлическим блеском -  
     
   
     
  Используя эту технику было создано большинство элементов текстуры Коммандного Центра.  
     
  Если использовать ту же технику но с применением не осветления, а Затемнения (Burn Tool), то можно добиться создания впадающих областей или щелей -  
     
   
     
  При создании отдельных деталей можно воспользоваться эффектами Обводки (Stroke) и Рельефности (Bevel and Emboss). Нужно лишь хорошенько поэкспериментировать.  
     
   
     
  Если Вы затрудняетесь сами создать оставшиеся элементы, то дополнительную информацию можно почерпнуть в разделе [Статьи].  
     
  [назад]  
     
     
     
     
  Веселый Буквоежка - игра  
     
 

Как создать игру ? - Программируем сами.

Рассмотрение программирования игр под DirectX 9c на C++ с использованием среды разработки MSVS 2005 или выше.

 
     
  [содержание] [назад] [страница 6] [далее]  
     
  Введение в 2d-игры - анимация и движение героя  
     
  Как нарисовать анимацию подробно описано в статье Рисуем волка из мультфильма  
     
  Как Выглядит анимированный персонаж Вы можете увидеть в деле скачав игру Веселый Буквоежка, либо в утилите Coords2D



Скачать Coords2D -

Размер sfx-архива: 36 Mb. Также содержит много примеров спрайтов и других
изображений из проекта fle, bol и др.

 
     
 

Осталось выяснить:

- как программировать анимированные спрайты;

- как перемещать их по экрану в ответ на действия пользователя;

 
     
  Если взять за основу ПОЛНЫЙ ИСХОДНЫЙ КОД игры, то всё, что связано с анимацией героя Вы найдете в модулях AdventureGame.h и .cpp  
     
  Так, например, метод void CAdventure::Anim(), вызываемый приложением, ответственен за всю анимацию игровой сцены, а метод void CAdventure::Draw() за её отрисовку.  
     
 

Поэтому искать нужный код следует внутри этих методов.

Последовательно просмотрев методы void CAdventure::Anim() > AnimState > AnimGameProcess

вы увидите вызов функции HeroMoveAnim

- это и есть тот самый метод анимации главного героя.

 
     
 

В ответ на нажатие клавиш стрелок Веселый Буквоежка перемещается по игровой сцене.

Вот кусок кода выполняющий рассчет координат x и y героя

 
     
 

float MoveAngle = 0.0f; // направление движения - задается углом в радианах
int SpriteIndex = 1;
bool Mirrored = false;

// в зависимости от направления движения определяемого нажатой клавишей, задаются // начальные параметры для рассчетов

switch ( m_dwFleHeroMoveState )
{
case FleHeroMoveState_MoveLeft: {
MoveAngle = D3DX_PI;
SpriteIndex = FleHero_MoveLeft;

m_bFleHeroLookLeft = true;
break;
}

case FleHeroMoveState_MoveDown: {

MoveAngle = -D3DX_PI * 0.75f;

SpriteIndex = FleHero_MoveRight;
Mirrored = true;

m_bFleHeroLookLeft = true;
break;
}

case FleHeroMoveState_MoveRight: {
MoveAngle = 0.0f;
SpriteIndex = FleHero_MoveRight;

m_bFleHeroLookLeft = false;
break;
}

case FleHeroMoveState_MoveUp: {

MoveAngle = D3DX_PI * 0.25f;

SpriteIndex = FleHero_MoveLeft;
Mirrored = true;

m_bFleHeroLookLeft = false;
break;
}

}

float x_step = 0.0f;
float y_step = 0.0f;

// вычисляем шаг перемещений по x и по y, если нет ограничений движению
x_step = FleHero_MoveSpeedX * g_fElapsedTime * g_fFleHero_MoveSpeed_Decrease;

float OldFleHeroXPos = m_vFleHeroPos.x;

m_vFleHeroPos.x += x_step * (float)cos(MoveAngle);

if ( m_vFleHeroPos.x <= SceneMoveLimitLeft )

m_vFleHeroPos.x = OldFleHeroXPos;

if ( m_vFleHeroPos.x >= SceneMoveLimitRight )

m_vFleHeroPos.x = OldFleHeroXPos;

g_fFleHeroPos_x = m_vFleHeroPos.x;

y_step = FleHero_MoveSpeedY * g_fElapsedTime * g_fFleHero_MoveSpeed_Decrease;

float OldFleHeroYPos = m_vFleHeroPos.y;

m_vFleHeroPos.y += y_step * (float)sin(MoveAngle);

if ( m_vFleHeroPos.y <= SceneMoveLimitDown )

m_vFleHeroPos.y = OldFleHeroYPos;

if ( m_vFleHeroPos.y >= SceneMoveLimitUp )

m_vFleHeroPos.y = OldFleHeroYPos;



TestHeroCollision();

/* Если препятствие слева и герой пытается идти в этом же направлении -
запрет движения
*/

if ( m_CollSide.fromRight && m_dwFleHeroMoveState == FleHeroMoveState_MoveRight )
{
m_vFleHeroPos.x = m_v2FleHeroPosBeforeCollision.x;
g_fFleHeroPos_x = m_vFleHeroPos.x;
x_step = 0.0f;
}
else {
if ( m_CollSide.fromLeft && m_dwFleHeroMoveState == FleHeroMoveState_MoveLeft )
{
m_vFleHeroPos.x = m_v2FleHeroPosBeforeCollision.x;
g_fFleHeroPos_x = m_vFleHeroPos.x;
x_step = 0.0f;
}
}

if ( m_CollSide.fromTop && m_dwFleHeroMoveState == FleHeroMoveState_MoveUp )
{
m_vFleHeroPos.y = m_v2FleHeroPosBeforeCollision.y;
y_step = 0.0f;
}
else {
if ( m_CollSide.fromBottom && m_dwFleHeroMoveState == FleHeroMoveState_MoveDown )
{
m_vFleHeroPos.y = m_v2FleHeroPosBeforeCollision.y;
y_step = 0.0f;
}
}


/*
Если сцена закрыта - запрет движения
*/


m_pGameSceneDataFile->m_fHeroXPosInLocation = g_fHorizontalScrollOffset;
m_pGameSceneDataFile->CalcCurrentSceneNumber();
if ( !CanEnterScene() )
{
x_step = 0.0f;
}


LPD3D9SPRITE spr = GetGameSprite( SpriteIndex, m_pTexArray );

//перемещение по Z сопряжено с перемещениями по Y
m_vFleHeroPos.z = CalcFleHeroZ(m_vFleHeroPos.y + FleHero_YCorrectorForZ,
spr->m_Scale.y, spr->Height);

if ( x_step != 0.0f || y_step != 0.0f )
{
CalcFleHeroScrPos2(Mirrored);

//для учета в других анимациях
m_bFleHeroXMirrored = Mirrored;
}

AnimGameSprite(SpriteIndex, -1, m_pTexArray);

 
     
 

Собственно рисование анимированного персонажа выглядит намного проще -

void CAdventure::DrawStateOfHero()
{

switch ( m_dwFleHeroMoveState )
{

case FleHeroMoveState_MoveLeft: {
DrawFleHero(FleHero_MoveLeft);
break;
}

case FleHeroMoveState_MoveDown: {

DrawFleHeroXMirror(FleHero_MoveRight);
break;
}

case FleHeroMoveState_MoveRight: {
DrawFleHero(FleHero_MoveRight);
break;
}

case FleHeroMoveState_MoveUp: {

DrawFleHeroXMirror(FleHero_MoveLeft);
break;
}

}

}

 
     
  Вопросы связанные со скроллингом игровой сцены, столкновениями, атаками героя, выбором и использованием игровых предметов и многие другие нюансы уже также решены и Вам не нужно ломать над ними голову - достаточно заказать ПОЛНЫЙ ИСХОДНЫЙ КОД игры Веселый Буквоежка  
     
     
  Если у Вас всё же остались вопросы - не стесняйтесь задавать их на форуме или по e-mail.  
     
  [содержание] [назад] [страница 6] [далее]  
     
megainformatic live chat
Начать беседу
X
 

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



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


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