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


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

megainformatic Использование баннер-ротатора
Использование баннер-ротатора Чтобы ваши баннеры могли отображаться на других сайтах и форумах в подписи - используйте такой код -
подробнее...

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

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Уроки Photoshop

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 4

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 4

megainformatic - Эмулятор игры Ну, Погоди!

megainformatic - Оплата заказа через Сбербанк

megainformatic - Пример игры с исходным кодом Donuts3D

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - программируем сами

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - создаем игровую оболочку

megainformatic - Открытый Полный Исходный код игры Дорога в Город

megainformatic - Как создать игру - Веселый Единственный Буквоежка - программируем основу будущей игры

megainformatic - Как создать игру - Веселый Единственный Буквоежка - выводим заставку

megainformatic - Как создать игру - Веселый Единственный Буквоежка - игровое меню

megainformatic - Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

megainformatic - Примеры моих работ

megainformatic - Музыкальные темы

megainformatic - Уроки Photoshop - Чудеса

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Онлайн Обучение, Репетитор

megainformatic - Уроки Photoshop - Рисуем и Анимируем

megainformatic - Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

megainformatic - Уроки Photoshop - Рисуем и Анимируем на AllSoft.ru

megainformatic - DirectX 9c - Изучаем пример MultAnimation

megainformatic - megainformatic cms Система Управления Контентом

megainformatic - Темы для WordPress

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

megainformatic - Итоги 2010 года

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - как создать инсталлятор для собственной cms

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

Нововведения в megainformatic cms

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

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

megainformatic - Выгрузка файла на сайт

megainformatic - выпадающее меню на html и css

megainformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

подробнее

     
 
Урок 8 Загрузка/Сохранение текущей игры, режим паузы, режимы часов/будильника, запуск браузера Internet Explorer для показа сайта разработчика и других интернет-ресурсов
 
О том, что потребуется для данного урока читайте в основном разделе - уроки delphi directx 8.1
 
Далее у читателя подразумевается наличие базовых знаний языка Delphi.
 
[назад] [страница 1] [далее] [к содержанию]
 

Самым простым в данной теме будет рассмотрение вопроса как запустить браузер Internet Explorer для показа нужного html-документа в режиме off- или on-line, поэтому с этого мы и начнём.

В проекте игры "Ну, Погоди!" если исходный код у Вас под рукой и открыт, Вы увидите, что при выборе пункта меню ? > Сайт Мега Информатик выполняется такой код -

procedure TMainForm.VisitSiteHelpItemClick(Sender: TObject);
begin
VisitSiteForm.OpenSitePage;
end;

 

Работа формы VisitSiteForm реализована в модуле VisitSiteU.pas

Окно формы сделано самых минимальных размеров и на него добавлен компонент TWebBrowser из палитры Internet.

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

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

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

Для режима on-line нужно передать браузеру ссылку на требуемый интернет-ресурс и если соединение в данный момент установлено, то нужная страница будет отображена.

 

Реализация в игре "Ну, Погоди!" режима паузы также достаточно проста.

Для этих целей в классе приложения TD3DGameApp используется поле

m_bPaused: Boolean;

Если выполнить поиск по фразе m_bPaused в коде модуля Main.pas, то Вы увидите все части кода, в которых используется данное поле.

Например, в коде метода TD3DGameApp.FrameMoveGameSituation отвечающем за формирование игровой ситуации есть такие строки -

if m_bPaused then begin
DXUtil_Timer(TIMER_RESET);
Exit;
end;

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

В каких еще местах и каким образом используется поле m_bPaused посмотрите самостоятельно в исходном коде игры "Ну, Погоди!"

 

Режимы часов/будильника. Для этих режимов применяются специальные состояния приложения: gmTimer, gmSetAlarm

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

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

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

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

Для понимания работы по загрузке/сохранению текущей загляните в реализацию методов обработки пунктов меню Загрузка и Сохранение.

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

