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


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

megainformatic - Эмулятор ZX-Spectrum, БК-0010.01 и их работа в эмуляторе DosBox 0.74
Эмулятор ZX-Spectrum, БК-0010.01 и их работа в эмуляторе DosBox Сегодня вспомнил, что у меня есть архивы с эмуляторами БК-0010.01, БК-0011, zx spectrum 48, 128, но озадачился вопросом - как их запустить из под Win 8 ? Вспомнил, что у меня есть еще эмулятор DosBox 0.74 - для запуска старых MS-DOS'овских игр из под Windows. Меня осенила идея - а можно ли запустить эмулятор ZX Spectrum из под
подробнее...

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

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

megainformatic - Воспроизведение файлов в форматах it, xm, s3m, mod

megainformatic - Воспроизведение файлов в форматах it, xm, s3m, mod - страница 2

megainformatic - Воспроизведение в игре музыки в формате XM

megainformatic - Воспроизведение файлов в формате OGG Vorbis

megainformatic - игра "Веселый Буквоежка" - инструменты разработки

megainformatic - Игра "Веселый Буквоежка" - история создания проекта

megainformatic - Как анимировать паука ?

megainformatic - Уроки Photoshop

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

megainformatic - Купить Уроки Photoshop - Рисуем и Анимируем

подробнее

     
  Веселый Буквоежка - игра  
     
 

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

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

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



Скачать Coords2D -

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

 
     
 

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

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

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

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

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

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

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

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

 
     
 

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

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

 
     
 

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

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

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

m_bFleHeroLookLeft = true;
break;
}

case FleHeroMoveState_MoveDown: {

MoveAngle = -D3DX_PI * 0.75f;

SpriteIndex = FleHero_MoveRight;
Mirrored = true;

m_bFleHeroLookLeft = true;
break;
}

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

m_bFleHeroLookLeft = false;
break;
}

case FleHeroMoveState_MoveUp: {

MoveAngle = D3DX_PI * 0.25f;

SpriteIndex = FleHero_MoveLeft;
Mirrored = true;

m_bFleHeroLookLeft = false;
break;
}

}

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

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

float OldFleHeroXPos = m_vFleHeroPos.x;

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

if ( m_vFleHeroPos.x <= SceneMoveLimitLeft )

m_vFleHeroPos.x = OldFleHeroXPos;

if ( m_vFleHeroPos.x >= SceneMoveLimitRight )

m_vFleHeroPos.x = OldFleHeroXPos;

g_fFleHeroPos_x = m_vFleHeroPos.x;

y_step = FleHero_MoveSpeedY * g_fElapsedTime * g_fFleHero_MoveSpeed_Decrease;

float OldFleHeroYPos = m_vFleHeroPos.y;

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

if ( m_vFleHeroPos.y <= SceneMoveLimitDown )

m_vFleHeroPos.y = OldFleHeroYPos;

if ( m_vFleHeroPos.y >= SceneMoveLimitUp )

m_vFleHeroPos.y = OldFleHeroYPos;



TestHeroCollision();

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

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

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


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


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


LPD3D9SPRITE spr = GetGameSprite( SpriteIndex, m_pTexArray );

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

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

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

AnimGameSprite(SpriteIndex, -1, m_pTexArray);

 
     
 

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

void CAdventure::DrawStateOfHero()
{

switch ( m_dwFleHeroMoveState )
{

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

case FleHeroMoveState_MoveDown: {

DrawFleHeroXMirror(FleHero_MoveRight);
break;
}

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

case FleHeroMoveState_MoveUp: {

DrawFleHeroXMirror(FleHero_MoveLeft);
break;
}

}

}

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

 

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

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

Данный урок является введением в программирование на C++ в MSVS 2008

Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал),

и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008.

 
     
  [назад] [далее] [к содержанию]  
     
  Мы рассматриваем основы программирования на C++ в среде программирования MSVS 2008  
     
  В данном уроке мы рассмотрим как создается меню и простейшие окна диалогов.  
     
  Меню Win32-приложения создается как ресурс. Его создание похоже на создание меню в delphi 7.  
     
 

