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


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

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

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

megainformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

megainformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

megainformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

megainformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

megainformatic - Создание музыки и звука: теория и практика создания трэкерской музыки

megainformatic - Инструкция по оплате услуг средствами WebMoney

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

megainformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

megainformatic - Основы IDirectMusic8 в среде Delphi6-7

megainformatic - Основы DirectInput8 в среде Delphi 7

megainformatic - Основы DirectSound8 в среде Delphi6-7

megainformatic - Плагин для 3DS MAX из DX9 SDK

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

megainformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

megainformatic - Уроки 3ds max - Введение в 3ds max

megainformatic - ГАЛЕРЕЯ 3D-моделей

megainformatic - СОЗДАНИЕ МАКЕТА ПОМЕЩЕНИЯ

megainformatic - Создание макета помещения - этап 2

megainformatic - МОДЕЛИРОВАНИЕ НА УРОВНЕ МНОГОУГОЛЬНИКОВ

megainformatic - СОЗДАНИЕ ПРЕДМЕТОВ ОБСТАНОВКИ ПОМЕЩЕНИЯ

megainformatic - Моделирование обстановки помещения

megainformatic - Создание модели автомобиля

megainformatic - Создание текстурной развертки для модели автомобиля

megainformatic - Создание анимации вращающихся колес автомобиля

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

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

подробнее

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

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



read paper in english

Это самый волнующий момент - ведь Ваша будущая игра уже рождается !





Содержание

страница 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. Мульти анимация







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

Но всего этого не будет если программный код не оживит их.

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

Теперь время, пришло. Итак, начнём по-порядку.

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

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

Если вы откроете папку

SceneEditor\Media\params\

то найдете там файл

params.txt

в нём каждый параметр сопровождает комментарий, вот пример содержимого этого файла.

grid_cell_width=100.0f; //длина ячейки сетки в пикселях
grid_cell_height=100.0f; //ширина ячейки сетки в пикселях
grid_mode=7.0f; //0.0f - не показывать сетку, 1.0f - не используется, >2.0f && <= 7.0f сегментная сетка, >7.0f - полная сетка
grid_color=0xFFA445D5; //цвет линий сетки первая пара цифр FF - от 00 до FF задает полупрозрачность, остальные задают RGB цвет
snap_to_grid=1; //0 - не привязывать объект к опорным точкам сетки по клику, 1 - привязывать
info_text_color=0xFFFFFFFF; //цвет информационных надписей, первая пара цифр FF - от 00 до FF задает полупрозрачность, остальные задают RGB цвет
grid_scroll_speed=50.0f; //скорость скроллинга сетки и игровой сцены
bg_fill_color=0xFFAEAEAE; //цвет для заполнения фона пустой сцены
scene_width_in_cells=20; //размер сцены по ширине - число блоков в ширину
scene_height_in_cells=16; //размер сцены в высоту - число блоков по высоте


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

Следует отметить, что настройки надо задать и сохранить изменения до запуска Scene Editor fge.

Если же Вы хотите изменить их когда редактор Scene Editor fge уже запущен - тогда Вам нужно сохранить результат текущей работы и закрыть программу. После внести изменения в файл params.txt и запустить Scene Editor снова.

Только после этого сделанные настройки вступят в силу.

Создание новой сцены во fle game engine - в редакторе сцен Scene Editor 1.0.2 - сцена готова - шарик в яме

В нашей учебной игре, шарик должен будет уворачиваться от ям, пол должен стать перемещаем от движений мышью. Где-то должен будет учитываться и выводиться игровой счёт за успешные попытки ловли шарика в яму. Файл сцены и все игровые ресурсы должны быть загружены вашим игровым приложением. В игру мы также добавим 2 звука - звук успешной ловли шарика в яму и неуспешной, а еще фоновую mp3 музыку.

Не буду вас больше томить ожиданием, приступим !

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

Такой код уже есть в составе fle game engine и мы просто возьмем его "КАК ЕСТЬ".

Код моего проекта, я условно буду называть simple game.

Вы конечно же можете назвать свой проект, как угодно.

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

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

1) Нам нужно загрузить созданную сцену в наше приложение и показать на экране.