Для идентификации файла загрузки/сохранений применяется проверка расширения, размера файла и идентификационной метки в начале блока данных.

Работа с файлом данных реализована на базе класса TFileStream.

За конкретной информацией о реализации снова обращаю Вас к исходному коду.

 

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

Для лучшего уяснения того, как создать собственную игру на платформе delphi directx 8.1 начните с 1 урока, возьмите за основу шаблон стартового приложения, разберите как оно работает, а затем постепенно наращивайте функциональность кода добавляя всё новые и новые, доступные для понимания на каждом этапе части кода.

Так постепенно Вы придете к законченному игровому проекту.

 

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

Кое-что об этом рассказано в следующем уроке.

 
[назад] [страница 1] [далее] [к содержанию]
 
     
     
     
     
подробнее

2.02.2019

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

fle game generator - эффекты под музыку и без на движке fle game engine - урок 2 - переходим к более сложным эффектам - вращение 3d объектов



В верхней части сайта Вы наверное уже заметили вращающийся кубик.

Зададимся целью решить эту вообщем-то достаточно тривиальную, но в то же время
базовую задачу.

То есть попробуем научиться создавать визуальный эффект вращающейся 3d модели
на примере 3d куба.

Научившись делать это, Вы сможете вращать и другие модели и, что самое важное -
узнаете основные принципы трансформаций 3d объектов в сцене.

Вам наверное было бы интересно знать, как реализовано перемещение 3d кубиков (или 3d сфер,
которые мы создали в предыдущем уроке -
fle game generator - эффекты под музыку и без на движке fle game engine

Скоро Вы это узнаете. А сейчас давайте изучим как вращать куб.

Самое простое - это реализовать поставленную задачу на уже реализованном примере.
Наши кубики в сцене летят. Но их много. Кроме того, в предыдущем уроке -
fle game generator - эффекты под музыку и без на движке fle game engine
у нас стали летать не кубики, а сферы.

fle game generator - 4 вида 3d шариков

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



Поэтому проделаем следующие шаги:

1) вернем снова в сцену летающие кубики вместо летающих сфер.

Как это сделать Вы можете догадаться из предыдущего урока
fle game generator - эффекты под музыку и без на движке fle game engine

fle game generator - 4 вида 3d кубиков и 2d снег

2) Отключим временно отображение 2d визуальных эффектов, чтобы
они нам не мешали.

все что требуется это открыть в MSVS 2005 проект fgg (его можно скачать по ссылке
из предыдущего урока fle game generator - эффекты под музыку и без на движке fle game engine)

найти файл start.cpp и в нём закомментировать строку

//g_Snow.Draw();

Но если делать более изящно, то лучше сделать так:

В класс CD3DGameApp

добавить переменную bool типа

в модуль
start.h