Для создания меню открываем окно ресурсов Resource View,

щелкаем правой кнопкой по пункту Resource.rc и выбираем Add Resource,

в окне выбора нового ресурса задаем требуемый тип (в нашем случае Menu) и нажимаем кнопку New

 
     
  будет создано окно с ресурсом меню, открытым для редактирования. По аналогии с созданием меню в delphi 7 нужно давать пунктам меню нужные идентификаторы в окне Properties и названия (свойство Caption)  
     
   
     
  Название идентификатора ресурса меню можно изменить щелкнув по ресурсу в окне ресурсов и вызвав окно Properties щелчком по вкладке Properties в правой части окна Visual Studio  
     
   
     
 

Для обработки команд меню в код необходимо внести дополнения

Внутри функции WndProc показан пример обработки пунктов меню About и Exit. По аналогии с этим нужно добавить обработку других пунктов меню.

 
     
  Работа с меню Win32-приложения описана в разделе MSVS 2008 > Help > Contents > Win32 and COM Development > User Interface > Windows User Experience > Windows Management > Windows User Interface > Resources > Menus  
     
 

Обработка нажатий на пункты меню Hints и Show FPS

в методе WndProc нажатия обрабатываются следующим образом -

case IDM_OPTIONS_HINT: {

bShowHelpText = !bShowHelpText;

if (bShowHelpText)
CheckMenuItem(GetMenu(hWnd), IDM_OPTIONS_HINT, MF_CHECKED);
else
CheckMenuItem(GetMenu(hWnd), IDM_OPTIONS_HINT, MF_UNCHECKED);

break;
}

case IDM_OPTIONS_SHOWFPS: {

m_bShowFPSOn = !m_bShowFPSOn;

if (m_bShowFPSOn)
CheckMenuItem(GetMenu(hWnd), IDM_OPTIONS_SHOWFPS, MF_CHECKED);
else
CheckMenuItem(GetMenu(hWnd), IDM_OPTIONS_SHOWFPS, MF_UNCHECKED);

break;
}

Дополнительно была введена функция InitD3DStuff, но пока ее назначение состоит лишь в -

void InitD3DStuff()
{
m_bShowFPSOn = TRUE;
bShowHelpText = TRUE;
}

 
     
 

Сама функция вызывается из InitInstance

В дальнейшем переменные m_bShowFPSOn и bShowHelpText перейдут в поля класса D3D-приложения

 
     
 

Для создания окна приложения с запрещенной кнопкой максимизации окна и неизменными размерами в коде функции InitInstance были внесены следующие изменения -

/*hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, 631, 380, NULL, NULL, hInstance, NULL); */

hWnd = CreateWindow(szWindowClass, szTitle,
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
CW_USEDEFAULT, 0, 631, 380, NULL, NULL, hInstance, NULL);

 
     
 

Разработка окна диалога для управления уровнем сложности

Работа с элементами управления Windows в приложениях Win32 описана в разделе справки -

MSVS 2008 > Help > Contents > Win32 and COM Development > User Interface > Windows User Experience > Windows Shell > Windows Controls > Control Library

 
     
 

Создание диалоговых окон приложения Win32 похоже на создание форм в Delphi 7. Однако не для всех элементов управления дело обстоит просто. Существует целая группа элементов управления добавление которых не автоматизировано в коде.

Например, если использовать для настройки уровня сложности ползунок Slider Control (TRACKBAR_CLASS), то для инициализации диалога с его использованием требуется вызов функции InitCommonControlsEx. Создание самого элемента управления нужно выполнять в коде приложения.

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

