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


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

megainformatic - Путешествие в мир 3d - страница 2
              Путешествие в мир 3d      
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
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-запросы

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

Продукты

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

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

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

megainformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

megainformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

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 Добавляем другую модель

подробнее

Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 1

Предлагаем вашему вниманию онлайн-комикс Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny).

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

Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 1

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1] [страница 2] [страница 3] [страница 4] [страница 5]  [страница 6] [страница 7] 

подробнее


[к содержанию] [другие статьи Тимонина Андрея]

Таймер. Выводим время игры.

автор: Тимонин Андрей

дата публикации на сайте Мега Информатик: 18.11.2012

Добро пожаловать в цикл моих уроков посвященных программированию.

Эта статья будет посвящена такому понятию как игровое время, и как его выводить.


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

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

Время измеряется в часах, минутах, секундах, миллисекундах. Для нас интересны сейчас часы, минуты и секунды, составляющие формата.

Существует много способов определения времени. Мы рассмотрим один из них. Подходит он или нет для вашего случая, решать вам.

Графическую составляющую панели со временем я не рассматриваю. Это тема для другой статьи.

Итак, приступим к делу... Напишем класс, который имеет следующие возможности:

1) показывать текущее время;

2) сбрасывать в 0 время игры;

3) определять сколь времени прошло;

4) устанавливать счетчику время старта.

У меня получился такой интерфейс класса, который я назвал СTimerPanel

class СTimePanel
{
//мой класс для вывода текста
CStaticText* text;
public:
СTimePanel ();
~СTimePanel();
//сброс счетчика
void reset();

//возвращает время со старта
time_t getTime() const;

//устанавливает время старта
void setTime(time_t st);

//отрисовка

bool render();
private:

//закрытая переменная времени старта
time_t time_st;

};

Здесь мы используем время стандартной библиотеки time.

Посмотрим на мою реализацию класса

СTimePanel::СTimePanel()
{
//некий класс для вывода текста
text = new CStaticText(L"Time",L"Data/panel.png",208,57,CPoint(+128,-280));
//берем системное время
time(&time_st);

}

//вычисляем текущее время
time_t СTimePanel::getTime() const
{
time_t ctTime;
//берем системное время
time(&ctTime);
ctTime = ctTime - time_st;
return ctTime;
}

//устанавливаем время
void СTimePanel::setTime(time_t st)
{
time_t ctTime;
//берем системное время
time(&ctTime);
time_st = ctTime - st;

}

СTimePanel::~СTimePanel()
{
if( text )
{
delete text;
}
}
//сброс счетчика
void СTimePanel::reset()
{
//берем системное время
time(&time_st);
}

bool СTimePanel::render()
{
if( text )
{
struct tm *pTime;
time_t ctTime;
//берем системное время
time(&ctTime);
ctTime = ctTime - time_st;
//получим на указатель на структуру времени
//pTime = localtime( &ctTime );

//преобразуем время в часы, минуты, секунды
pTime = gmtime(&ctTime );
if (!pTime) return false;

//выведем в строку ширина 2 позиции заполнитель 0
std::ostringstream stime;
stime << std::setw(2) << std::setfill('0') << pTime->tm_hour
<< ":" << std::setw(2) << std::setfill('0') << pTime->tm_min
<< ":" << std::setw(2) << std::setfill('0') << pTime->tm_sec
<< std::endl;

text->SetText(stime.str());

//рисуем
text->Draw();
}
return true;
}

Время в этой статье определяем с помощью стандартной библиотеки, которая подключается директивой

#include <time.h>

Для его определения я опираюсь на локальное время компьютера, которое определяется функцией

time_t ctTime;
//берем системное время
time(&ctTime);

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

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

Функция gmtime преобразует наше время с учетом GMT (часового пояса).

 

На этом заканчиваю. Надеюсь, эта информация была вам интересна.
C уважением, Андрей.

[к содержанию] [другие статьи Тимонина Андрея]

подробнее

первый независимый онлайн-журнал комиксов ККК Костя Коробкин Комикс номер 1 март 2016