2) Загрузить и отобразить спрайт шарика - поскольку он не является частью сцены и будет работать от неё отдельно.

3) Научиться управлять перемещением сцены - чтобы она двигалась при перемещениях мыши.

4) Реализовать возникновение игровых ситуаций: чтобы шарик начал двигаться и уворачиваться от ям, а также проверку и вывод его попадания в яму и учёт игровых очков.

5) Также надо будет выводить набранный игроком игровой счёт за успешные попадания шарика в ямы.

6) Добавить звуки - звук успешного попадания шарика в яму и звук промаха.

7) Добавить фоновую mp3 музыку.

8) Возможно у вас возникнут какие-то еще дополнительные вопросы, которые придется решить.





Для создания нашего приложения мы будем использовать среду разработки Microsoft Visual Studio 2005.

Для нормальной компиляции и сборки примеров Вам также потребуется DirectX SDK Aug 2008.



Чтобы иметь возможность самостоятельно создать свою игру на базе примера simple_game с неограниченными возможностями дальнейшего расширения! - оформите подписку на fle game engine -


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

Оформив подписку на fle game engine Вы получаете пример игры simple_game с исходным кодом, и сможете не просто прочитать всё, что будет описано далее, но и самостоятельно проделать в собственном приложении с возможностью неограниченного расширения. Также Вы получаете

Самую свежую версию Scene Editor fge 1.0.2 (на текущий момент) с поддержкой большего количества возможностей: сетка, настройки, скроллинг и другие. В бесплатной версии эти возможности не поддерживаются. подробнее о составе платной подписки.





Начнём с более простых вопросов.

2) Загрузить и отобразить спрайт шарика - поскольку он не является частью сцены и будет работать от неё отдельно

и отобразить его на экране.

Предположим, что наш проект находится в папке

simple_game\

Тогда внутри папки

simple_game\Media\textures\



Создадим подпапку simple_game, а внутри неё ball -

simple_game\Media\textures\simple_game\ball\

И разместим внутри неё файл

simple_game\Media\textures\simple_game\ball\jump.tga

Т. е. наш прыгающий шарик

прыгающий шарик



Чтобы приложение simple game могло загрузить данный спрайт, а также показать его анимированным - прыгающим, Вам нужно создать внутри папки

simple_game\Media\textures\simple_game\ball\



файл

simple_game\Media\textures\simple_game\ball\tex_list.txt



И занести в него такую строку -

ball\jump.tga; -0.7f; 0.1f; 0.909f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;



Если Вы уже смотрели утилиту Coords2D, а также пробовали запускать из неё какие-либо спрайты, знакомились с приложенным readme.txt файлом - то легко можете догадаться, что мы всего лишь определяем параметры для загрузки нашего спрайта шарика.

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

По этому поводу мною написаны уроки - Как анимировать паука, Анимируем волка из мультфильма.

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





После того, как создали файл

simple_game\Media\textures\simple_game\ball\tex_list.txt

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



В модуль

simple_game\start\start.cpp



После строки

#include "DXUTsettingsdlg.h"



Добавляем новый код

#include "game_sprite.h"



А после строки

double g_fLastAnimTime = 0.0;





Такой код

CGameSprite g_AI_Ball_Sprite; //переменная, где будет храниться объект для работы со спрайтом нашего шарика



Далее Вам нужно сделать поиск по коду модуля start.cpp и найти строки содержащие

g_Splash



После каждой найденной строки вставить свою - похожую строчку кода -

1)
g_Splash.Restore(); //это то, что вы нашли
g_AI_Ball_Sprite.Restore(); //это то, что вы должны добавить


2)
g_Splash.Free(); //это то, что вы нашли
g_AI_Ball_Sprite.Free(); //это то, что вы должны добавить


3)
g_Splash.Invalidate(); //это то, что вы нашли
g_AI_Ball_Sprite.Invalidate(); //это то, что вы должны добавить


4)
g_Splash.Anim(); //это то, что вы нашли
g_AI_Ball_Sprite.Anim(); //это то, что вы должны добавить