Работа с элементами управления окон описана в разделе MSVS 2008 > Help > Contents > Win32 and COM Development > User Interface > Windows User Experience > Windows Shell > Windows Controls > General Control Information

 
     
  Чтобы не озадачивать себя на первых порах излишними сложностями попробуйте заменить нужный элемент управления каким-либо другим, не требующим введения кода. Например вместо ползунка Slider для задания уровня сложности можно вполне обойтись обычными RadioButtons и они прекрасно справляются с этой задачей.  
     
  Для использования окна диалога, вызываемого в ответ на выбор какого-либо пункта меню достаточно посмотреть код диалогового окна About автоматически создаваемый при создании оконного Win32-приложения и отталкиваясь от него создать свой собственный для нужного пункта меню и диалога.  
     
  в следующем уроке - общие окна диалога, некоторые сопутствующие конструкции языка C++  
     
     
     
     
     
  [назад] [далее] [к содержанию]  
подробнее

     
 

Игра ВЕСЕЛЫЙ БУКВОЕЖКА

 
     
 
 
     
 

Заказать игру Веселый Буквоежка

 
 
[downloads:27]
 
 

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



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

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

 
  поиски начинаютсяЛукьяныч гибнетночь  
     
  Жора, Щукин и Лукьяныч отправляются на поиски Гали. Они идут вглубь таинственного места, вслед за Лукьянычем. Лукьяныч гибнет. Героям удается найти Галю и вырвать его из рук Сольвейга - человека, ставшего опасным обитателем свалки.  
     
  последняя схваткавозникновение  
     
  Приближается ночь. Силы на исходе. Герои готовы погибнуть. Жора не желает сдаваться. Он вступает в последнюю схватку. Но тут в пламени огня появляется новый герой. Он вырывает друзей из плена опасных пауков и прячет в безопасном месте.  
     
  Веселый Буквоежка - ВПЕРЕД!в доме у Бабы Яги  
     
  Герои нашли убежище и долгожданный отдых. Но нашему герою - Веселому Буквоежке - пока рано успокаиваться. Ему предстоит много дел, касающихся расчистки и озеленения территории, борьбы с опасными существами, поиска вещей и находок и главное - оказание всяческой помощи спасенным.  
     
  дождьпоиск находок  
     
  Свалка хранит следы былых времен. Нужно сделать шаг и сдвинуть зону на путь перемен. И тогда герои найдут ответ на все свои вопросы и отыщут, наверное, таинственное Озеро Желаний.  
     
   
     
  Системные требования: Windows 98SE/2000/Me/XP/Vista/Seven/ DirectX9c / Pentium III 1000 MHz / 128 Mb RAM / 32 Mb Video RAM / около 130 Mb свободного места на HDD / DirectX-совместимая звуковая карта / клавиатура, мышь  
     
  ночные гости  
     
  с наступлением ночи опасность возрастает  
     
  расчистка территории  
     
  Веселый Буквоежка показывает что нужно делать с этим мусором  
     
  зелень требует полива  
     
  посаженные деревья нуждаются в поливе  
     
  сделаю-ка я из тебя доброго  
     
  Буквоежка борется с опасными злыми пауками, а добрые помогают ему  
     
  Баба Яга опять спорит со своим Котом  
     
  У Бабы Яги снова споры  
     
  Веселый Буквоежка - экран главного менюВеселый Буквоежка - начало  
     
  История создания проекта "Веселый Буквоежка"  
     
  Игра повествует о приключениях произошедших на заброшенной территории
завода игрушек, превратившейся в обширную городскую свалку и
получившую название "Зона". В Зоне пропадает девочка Галя,
а на её поиски отправляются несколько смельчаков и пропадают
сами. Параллельно этому возникает новая вероятностная цепочка,
частью которой является персонаж по имени Веселый Буквоежка.
Это и есть Вы, т. е. игрок, в лице главного героя.

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

 
     
  Веселый Буквоежка - экран загрузкиВеселый Буквоежка - ищем находки  
     
  Веселый Буквоежка - в хранилище вещейВеселый Буквоежка - все находки  
     
  Несколько слов об игре

Мы попадаем в увлекательный, живой мир, в котором постоянно что-то происходит, то появляются странные существа, то какой-то летающий мусор, или вдруг находим какую-нибудь вещь, либо находку в земле. Находки могут быть разные - пустые, с секретом, призом или антипризом, и с буквой. Буквы можно подбирать и укладывать на расчищенной территории, выкладывая простые слова. Слово может состоять из 2х, 3х или 4х букв, по вертикали, горизонтали или диагонали сверху-вниз-наискосок.

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

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

