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


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

megainformatic cms express files - Добавление статей на сайт под управлением megainfromatic cms express files
       
подробнее...

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

megainformatic - Подготовка модели к использованию скелетной анимации

megainformatic - Продолжаем Создание скелета для данной модели

megainformatic - Построение ирерархических связей между объектами и основы 3d анимирования

megainformatic - Особенности экспорта моделей и анимации экспортером kWXPort080719 из 3ds max 2009 

megainformatic - Создание модели броневика (Хэд)

megainformatic cms e-mailer

megainformatic cms e-mailer

megainformatic cms e-mailer

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

megainformatic - Путешествие в мир 3d

megainformatic - Путешествие в мир 3d - страница 2

megainformatic - Путешествие в мир 3d - страница 3

megainformatic - Путешествие в мир 3d - страница 4

megainformatic - Путешествие в мир 3d - страница 5

megainformatic - Путешествие в мир 3d - страница 6

megainformatic - Создание модели броневика (Хэд) - Анимация вращения колес

megainformatic cms express files

megainformatic cms express files

megainformatic cms express files

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

megainformatic cms express files - Развертывание сайта на Вашем хостинге

megainformatic - Настольная игра "Веселый Буквоежка"

megainformatic - Уроки delphi directx 8.1

megainformatic - Уроки delphi directx 8.1 - Урок 1 - Введение в Delphi DirectX 8.1. Создание шаблона стартового приложения.

megainformatic - Уроки delphi directx 8.1 - Урок 1 - Введение в Delphi DirectX 8.1. Создание шаблона стартового приложения. Страница 2

megainformatic - Урок 2 Создаем и обрабатываем команды меню.

megainformatic - Урок 2 Создаем и обрабатываем команды меню. Страница 2

megainformatic - Урок 3 Оконный и полноэкранный режимы работы D3D-приложения. Управление игрой средствами DirectInput8

megainformatic - Урок 3 Оконный и полноэкранный режимы работы D3D-приложения. Управление игрой средствами DirectInput8 - Страница 2

megainformatic - Урок 3 Оконный и полноэкранный режимы работы D3D-приложения. Управление игрой средствами DirectInput8 - Страница 3

megainformatic - Урок 4 Построение класса приложения

megainformatic - Урок 4 Построение класса приложения - Страница 2

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

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

megainformatic - Урок 6 Игровая логика

megainformatic - Заметки по joomla - JFolder::create: Path not in open_basedir paths. Что это?

megainformatic cms express files - Добавление статей на сайт под управлением megainfromatic cms express files

megainformatic - Урок 7 2D-анимация

megainformatic - Урок 8 Загрузка/Сохранение текущей игры, режим паузы, режимы часов/будильника, запуск браузера Internet Explorer для показа сайта разработчика и других интернет-ресурсов

megainformatic - Урок 9 Тестирование и отладка приложения

megainformatic - Мои Музыкальные Миры

megainformatic - уроки Photoshop free

megainformatic cms express

megainformatic cms express

megainformatic cms express

megainformatic cms express files

megainformatic - Методы создания растровых изображений в Adobe Photoshop

megainformatic - Создание фотореалистичной текстуры травы

megainformatic - Рабочее пространство Adobe Photoshop

megainformatic - Бесшовные (тайловые) текстуры

megainformatic - Создание изображений огня, воды, неба

megainformatic - Создание текстур горных пород и суши (урок 5)

megainformatic - Рисование персонажей (урок 6)

megainformatic - Рисование фона (урок 6 часть 2)

megainformatic - Рельефные изображения

подробнее

Уроки css - атрибут position

Сегодня Мы с Вами рассмотрим применение атрибута position

[к содержанию]

Приготовьтесь много экспериментировать, потому что настоящая верстка - это эксперименты, пробы и ошибки.

Особенно когда речь заходит о кроссбраузерности - т. е. одинаковом результате в разных браузерах.

Сначала приведу пример использования -



Красный блок - это DIV, описанный таким кодом -

<div style="float: left; width: 400px; height: 180px; background: #cc0011;">
</div>


Т. е. float: left - привязывание блока к левому краю контейнера (блока, его содержащего) - в нашем примере таким контейнером является внешний DIV, в котором находится данная статья.

Далее думаю понятно: width: 400px - ширина блока 400 пикселей
height: 180px - высота - 180, сразу дам совет если ваш блок планируется "резиновым" по высоте, тогда не указывайте атрибут height.

Соответственно цвет фона для блока - красный - background: #cc0011