5)
g_Splash.Draw(); //это то, что вы нашли
g_AI_Ball_Sprite.Draw(); //это то, что вы должны добавить


6)
g_Splash.Load(); //это то, что вы нашли
g_AI_Ball_Sprite.Load(); //это то, что вы должны добавить


7)
g_Splash.NextSplash(); //это то, что вы нашли
g_AI_Ball_Sprite.NextSprite(); //это то, что вы должны добавить


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



Далее компилируем приложение.

Если ошибок не возникло, хорошо. Если есть - читаем что за ошибки, разбираемся и исправляем.



Запускаем наше приложение - это исполнимый файл -

simple_game\simple_game\start.exe



Если Вы всё сделали правильно, то после нормального запуска приложения увидите на экране такое изображение -

Первый старт вашей будущей игры созданной на fle game engine - пробуем вывести game sprite для прыгающего шарика

Приложение работает, ошибок нет. Но нет и никакого шарика на экране.

Тут нет никакой ошибки, но если Вы были внимательны и хорошо поняли как выводятся спрайты с помощью утилиты Coords2D, то легко можете исправить проблему. Этого же вопроса мы касались на странице 2 - Объекты, когда создавали нашу игровую сцену. Там тоже шла речь об исчезновениях шарика из поля видимости.

Если же никаких идей по этому поводу у Вас нет, то еще раз настоятельно рекомендую ознакомиться с утилитой Coords2D и особенно почитать файл readme.txt приложенный к ней, позапускать утилиту и разобраться как с её помощью выводятся на экране спрайты, основываясь на заданных для них, в файле tex_list.txt параметрах.

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

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

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

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

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

подробнее

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


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

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

Поэтому расскажу о своем.


В далеком 2006 году я начал делать свой первый сайт.

Тогда еще на бесплатном хостинге и без поддержки динамического
наполнения - т. е. на голом html, который я толком то еще
и не знал.

Для создания применял конструктор html страниц - dream weaver.

Уже не помню какая там версия была, то ли 3, то ли 5.

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

С тех давних пор конечно многое изменилось.

Я освоил html / css / php / mysql / js.

Но знаний никогда не бывает достаточно.

Сейчас уже появляются новые технологии, новые инструменты.

Например уже мало знать как сверстать сайт.

Желательно уметь верстать его адаптивно, мобильно.

Мало создать сайт, требуется развернуть для него качественный
сервер, а для этого конечно - научиться разворачивать
и настраивать сервера.

Одним словом жизнь не стоит на месте.

Поэтому знания приходится постоянно пополнять и расширять.

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

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

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

Но нет, такого не происходит, и думаю не произойдет никогда.

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

Особенно игр.

Не секрет, что каждый мечтает создать свою игру.

Но с появлением таких площадок как steam, качество проектов
упало почти до нуля.

Поскольку игр очень много, то интерес к ним обесценивается.

Это как взять и продавать алмазы по дешевке.

Если алмазы стоят недешево и купить их не так легко, то
они и ценятся выше.

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

Сейчас же масса второсортных проектов. Просто потому что
возможностей создать их - море, но вот возможности довести
начатое до конца хватает не у всех.

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

А значит игра (приложение, какое-то хорошее начинание) откладывается
в долгий ящик, лежит там и пылится до лучших времен, а может
и навсегда.

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

Я не буду лукавить и скажу честно, со мной все описанное
тоже происходило.

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

Почему ?

Оправданий можно найти миллион. Но все оправдания - оправданны.
Уж простите за тавтологию.

Зато потом, когда был приобретен некоторый опыт - проекты
стали доводиться до завершения.

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

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

Любой проект конечно же делаешь в первую очередь для себя.
Чтобы узнать что-то новое и открыть уже известное.

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

Итак, я подошел к теме - что такое развитие сайта ?

Это не только его технологическая составляющая, но и цели
и задачи, которые должен решать сайт, ради которых он
создавался и ради которых он продолжает жить и развиваться.

САЙТ СВОЙ ИЛИ НЕ СВОЙ

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

Можно привлечь пользователей, которые заинтересуются.

С одной стороны это гораздо легче, чем пытаться создать
свой сайт с нуля.

Но то что легко дается, легко и уходит.