Нужно выйти из игры (ваша текущая игра будет сохранена) - нажав Esc или выбрав мышью кнопку меню на мини-панели, которая расположена в левом верхнем углу игрового экрана. Открыть папку, куда Вы установили игру (по-умолчанию C:\Program Files\Веселый Буквоежка\) и открыть подпапку Media, а внутри неё подпапку text. Здесь Вы увидите файл words_from_plates.txt - это обычный текстовый файл, представляющий из себя список возможных слов.

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

 
     
  Особенности игры:

- объемный 2D-мир, горизонтальный скроллинг в обоих направлениях;

- прямое управление главным героем, от третьего лица;

- вещи - специализированные предметы;

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

- секретные места - попасть туда можно при использовании секрета;

- явления природы: дождь - является одним из секретов;

- злые существа - пауки, атакующие мусором;

- Веселый Буквоежка, атакующий СМЕХОМ, бросающий пауков;

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

 
     
  Веселый Буквоежка - в лесуВеселый Буквоежка - возникновение  
     
  Веселый Буквоежка - дождьв доме Бабы Яги  
     
 

Сведения о технологиях

Веселый Буквоежка Версия 0.1 включает:

- Игровой процесс: находки, складывание слов, призы, атаки пауков,
отражение атак, секреты;

- Игровая оболочка: загрузчик, вступление, главное меню, описания, настройки;

- Инструменты: редактор сцен, сборщик локаций, утилита Coords2D;

Особенности:

полностью локализуемая логическая аркада без ограничений возраста,
написана на C++/DirectX 9c на собственном 2D-движке Fle_cpp DirectX Engine v. 0.1
от 12.06.2010

 
     
  Заметки разработчика - рисуем паука  
     
   
     
подробнее

Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript.

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

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

Теперь пришла пора перейти к более сложным примерам.

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

Вы узнаете где описываются и как подключаются стили css, а также скрипты javascript.

Вообще говоря стили css и скрипты на javascript можно включать в любой части страницы сайта, но более правильно и удобно это делать внутри заголовка - после тега <head> но до закрывающего тега </head>

Приведу пример -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Моя первая страница</title>
<link rel="stylesheet" href="./css/style.css" type="text/css" >
</head>
<body>
Привет! Это текст на моей первой странице.<br><br>

Ура !!! Работает !!!<br><br>
</body>

</html>

Таким образом если вышеприведенный код размещен в файле index.html расположенном в корневой директории вашего сайта, то файл стилей style.css должен находиться в папке css внутри этой же корневой директории (папки).

Причём если Вы укажете путь к файлу style.css именно как ./css/style.css, то файл будет корректно подключен и найден как при открытии страницы index.html путём обращения по адресу сайта, так и при простом обращении к файлу index.html при открытии его из браузера.

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

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

Обычно все пути лучше указывать относительно корневой папки сайта, в которой размещен index.php (или index.html - как в нашем примере).

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

Забегая немного вперед приведу сразу пример - index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Моя первая страница</title>
<link rel="stylesheet" href="css/style.css" type="text/css" >
</head>
<body>
Привет! Это текст на моей первой странице.<br><br>

Ура !!! Работает !!!<br><br>
<?php

//тут может размещаться php-код

?>

</body>

</html>

Существенных отличий всего 3:

1) Изменилось расширение файла - вместо .html стало .php;
2) Внутри файла добавились новые теги - <?php и ?>
3) php - файл должен выполняться на хостинге с поддержкой php или на локальном сервере (например в пакете DENVER)

Обратите внимание также, как я указал путь -
<link rel="stylesheet" href="css/style.css" type="text/css" >
Т. е. путь задан относительный, относительно файла index.php что является более надежным с точки зрения размещения вашего сайта.