Внутри красного блока DIV как видим расположен грязно-желтого цвета блок DIV.

Чтобы он остоял от левого края своего контейнера на 140 пикселей и от верхнего края на 50 пикселей зададим такой код -

<div style="position: relative; top: 50px; left: 140px; z-index: 1000; width: 200px; height: 80px; background: #aacc00;">
</div>


С шириной и высотой, а также цветом фона думаю Вам всё понятно, а вот новые атрибуты требуют пояснения

position: relative - задает расположение блока DIV "относительным" - т. е. смещения указанные у left и top задают относительное смещение внутри "родительского" контейнера - т. е. контейнера в котором расположен наш желый блок - по отношению в внешнему - красному блоку.

И вот тут таится главная ошибка всех НАЧИНАЮЩИХ ВЕРСТАЛЬЩИКОВ -

ИСПОЛЬЗОВАНИЕ position ТАМ, ГДЕ ЭТО СОВСЕМ НЕ НУЖНО.

!!! ПРАВИЛЬНО РЕШЕНИЕ ТАКОВО - используйте position там, где можно обойтись обычным float + margin. !!!

Т. е. блоки нужно выравнивать друг относительно друга с помощью атрибута margin - тот же самый пример более правильно записать так -



<div style="float: left; width: 400px; height: 180px; background: #cc0011;">

<div style="float: left; margin: 50px 0 0 140px; width: 200px; height: 80px; background: #aacc00;">
</div>

</div>


Внешне как видите никакой разницы. Но если использовать несколько блоков DIV внутри одного и того же контейнера, то разница будет ОЧЕНЬ ОЩУТИМА.

Посмотрим пример -



<div style="float: left; width: 400px; height: 180px; background: #cc0011;">

<div style="float: left; margin: 50px 0 0 40px; width: 60px; height: 60px; background: #22cc00;">
</div>

<div style="float: right; margin: 50px 0 0 40px; width: 60px; height: 120px; background: #220000;">
</div>

</div>


Пока всё просто :))))

А что если бы было вот так ?









<div style="float: left; width: 400px; height: 180px; background: #cc0011;">

<div style="float: left; margin: 50px 0 0 40px; width: 260px; height: 60px; background: #22cc00;">
</div>

<div style="float: left; margin: 50px 0 0 40px; width: 60px; height: 120px; background: #220000;">
</div>

<div style="float: left; margin: 50px 0 0 40px; width: 50px; height: 30px; background: #774100;">
</div>

</div>


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

Использование position позволяет избежать такого поведения -









<div style="float: left; width: 400px; height: 180px; background: #cc0011;">

<div style="position: relative; top: 50px; left: 40px; z-index: 1000; width: 260px; height: 60px; background: #22cc00;">
</div>

<div style="position: relative; top: 50px; left: 40px; z-index: 1000; width: 60px; height: 120px; background: #220000;">
</div>

<div style="position: relative; top: 50px; left: 40px; z-index: 1000; width: 50px; height: 30px; background: #774100;">
</div>

</div>


Но как видите приводит к тому, что места теперь уже хватило лишь 1 блоку.

Остальные блоки оказались совсем не там, где ожидалось.

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

МЫ ПОДОШЛИ К ГЛАВНОМУ - вы наверное уже заметили использование нового атрибута - z-index





<div style="float: left; width: 400px; height: 180px; background: #cc0011;">

<div style="position: relative; top: 0; left: 0; z-index: 1000; width: 260px; height: 60px; background: #22cc00;">
</div>

<div style="position: relative; top: -20px; left: 10px; z-index: 1001; width: 60px; height: 120px; background: #220000;">
</div>

<div style="position: relative; top: -40px; left: 10px; z-index: 1002; width: 50px; height: 30px; background: #774100;">
</div>

</div>






<div style="float: left; width: 400px; height: 180px; background: #cc0011; position: relative; top: 0; left: 0; z-index: 900;">

<div style="position: absolute; top: 0; left: 0; z-index: 1000; width: 260px; height: 60px; background: #22cc00;">
</div>

<div style="position: absolute; top: -20px; left: 10px; z-index: 1001; width: 60px; height: 120px; background: #220000;">
</div>

<div style="position: absolute; top: -40px; left: 10px; z-index: 1002; width: 50px; height: 30px; background: #774100;">
</div>

</div>


z-index всегда применяется совместно с position, поскольку без него просто не работает,
а используется он для позиционирования блоков по оси z - т. е. блоки с меньшими z располагаются на заднем плане, а блоки с большим z - поверх них.