class CD3DGameApp
{
public:

//...

bool			m_b_Show_2d_visual_effects;

а в модуле

start.cpp

Добавить такие строки кода -



CD3DGameApp::CD3DGameApp() //в данный метод
{

//...

//после строки
	m_bPauseMusic = true;
//добавляем
	m_b_Show_2d_visual_effects = false;


void CD3DGameApp::LoadParams() //в данный метод
{
//после строки
	g_MusicThemes.m_iPlayMode = m_iMusicPlayMode;
//добавляем
	int i_show_2d_visual_effects = (int)floor(m_Params->GetValue(3));
		if ( i_show_2d_visual_effects < 1 )
			m_b_Show_2d_visual_effects = false;
		else
			m_b_Show_2d_visual_effects = true;
			
			
			


HRESULT CD3DGameApp::Render(IDirect3DDevice9* pd3dDevice) //в данный метод
{

//...
//добавляем
if ( m_b_Show_2d_visual_effects )
//перед строкой
	g_Snow.Draw();
	
	
	
HRESULT CD3DGameApp::FrameMove()) //в данный метод
{

//...
//добавляем
if ( m_b_Show_2d_visual_effects )
//перед строкой
	g_Snow.FallSnow();



В файле

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

добавляем в самый конец новую строчку -

show_2d_visual_effects=1; //отображать 2d визуальные эффекты 0 - нет, 1 - да

Сохраняем изменения.

Компилируем приложение. Запускаем.

Теперь при каждом старте

путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

Можно через файл

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

задавать режим отображения визуальных эффектов.

Если зададим 0 - сохраним изменения и затем запустим
путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

увидим что 2d визуальный эффект падающий снег - пропал.

Закроем приложение по нажатию клавиши [Esc].

Теперь в файле
путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

зададим как
show_2d_visual_effects=1; //отображать 2d визуальные эффекты 0 - нет, 1 - да

Сохраняем, снова запускаем
путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

2d снег стал виден снова.

Таким образом Мы вынесли настройку отображения 2d визуальных эффектов в виде
падающего снега в файл настроек
путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\base\params.txt

fle game generator - 4 вида 3d кубиков



3) У нас слишком много летающих кубиков. Сделаем, чтобы летал всего 1.

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

В модуле start.cpp летящие кубики отображаются строкой кода
g_Snow3D.Draw();

объект g_Snow3D

приведет нас к классу CSnow3D,
который объявлен в модуле snow_3d.h

Найдите модуль snow_3d.h в папке scripts/snow в окне Solution explorer

fle game generator - модуль snow_3d.h в папке scripts/snow в окне Solution explorer

строка кода
#define Snow3dParamsFile L"\\Media\\textures\\snow\\3d\\params.txt"

говорит сама за себя.

Т. е. в папке \\Media\\textures\\snow\\3d\\ есть файл

params.txt

где нужно всего лишь указать 1 параметр

вместо
snows_num=500; //число снежинок

написать как
snows_num=2; //число снежинок

Сохранить изменения в файле и перезапустить приложение

путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

Почему я указал 2 снежинки, т. е. 2 кубика, а не 1 ?

Дело в том, что 1 кубик Вы можете даже не увидеть. Особенно если
он движется где-то под плоскостью пола.

А вот 2 - увидите наверняка !

fle game generator - 1 летящий красный кубик

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

Это уже чуть сложнее.

Но я надеюсь вы разберетесь.

А вот и ответ:

В модуле start.cpp анимация происходит в методе
CD3DGameApp::FrameMove

Там же есть строчка кода
g_Snow3D.FallSnow();

Уже знакомый вам объект g_Snow3D

не правда ли ?

Остается заглянуть в реализацию метода

CSnow3D::FallSnow

в модуле snow_3d.cpp

вместо строк


//анимируем падение снежинок

		pSnow->m_Position.x += g_fElapsedTime * pSnow->Speed.x;
		pSnow->m_Position.y += g_fElapsedTime * pSnow->Speed.y;
		pSnow->m_Position.z += g_fElapsedTime * pSnow->Speed.z;
		


написать


		pSnow->m_Position.x += g_fElapsedTime * pSnow->Speed.x * 0.0f;
		pSnow->m_Position.y += g_fElapsedTime * pSnow->Speed.y * 0.0f;
		pSnow->m_Position.z += g_fElapsedTime * pSnow->Speed.z * 0.0f;		
		


То есть вся суть в том, что поскольку скорость перемещений кубика
по осям x, y, z всегда будет равна 0, то кубик никуда
перемещаться не будет.

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

модуль start.cpp

метод
CD3DGameApp::Render

строку RenderFloor(pd3dDevice);

закомментировать

//RenderFloor(pd3dDevice);

Сохраняем изменения, выполняем сборку проекта, запускаем.

Получаем результат.

fle game generator - 1 неподвижный красный кубик

Правда когда пол отображается существенно легче ориентироваться
в 3d пространстве перемещая и вращая камеру.

А когда вокруг черным черно - то Вы легко можете заблудиться
в сцене.

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

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

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

Клавиши и мышь управляют нашей камерой и это описано
в readme.txt который есть внутри папки

путь_к_папке_исходных_файлов_fgg\fgg\fgg\

[Enter] - переключение в полноэкранный/оконный режим

[Esc] - выход из приложения


клавиша [F] - скрыть/показать FPS и другие параметры.

клавиша [M] - скрыть/показать кнопку настроек экрана.

клавиша Пробел - следующая заставка

клавиша [R] - включить/остановить воспроизведение музыки

клавиша [T] - перейти к воспроизведению следующего муз. трека
(независимо от заданного режима воспроизведения музыки).


Управление камерой:

левая или правая или средняя кнопка мыши + перемещение указателя мыши - изменение угла
обзора из камеры.

Клавиши управления курсором - основные или на доп. клавиатуре или
W, A, S, D - перемещение в 3d пространстве.

Q, E - перемещение камеры вверх/вниз
Но сначала, как и обещал узнаем все-таки как сделать наши
кубики вращающимися.

Это делается достаточно просто -

в модуле snow_3d.cpp

находим метод
CSnow3D::Draw



открываем его реализацию в модуле
models.cpp

CD3D9Mesh::Draw(

там есть метод

CD3D9Mesh::SetupMatrices(

который собственно и отвечает за все трансформации
летающих 3d кубиков - вращения, перемещения, изменения масштаба.



вместо строки
m_f_Y_Rotation = 0.0f;

создать строку
m_f_Y_Rotation += g_fElapsedTime * 1.0f;

Сохранить изменения. Собрать и запустить приложение.

Чтобы 3d кубики было лучше видно я сделал снова, чтобы кубики
перемещались и изменил для них такие параметры



путь_к_папке_исходных_файлов_fgg\fgg\fgg\\Media\textures\snow\3d\params.txt

сделал 10 кубиков и крупнее их размер
snows_num=10; //число снежинок

min_snow_scale=100.0f; //мин. размер снежинок
max_snow_scale=100.0f; //макс. размер снежинок



Вот что у меня получилось

fle game generator - вращающиеся кубики

Анимация будет не такой прерывистой как на показанном рисунке,
а более плавной.

Просто для демонстрации я использовал gif изображение
содержащее всего 4 кадра анимации.

подробнее

     
 
megainformatic cms e-mailer

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

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

 

Стоимость: 1800 руб.

 
     
 

Система Управления Вашим сайтом - 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 - это уникальная система, работающая без баз данных и состоящая всего из ОДНОГО!!! исполнимого файла.

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

 
     
  Добро пожаловать в мир электронных знаний !!!  
     
подробнее

     
  [Другие статьи]  
     
  JFolder::create: Path not in open_basedir paths. Что это?  
     
 

JFolder::create: Path not in open_basedir paths. Что это?

Внимание! - Не удалось переместить файл
Выводит, когда я пытаюсь установить плагин на сервере. На localhost всё работает.

 
     
 

Решение 1:

проверьте, чтобы в configuration.php были правильно прописаны пути к папкам logs и tmp.
А также они должны быть открыты на запись (chmod 777)

 
     
 

Решение 2:

1. Находим файл folder.php он лежит в директории /libraries/joomla/filesystem/folder.php
2. Находим 194 строку $obd = ini_get('open_basedir') и отключаем её, т.е. ставим впереди этой строки //

У вас должно получится:

// We need to get and explode the open_basedir paths
// $obd = ini_get('open_basedir');

После установки нужных компонентов (модулей) рекомендуется вернуть изменение к исходному виду.

 
     
     
     
Содержимое данной страницы доступно только зарегистрированным пользователям.



Пожалуйста войдите на сайт - Вход

или пройдите процедуру регистрации - Регистрация

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

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



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


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