Многие это уже поняли и потому интерес к социальным сетям
немного поугас. И уже нет такого бума, какой был тогда,
когда они только только появились.

Основная цель любой соц. сети - это общение между пользователями.

Я человек не слишком общительный, поэтому особого увлечения
социальными сетями не испытывал.

Однако понимаю, что совсем без общения сложно вообще кого-либо
заинтересовать своим проектом.

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

Это не только навязчивая реклама и самореклама везде где только
возможно, но и налаживание контактов, деловых связей и
многого другого.

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



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


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

Целей этих чаще всего несколько и некоторые из них совсем не
очевидны даже их создателю.


Что же это за слова, по которым можно найти искомое ?

Их никто не знает. Потому что как и сайт, интернет это живая,
динамичная система.

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




подробнее

Проект портала

Идеи Комфорта

Примерное ТЗ

задача по ТЗ заметки
     
1. Механизмы регистрации на сайте:

- Свободная по однократной ссылке

- По реферальной ссылке

- Другой вариант

Необходимо выбрать приемлемый или приемлемые вариант(ы)

1. Личный кабинет:

Примерный набор ролей -

- ВЛАДЕЛЕЦ, ОН ЖЕ СУПЕРАДМИН

- МОДЕРАТОР

- ЗАРЕГИСТРИРОВАННЫЙ

- ГОСТЬ

- Какие роли необходимы ?



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

Баннеры добавляются через админ-панель СУПЕРАДМИНОМ, отображаются в случайном или заданном порядке.
4. Статус - строка. Что должна отображать ?
5. КОНТЕНТ
6. кнопка «Фото-сборники». куда должна вести ? на личные сборники данного пользователя или другого(других) пользователей. Что собой должен представлять фотосборник ? Обычную фотогалерею как в соц. сетях, либо что-то еще дополнительно ?
7. блок ПОСТОВ. пользователь может добавить в пост ссылку на свой фотоальбом или статью.
8. кнопка РАССКАЗАТЬ ДРУЗЬЯМ. Содержит ссылку на страницу, с которой можно отправить сообщение со ссылкой на указанную страницу.
9. Мне нравиться. Представляет собой средство выражения рейтинга поста.
11. краткое описание поста (если это статья)
12. Читать далее. Содержит ссылку на страницу данного поста.
13. На каждый пост заводится страница как ВК (хотя непонятно нужно ли это) или комментарии сохраняются при каждой фотографии в альбоме. Полагаю, что это нужно, т. к. иначе возникают нерешаемые вопросы: где размещать контент поста, как его хранить и выводить.
14. ПРАВЫЙ СТОЛБЕЦ - рекламный баннер. Добавляется через админ-панель суперадмином, выводится в случайном порядке или по заданным правилам.
15. «Участники клуба». Блок для отображения ТОП лучших по определенным критериям пользователей. Например по количеству оставленных данными пользователями постов.
16. Личное меню. Представляет набор функций, которые может выполнять зарегистрированный пользователь, вошедший на сайт под своим аккаунтом (учётной записью).
17. моя страница - содержит ссылку на заглавную страницу данного пользователя.
18. мои друзья - содержит ссылки на страницы пользователей, являющихся друзьями данного пользователя. Следовательно также возникает необходимость в разработке механизма отношений между пользователями: Друг, Не друг и т. д.
19. мои сообщения. представляет собой механизм системы внутренних сообщений между пользователями сайта. чтобы отправить сообщение нужно открыть страницу нужного пользователя. сообщения оформляются в виде списка, имеются разделы: отправленные, принятые, удаленные.
20. мои фото. содержит механизм для управления личными фотоальбомами и отдельными фотографиями. форматы поддерживаемых файлов фото (jpg, png, gif) ?
21. мое видео. является средством для работы с личными альбомами видео и отдельными видеороликами. форматы поддерживаемого видео ? (mp4, flv)
22. моя музыка. представляет собой альбомы избранных музыкальных файлов. форматы поддерживаемых файлов ? (mp3, ogg)
23. связаться с администратором. возможность отправить прямое сообщение администрации
24. До регистрации на данном месте прописывается текст предлагающий зарегистрироваться и предлагающий правила поведения на портале.
25. Страница дизайнера. Что собой представляет ? Для данной категории пользователей нужна специальная роль ?
26.
27. Статьи. Представляют собой посты данного пользователя.
28. Нуждаюсь в совете. Возможность задать вопрос и получить на него ответ. Для этого необходим специальный раздел, в админ- и фронтальной частях сайта, где пользователь сможет оставить своё сообщение через специальную форму, а другие пользователи смогут на него ответить. Ответы должны быть общедоступны или видны только конкретному пользователю, задавшему вопрос ?
29. Ниже, со временем, появятся ещё кнопки. Проектирование с рассчётом на расширение в будущем.
30. 3 рекламных блока. что содержат ? как управляются и выводятся ?
31. 2. Администратор управляет всем, у него есть помощники контент менеджеры. Администратор назначается владельцем портала. ДЛЯ АДМИНИСТРАТОРА необходима специальная панель управления, недоступная обычным пользователям и доступная в ограниченном виде МОДЕРАТОРАМ.
32. Без регистрации возможности посетителя ограничены, но есть возможность посмотреть главную страницу. При нажатии закрытых кнопок возникает надпись – «Посмотреть полную версию Вы сможете после регистрации». Механизм всплывающего окна или что-либо еще.
33. блок связи с соцсетями. зарезервировать место. какие ссылки должен содержать данный блок ?
34. Предполагается, как то ограничить действия не зарегистрированных на портале лиц: «Посмотреть полную версию вы сможете только после регистрации». ПОКА ПОЛЬЗОВАТЕЛЬ НЕ ВОЙДЁТ В ЛИЧНЫЙ КАБИНЕТ он ограничен правами ГОСТЯ.
35. Предполагается не более 10 фото к одному посту/статье. Ограничение на количество фото. Аналогично нужно сформулировать для видео и музыкальных файлов.
36. Создать кнопку "Вернуться на главную страницу". Где должна располагаться, кому должна быть видна ?
37. Вставить кнопку "Поиск дизайнеров, строителей и отделочников". В какой раздел и с каким функционалом должна вести ?  
38. Ниже кнопок идет три места для рекламных баннеров. Зарезервировать место.  