Именно для такого позиционирования и правильно применять атрибут position, а во всех остальных ситуациях старайтесь обходиться простыми float + margin как было показано выше или вообще сверстать нужную часть страницы не блоками DIV, а при помощи TABLE (таблицы).

Считать, что "ДИВНАЯ" верстка более современна, а "ТАБЛИЧНАЯ" якобы устарела - в корне неправильно !

Почему ?

Да потому что бывают такие ситуации в верстке, когда обойтись без таблиц просто невозможно, особенно в плане поддержки очень старых браузеров, таких как IE 6, IE 5.5 или ниже.

Простой пример - красивое оформление форм - с позиционированием элементов по левому, правому краю. (см. например ФОРМУ ВХОДА нашего сайта или ФОРМУ для отправки комментариев).

Главное правило тут такое - старайтесь применять верстку DIVами, а когда это невозможно - таблицами. Тогда ваша верстка будет более универсальной и в то же время - отвечать требованиям времени.

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

Удачи !

[к содержанию]

подробнее

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

WEB-технологии

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

Это своего рода ноу-хау, возможно общеизвестные, а возможно и специфичные.

Идея такого справочника по технологиям давно витала в воздухе, посмотрим что получится из этого.

Итак,

 
     
 

Пример выполнения простейшего AJAX-запроса

Код можно посмотреть здесь -sample

 
     
  Пример выполнения - sample  
     
 

Код для файла vote.php -

<?php
sleep(3);
echo 'Ваш голос принят!';

?>

 
     
     
     
     
     
  Другие уроки можно посмотреть в разделе Статьи  
     
подробнее

Особенности создания игры на движке с открытым исходным кодом fle game engine

В данной статье рассмотрим ключевые особенности движка fle game engine

Скачать его можно тут - fle game engine скачать

Когда мы размышляем о создании своей будущей игры мы всегда представляем нечто такое:

super mutant alien assault

cattails

forager

hollow knight

fantastic dizzy



Конечно чаще всего наши мечты не совсем или совсем не соответствуют реальности.

Но как говорится, мы работаем над этим.

Допустим, я хочу создать такую игру -

моя игра

Чем мне может помочь fle game engine и в чем его ключевые особенности и отличия
от других движков для создания игр ?

1) fle game engine не обладает такими возможностями как Game Maker или Unity 3d и
тягаться с ними в этом плане он не сможет.
Но как это ни странно, в целом игры не слишком сильно зависят от используемого
движка в плане качества исполнения и успешности. Тут в первую очередь играет
роль упорство и усидчивость, кропотливая работа и усердие.

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

Он никогда не сделает игру за Вас и никогда не сделает её лучше,
чем есть он сам.

Хорошо, какими же тогда возможностями обладает fle game engine ?

На fle game engine можно создать игру используя c++ и платформу directx 9
под Windows.

Исходный код движка и всех примеров является полностью открытым.

2) fle game engine не претендует на оптимальность и универсальность, но
поскольку весь исходный код открыт - Вы вполне можете исправить то, что
Вам кажется не таким как Вам хотелось бы.

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

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

Именно поэтому большинство игр создаются на собственных движках, написанных
с нуля и специально для данного проекта. fle game engine не требует
от Вас отказа от этого варианта, но может послужить хорошим стартом или
даже основой вашего собственного более расширенного движка.

У движков не ставящих открытость кода во главу угла это может быть весьма
проблематично.

3) В состав fle game engine входят следующие инструменты:

SceneEditor - редактор сцен

SceneEditor - редактор сцен для fle game engine

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

SceneEditor - редактор сцен для fle game engine

SceneEditor - редактор сцен для fle game engine

здесь описаны некоторые из основных возможностей
SceneEditor.

То есть SceneEditor позволяет вам создавать полноценные уровни и 2d сцены и загружать их
в игру.

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

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

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



Утилита Coords 2D.

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

Утилита Coords 2D для fle game engine

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

Пример того как это происходит, а также пример работы с утилитой Coords 2D
описан в уроке Спрайты

В состав дистрибутива fle game engine

Скачать его можно тут - fle game engine скачать

Также входит весь необходимый исходный код, а также набор уроков
и исходный код игры simple game.

Пройдя курс уроков Вы сможете усвоить ключевые особенности работы с fle game engine.

Они сводятся к следующим его функциональным особенностям:

Классы для работы со статичными и анимированными изображениями в форматах tga, jpg, dds,
и их вывод на экран в виде фонов, игровых объектов и спрайтов.