первый независимый онлайн-журнал комиксов ККК Костя Коробкин Комикс номер 1 март 2016

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

 

Приключения Кости Коробкина - Как я провел лето - интерактивный комикс (akk hiss) - теперь можно читать онлайн !!!


Приключения Кости Коробкина - Как я провел лето - интерактивный комикс - читать онлайн
Костя Коробкин (akk hiss)
Привет ! Меня зовут КОСТЯ КОРОБКИН. Этим летом я гостил у бабушки на даче и там со мной случилась одна история... читать онлайн
 
     
 

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


Приключения Кости Коробкина - С новым годом - интерактивный комикс - читать онлайн
Костя Коробкин -
С новым годом
(kk hny)
Костя :- Эта история произошла со мной под новый год. Что-то может показаться вам выдумкой или даже фантастикой, но я Вас уверяю - это было на самом деле !... читать онлайн
 
     
 

Костя Коробкин - Секретный проект - интерактивный комикс (kk scp) - читать онлайн


Костя Коробкин - Секретный проект - интерактивный комикс - читать онлайн
Костя Коробкин -
Секретный проект
(kk scp)
В один прекрасный день Костя Коробкин как обычно летом сел на поезд и отправился к бабушке. Но в пути с ним приключилась одна история... Помимо мистических и таинственных вещей Вы встретитесь с легендарными Петькой и Василием Ивановичем Чапаевым. читать онлайн
 
     
 

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


Костя Коробкин - В гостях у тёти Светы (kk as) - читать онлайн
Костя Коробкин (kk as)
В предметах и явлениях, которые нас окружают часто кроется нечто большее, чем мы привыкли. Замечать особенное и извлекать из этого пользу я научился совсем недавно... читать онлайн
 
     
подробнее

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

read paper in english

Цель данного урока проста - показать как средствами directx 9c рисуются линии.

Иногда это бывает необходимо. Например в редакторе сцены Scene Editor этим способом рисуется сетка (grid), служащая для точного позиционирования игровых объектов в сцене.

Создание игры во fle game engine - Рисование линий - Это может пригодиться

В документации по directx 9c приводится интерфейс ID3DXLine, а также его методы, которые нужно использовать для рисования линий.

Однако нет полноценного примера как применяется это всё вместе.

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

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

Суть состоит в следующем:

в модуле start.h внутри класса CD3DGameApp объявляем такие поля и методы:

//draw line
ID3DXLine* m_pLine;
void CreateLine(IDirect3DDevice9* pd3dDevice);
void LineOnLostDevice();
void LineOnResetDevice();
void FillPixel(int x, int y, int w, int h, DWORD color);
void FreeLine();
void DrawPoint(float x, float y, DWORD color);
void DrawLine(float x, float y, float x2, float y2, float width, DWORD color);

в модуле start.cpp реализуем их.