Если сайт будет размещен в подпапке - то ошибок с отображением style.css не будет, а вот если мы укажем абсолютный путь - как в примере выше - тогда сайт (а в данном примере файл index.php) должен обязательно находиться в отдельной корневой папке являющейся доменом или субдоменом.

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

При подключении скриптов javascript действуют аналогичные правила - всегда используйте относительный путь !!!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Моя первая страница</title>
<link rel="stylesheet" href="css/style.css" type="text/css" >
<script src="js/my_script.js" type="text/javascript"></script >
</head>
<body>
Привет! Это текст на моей первой странице.<br><br>

Ура !!! Работает !!!<br><br>
<?php

//тут может размещаться php-код

?>

</body>

</html>

далее

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

     
     
  Путешествие в мир 3d  
     
 
[содержание] [страница 1] [далее]
 
 
В данном уроке - Путешествие в мир 3d мы попробуем создать небольшую сцену, включающую земной холмистый рельеф, небесный фон, деревья, траву, участок железной дороги и товарный вагон В данном уроке - Путешествие в мир 3d мы попробуем создать небольшую сцену, включающую земной холмистый рельеф, небесный фон, деревья, траву, участок железной дороги и товарный вагон - щелкнув по изображению можно загрузить полномасштабный вариант
 
Для нашей работы мы будем использовать 3ds max 7.0 и photoshop cs2, если у Вас версии выше или ниже - ничего страшного. Никаких особых изменений Вы скорее всего не обнаружите, ну а уж если обнаружите - пишите вопрос мне или на форум
 
Создаем земную поверхность - в панели Create расположенной справа выбираем примитив Plane, нажимаем и удерживаем левую кнопку мыши, растягиваем будущую плоскость в окне перспективы (Perspective Viewport) и задаем следующие параметры
 

Начинаем! Создаем земную поверхность - в панели Create расположенной справа выбираем примитив Plane, нажимаем и удерживаем левую кнопку мыши, растягиваем будущую плоскость в окне перспективы (Perspective Viewport) и задаем следующие параметры

Length = 512,0 - это длина нашей плоскости (единицы измерения - Customize > Units Setup - здесь Вы можете задать нужную Вам систему единиц - метры, дюймы, сантимеры или что-то еще)

Width = 512,0 - это соответственно её ширина

Lenght Segs = 64 - это количество сегментов в длину

Width Segs = 64 - это - в ширину

остальное оставляем без изменений

В поле Name можно задать имя, например ground.

 
Выровняем нашу земную поверхность относительно центра оси координат - выбираем инструмент Select And Move и в поля X, Y в нижней части экрана вводим нулевые значения
 

Выровняем нашу земную поверхность относительно центра оси координат - выбираем инструмент Select And Move и в поля X, Y в нижней части экрана вводим нулевые значения

Для чего мы это делали, а для того, чтобы в будущем все объекты были смещены относительно мировой системы координат, представленной её центром в точке X, Y, Z - 0, 0, 0 - это намного удобнее, чем потом при экспорте или других операциях удивляться почему всё не так ? Да и по многим причинам - так намного удобнее, советую это делать всегда, в дальнейшем избавив себя от многих проблем.

 
 
Наша земная поверхность должна быть холмистой, а не плоской. Именно поэтому мы задали сегментацию 64х64. Если она Вам не видна - нажмите клавишу [F4]. Клавиша [F3] переключает между каркасным и нормальным видом изображения.
 
 

Применим модификатор Noise со следующими параметрами -

Seed = 834 - начальное значение может быть любым - используется генератором случайных чисел

Roughness = 0,5 - "крутость" склонов

Iterations = 2,0 - число итераций влияет на проработанность рельефа, но и усложняет его

Z = 32,0 - диапазон варьирования z от 0 до данного значения

остальное оставим как есть

 
 
Модификатор Noise находится на вкладке Modify в выпадающем списке модификаторов
 
Аналогичным образом можно создать любые горы и холмы, но далее мы рассмотрим как нарисовать для данной земной поверхности текстуру и наложить её
 
 
 
[содержание] [страница 1] [далее]
 
megainformatic live chat
Начать беседу
X
 

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



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


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