Классы для воспроизведения звуков wav средствами DirectSound 8.

Классы для работы с файлами игровых сцен и локаций.

Модуль для воспроизведения музыки mp3, ogg - используется библиотека fmodex.

Классы управления игрой от мыши и клавиатуры средствами DirectInput 8.

А также многое другое, что Вы найдете в уроках и исходном коде.

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

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

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

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

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

Создание любой игры не сводится только к написанию кода и Вы это прекрасно знаете.

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

fle game engine Шарики на лифте + Как создать игру.

fle game engine Шарики на лифте + Как создать игру

Ну и наконец игры созданные на fle game engine - их Вы тоже можете скачать на сайте.







примеры 3d игр созданных на fle game engine с исходным кодом:

игры созданы на платформе delphi 7 directx 8.1

donuts 3d

scene2game

пример 3d игры созданной на fle game engine (открытый исходный код есть, но пока здесь не выложен).

нечто: необъяснимое

нечто: необъяснимое

нечто: необъяснимое

нечто: необъяснимое

нечто: необъяснимое 3d редактор сцен map editor

подробнее

     
  Выгрузка файла на сайт со страницы сайта  
     
 

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

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

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

Укажите файл который нужно выгрузить

 
  Сам код формы выглядит следующим образом -

 
     
  Форма обязательно должна содержать атрибут enctype="multipart/form-data" и метод отправки данных для формы должен быть описан как method="post" Атрибут enctype="multipart/form-data" указывает MIME-тип отправляемых формой данных (Multipurpose Internet Mail Extensions), а метод отправки post единственно возможный для передачи файлов, т. к. методом get можно отправлять лишь небольшие объёмы информации, а передать файл невозможно в принципе.

Далее мы просто указываем какой скрипт action="papers/sitecre/upload_file/upload_file.php" должен выполняться для обработки отправляемых формой данных, а также указываем имя и ID для формы.

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

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

Следующим пунктом указывается поле input с такими атрибутами - type="file" name="upload_file" accept="text/plain" Т. е. в данное поле будет загружен файл, обратиться к данным файла можно будет по указанному имени name, а атрибут accept указывает тип загружаемого файла - обычный текстовый. Правда данный атрибут поддерживается только некоторыми браузерами, поэтому его указание не обязательно.

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

 
     
  Теперь перейдём к пояснениям

function read( $cfile, $razd = "|" )
{
	$open = fopen( $cfile, "a+" );
	while (( $dan = fgetcsv( $open, 2048, $razd )) !== false )
	{
		$rec[] = $dan;
	}
	return $rec;
}
так мы запишем небольшую функцию, которая в данном случае будет открывать указанный ей файл с именем $cfile и обрабатывать его как CSV - т. е. текстовый формат представления табличных данных. В качестве разделителя используется указанный символ |. Данная функция полностью преобразует указанный CSV файл в массив.

$loc_ru = setlocale(LC_ALL, 'ru_RU@russia', 'ru_RU', 'rus_rus');

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

$csv_file_size = $_FILES['upload_file']['size'];

Этой строкой мы получаем из глобальной переменной $_FILES размер выгруженного файла

if ( $csv_file_size == 0 )

Далее следует проверка - если размер файла нулевой - снова выводим форму для выгрузки файла

Если размер больше нуля выполняем дальнейшую проверку

if ( $_FILES['upload_file']['error'] == UPLOAD_ERR_OK )

Успешно ли прошла выгрузка файла

Если успешно -

$our_file_extention_correct = FALSE;

$upload_file = $_FILES['upload_file']['name'];

echo 'Вы загрузили файл '.$upload_file;

echo 'Тип файла '.$_FILES['upload_file']['type'];

$csv_uploaded_serverside_filename = $_FILES['upload_file']['tmp_name'];

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

 
  $dot_pos = strrpos($upload_file, ".");

Ищем точку в имени файла начиная с конца строки.

if ( $dot_pos !== FALSE )

Если точка найдена -

$file_extention = substr($csv_import_emails_file, -3);

Выбираем последние три символа из имени файла

if ( $file_extention == "csv" || $file_extention == "CSV" )

$csv_file_extention_correct = TRUE;


И сравниваем с нужным нам расширением

if ( !$csv_file_extention_correct )

{

echo 'Неверный тип файла, попробуйте еще раз !Назад';

}

Если расширение неверное - выводим сообщение об этом

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

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



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

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

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

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



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


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