CD3DGameApp::CD3DGameApp()
{
//...
m_pLine = NULL;

void CD3DGameApp::CreateDeviceObjects(IDirect3DDevice9* pd3dDevice) { CreateLine(pd3dDevice); } HRESULT CD3DGameApp::RestoreDisplayObjects(IDirect3DDevice9* pd3dDevice) { //... LineOnResetDevice(); } HRESULT CD3DGameApp::DestroyDisplayObjects() { //... FreeLine(); } HRESULT CD3DGameApp::InvalidateDisplayObjects() { //... LineOnLostDevice(); } //draw line
void CD3DGameApp::CreateLine(IDirect3DDevice9* pd3dDevice)
{
D3DXCreateLine(pd3dDevice, &m_pLine);

}

void CD3DGameApp::LineOnLostDevice()
{
if ( m_pLine != NULL )
{
m_pLine->OnLostDevice();
}
}

void CD3DGameApp::LineOnResetDevice()
{
if ( m_pLine != NULL )
{
m_pLine->OnResetDevice();
}
}

void CD3DGameApp::FillPixel(int x, int y, int w, int h, DWORD color)
{
D3DXVECTOR2 vLine[2];

if ( m_pLine != NULL )
{

m_pLine->SetWidth( (float)w );
m_pLine->SetAntialias( false );
m_pLine->SetGLLines( true );

vLine[0].x = (float)(x + w/2);

vLine[0].y = (float)y;
vLine[1].x = (float)(x + w/2);
vLine[1].y = (float)(y + h);

m_pLine->Begin();
m_pLine->Draw( vLine, 2, color );
m_pLine->End();

}

}

void CD3DGameApp::FreeLine()
{
SAFE_RELEASE( m_pLine );
}

void CD3DGameApp::DrawPoint(float x, float y, DWORD color)
{
FillPixel((int)x, (int)y, 1, 1, color);
}

void CD3DGameApp::DrawLine(float x, float y, float x2, float y2, float width, DWORD color)
{
D3DXVECTOR2 vLine[2];

if ( m_pLine != NULL )
{

m_pLine->SetWidth( width );
m_pLine->SetAntialias( false );
m_pLine->SetGLLines( true );
vLine[0].x = x;
vLine[0].y = y;
vLine[1].x = x2;
vLine[1].y = y2;
m_pLine->Begin();
m_pLine->Draw( vLine, 2, color );
m_pLine->End();

}
}

void CD3DGameApp::DrawGameView() { //draw line DrawPoint(30.0f, 30.0f, 0xFFFF0000); DrawLine(10.0f, 50.0f, 300.0f, 50.0f, 1.0f, 0xFFFFFF00); DrawLine(80.0f, 210.0f, 400.0f, 120.0f, 2.0f, 0xFF00FF00); DrawLine(500.0f, 310.0f, 200.0f, 80.0f, 1.0f, 0xFFFFC017); }

Вот и всё ! Таким образом мы научились рисовать точки и линии произвольного цвета и положения. В коде цвета можно использовать и значение альфа - первая пара чисел, она будет задавать полупрозрачность изображаемого примитива. 0xFFFFC017 - FF - значение альфа, т. е. 255.

Объект линии - m_pLine проходит все те же стадии, что и любой другой directx 9c объект: создание CreateLine, сброс LineOnResetDevice, инвалидацию LineOnLostDevice, освобождение FreeLine, ну и конечно отрисовку DrawLine. Если Вы захотите анимировать линии, тогда вам еще будет нужно реализовать метод анимации, например AnimLine, вызываемый из метода CD3DGameApp::FrameMove вашего приложения.

Скачать пример Draw Line с полным исходным кодом (524 Kb).





Для нормальной сборки проекта вам потребуется DX SDK Aug 2008 и среда разработки MSVS 2005

Подробнее о настройках проекта читайте в приложенном внутри самораспаковывающегося архива файле readme.txt

к содержанию

     
     
  уроки Photoshop - чудеса  
     
  Уроки Photoshop - Чудеса  
     
  Коллаж от нуля - страница 3  
     
  [содержание] [страница 1] [страница 2] [страница 3] [далее]  
     
  Мы рассматриваем как создать коллаж - сначала рисуем пейзаж взяв в качестве примера фотографию  
     
 

итоговый результат того, что у Вас может получиться -

создаем удаленный лес на горизонте

 
     
  Переходим на слой Sky - Небо. Для этого щелкните его в панели слоев.  
     
 

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

Используя инструмент Прямоугольная область (другие виды областей можно выбрать щелкнув этот инструмент правой кнопкой мыши) выделяем ту область слоя Sky, которую будем заливать

 
     
  Используя инструмент Прямоугольная область (другие виды областей можно выбрать щелкнув этот инструмент правой кнопкой мыши) выделяем ту область слоя Sky, которую будем заливать  
     
  Щелкаем правой кнопкой мыши инструмент Заливка, Выбираем левой кнопкой Градиент  
     
  Щелкаем правой кнопкой мыши инструмент Заливка, Выбираем левой кнопкой Градиент  
     
  В панели свойств Градиента выбираем желаемый вид. Заметьте, чтобы задать сине-белый градиент - задайте предварительно в качестве цветов переднего и заднего плана - синий и белый цвета  
     
  В панели свойств Градиента выбираем желаемый вид. Заметьте, чтобы задать сине-белый градиент - задайте предварительно в качестве цветов переднего и заднего плана - синий и белый цвета  
     
  задайте предварительно в качестве цветов переднего и заднего плана - синий и белый цвета  
     
  Далее растянув в нужном направлении элемент управления градиентом получаем плавный переход от синего к белому цвету  
     
  Далее растянув в нужном направлении элемент управления градиентом получаем плавный переход от синего к белому цвету  
     
  получаем плавный переход от синего к белому цвету  
     
  Если Вам нужен градиент, включающий переход между несколькими цветами, то это можно сделать следующим образом -  
     
  Правой кнопкой мыши щелкаем слой Sky в панели слоев и выбираем пункт меню Параметры наложения  
     
  Правой кнопкой мыши щелкаем слой Sky в панели слоев и выбираем пункт меню Параметры наложения  
     
  В открывшемся диалоговом окне ставим галочку напротив пункта Наложение градиента, в средней части окна щелкаем по изображению Градиента  
     
  В открывшемся диалоговом окне ставим галочку напротив пункта Наложение градиента, в средней части окна щелкаем по изображению Градиента  
     
  в окне Редактор градиентов нажимаем кнопку Новый  
     
  в окне Редактор градиентов нажимаем кнопку Новый  
     
  Щелкаем на большом изображении градиента для добавления новых контрольных точек и задаем для них желаемые цвета  
     
  Щелкаем на большом изображении градиента для добавления новых контрольных точек и задаем для них желаемые цвета  
     
  Далее нажимаем кнопку <Да>, правой кнопкой мыши можно производить нужные операции по добавлению/удалению новых вариантов градиентов  
     
  правой кнопкой мыши можно производить нужные операции по добавлению/удалению новых вариантов градиентов  
     
  Получаем небо на слое Sky окрашенное при помощи градиентной заливки  
     
  Получаем небо на слое Sky окрашенное при помощи градиентной заливки  
     
  Теперь нужно сделать текущим слой Ground и при помощи инструментов Осветление/Затемнение создать для земли эффект рельефности  
     
  Теперь нужно сделать текущим слой Ground и при помощи инструментов Осветление/Затемнение создать для земли эффект рельефности  
     
  Эти инструменты работают по аналогии с Кистью, но в отличие от неё не рисуют выбранным цветом, а выполняют осветление или затемнение пикселей, под указателем кисти в соответствии с выбранными параметрами на панели параметров  
     
  затемнение при помощи инструмента Затемнение  
     
  Вы видите, что пиксели под указателем Кисти становятся темнее. Аналогично работает Осветление - оно делает пиксели светлее. Управлять степенью и характером осветления/затемнения можно при помощи формы кисти, вида её краев, Диапазона и Экспозиции  
     
  Управлять степенью и характером осветления/затемнения можно при помощи формы кисти, вида её краев, Диапазона и Экспозиции  
     
  Форма Кисти и ее размер влияют на форму видоизменяемой области Кистью, Жесткость краев влияет на этот же параметр, но по краям Кисти, Диапазон задает на какие цвета мы воздействуем - Тени, Средние тона или Света и наконец Экспозиция задает силу воздействия за один шаг обработки.  
     
  2) Теперь над слоем Sky Вам нужно создать новый слой, назвав его Облака - Clouds и нарисовать облака  
     
  Процесс создания облаков сводится к следующему. Выбираем белый цвет, кисть с не очень жесткими краями, Непрозрачность Кисти задаем 18% и рисуем облако  
     
  Выбираем белый цвет, кисть с не очень жесткими краями, Непрозрачность Кисти задаем 18% и рисуем облако  
     
  Далее применяем к слою с облаком Фильтр > Размытие > Размытие по Гауссу  
     
  Далее применяем к слою с облаком Фильтр > Размытие > Размытие по Гауссу  
     
  [содержание] [страница 1] [страница 2] [страница 3] [далее]  
     
megainformatic live chat
Начать беседу
X
 

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



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


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