ЗАДАЧИ НЕЯВНО ОПИСАННЫЕ В ТЗ либо возникшие в ходе решения поставленных в ТЗ задач

задача решение
подробнее

     
 

Видео урок про создание игры - рождение игры часть 1.

Если начать изучение основ с элементарных, то постичь секреты создания игр в delphi 7 для directx 8.1 api доступно каждому.

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

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

В игре "Ну, Погоди!" игровая логика сводится к следующему алгоритму, выраженному в словесной форме -

игрок должен управлять положением волка, располагая его в одном из 4х возможных. С лотков катятся яйца. По достижении конца лотка яйца падают, если у этого лотка не стоял волк, при этом выглядывающий из окошка заяц вызывает появление из разбитого яйца бегущего цыпленка. Отсутствие зайца приводит к полному разбиванию яйца. За пойманные яйца начисляются призовые очки, за разбитые - штрафные. Бегущему цыпленку соответствует пол-штрафного очка, полностью разбитому яйцу - 1 штрафное очко. Игра продолжается до 3 штрафных очков или до троекратного набора 999 очков. В последнем случае отображается поздравительный текст и небольшой мультфильм.

 

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

в методе TD3DGameApp.UpdateInput

изменение положения волка происходит следующим образом

{...}

if PressButton in m_DXInput.States
then begin
Area := TargetBtnArea(GetCursorPos);
//в данном случае проверяется нажатие на кнопку управления волком на игровой

//панели путем наведения на неё указателя мыши и нажатия левой кнопки мыши

{...}

if LeftUpCatch in m_DXInput.States then begin //т. к. на больших скоростях игры потребуется прямое управление
Area := 0;
//волком от клавиатуры, то это происходит таким образом
end;

{...}

Далее текущее положение волка заносится в специальную переменную -

Это происходит в реализации метода TD3DGameApp.FrameMoveGameSituation -

//положение волка
if (Area >= 0) and (Area < 4) then begin
WolfPos := 1 + Area;
WolfPosSet := WolfPosSet + [WolfPos];
end;

и далее -

//если игра не остановлена из-за разбитого яйца
if not StopGame then begin

//появление нового яйца на лотке
CreateNewEgg;

//качение яиц по лоткам
RollEggs;

//появление зайца из окошка
RabbitLookedFrom;

//счетчик изменения темпа игры
IncreaseGameSpeed;


end; {of StopGame or ResetShtraf}

CrashEggs; //разбивание яиц, бег цыплят


//мерцание, сброс штрафных очков

FlashShtraf;

 

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

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

 
Переходим к практическим упражнениям.
 

Используя код приложения из предыдущего - 5 урока - GameClasses_src попробуйте реализовать такой простейший игровой процесс:

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

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

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

Для компиляции примера понадобится библиотека delphi directx.

 
Пример сложной игровой сцены
 

Особенности примера:

- вывод 9 зон земной поверхности и объектов на ней (деревья), возможно построение сцены по данным файла - карты;

- свободная и привязанная к персонажу камера (переключение клавишей [V]);

- переключение между персонажами [пробел];

- анимированные персонажи (хотьба, прыжки, падение); управление персонажем j, k, l, i

- игровые панели - жизни, сила броска;

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

- поиск ближайших кубиков, показ их стрелками;

- рассчет траекторий полета (не доделано);

 

В завершение данного урока хотелось бы обратить Ваше внимание на реализацию алгоритма постепенного нарастания темпа в игре "Ну, Погоди!". Для этого загляните в реализацию метода TD3DGameApp.IncreaseGameSpeed

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

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

Что нужно знать для создания сайта ? Стандартные шрифты для сайта

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

Статья Ерошенкова Сергея - http://techmeat.net/about

источник статьи: http://techmeat.net/standartnye-shrifty-dlya-sajta.html

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

Стандартные шрифты:

1. Arial
2. Verdana
3. Times
4. Times New Roman
5. Georgia
6. Trebuchet MS
7. Sans
8. Sans
9. Comic Sans MS
10. Courier New
11. Webdings
12. Garamond
13. Helvetica

Тоже стандартные шрифты, но не для всех ОС:

1. Palatino Linotype / Palatino

Приятный шрифт с засечками, поддерживаемый Windows и MAC. Его можно использовать вместо привычных нам шрифтов семейств Georgia или Times. С помощью него можно написать очень стильные, заголовки.

2. Tahoma

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

3. Impact

Пожалуй самый мощный шрифт. Не имеет аналогов среди стандартных шрифтов. если вам нужен эффектный заголовок, то Impact поможет это сделать.

4. Century Gothic

Этот шрифт поддерживается в основном лишь на OS Windows, но пользователи MAC могут использовать другой его аналог – Futura. Очень элегатный шрифт, забытый дизайнерами, но до сих пор входящий в стандартный пакет шрифтов Windows.

5. Arial Black

Крупный шрифт семейства Arial. Схож по массивности с Impact, но не такой компактный. Очень подходит для ярких заголовков.

6. Arial Narrow

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

7. Copperplate / Copperplate Gothic Light

Этот шрифт схож с Century Gothic, но имеет маленькие засечки. Также прексрасно подхдит для оформления заголовков. Поддерживается примерно на 80% машин MAC и 50% Windows.

8. Gill Sans / Gill Sans MT

Поддерживается в основном на OS MAC (но и прекрасно виден и в Vista). Компактный, элегантный шрифт, легко читаемый и подходящий для основного текста.


PS: Новичкам (опытные уже знают) рекомендую  прописывать шрифт в CSS, причем не по одиночке, а сгруппировав 3-4 похожих шрифта на случай отсутствия основного из них в браузере конечного пользователя:font-family: Webdings, Garamond, ‘Times New Roman’, Sans;

Статья не претендует на уникальность и не является окончательной версией. Написал больше «для себя», т.к. надоело каждый раз спрашивать Яндекс правильное написание нужного шрифта :)

спасибо Сергею, за краткую и информативную статью.

далее

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

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

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



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


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