Возможно вы искали: 'Златогорье'

May 09 2025 08:19:06
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 95949629
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18338
• Обзор The Walking ... 18776
• Обзор DMC: Devil M... 19857
• Обзор на игру Valk... 15861
• Обзор на игру Stars! 17745
• Обзор на Far Cry 3 17926
• Обзор на Resident ... 16005
• Обзор на Chivalry:... 17487
• Обзор на игру Kerb... 17962
• Обзор игры 007: Fr... 16592
Превью о играх
• Превью к игре Comp... 17938
• Превью о игре Mage... 14442
• Превью Incredible ... 14699
• Превью Firefall 13453
• Превью Dead Space 3 16318
• Превью о игре SimC... 14705
• Превью к игре Fuse 15422
• Превью Red Orche... 15526
• Превью Gothic 3 16327
• Превью Black & W... 17336
Главная » Статьи » Панель инструментов » Занятие второе: Двумерное мастерство

Занятие второе: Двумерное мастерство

- Урри! Урри! Где у него кнопка?
(«Приключения Электроника»)


Напомним, что в прошлом номере мы начали наш новый проект - «Игра своими руками». Начиная с июньского выпуска, на компакт-диске «Лучших компьютерных игр» публикуются свежие версии пакета для создания игр, написанного специально для нашего журнала - ЛКИ-Creator, работающего с Delphi 5-7 версий.

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

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

Подготовка к работе

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

(Надеюсь, что Delphi у вас уже установлен; если нет, то рекомендации на эту тему читайте в нашей предыдущей статье - в июньском номере журнала или на CD этого номера или на сайте.)

Возьмите с нашего компакт-диска (раздел «Игра своими руками») файл с текстами программ и картинками и распакуйте его в каталог проектов.

Теперь вы можете скачать нужные файлы отсюда.

У нас должно получиться три подкаталога. В одном - Units - хранятся библиотеки DirectX и модули пакета ЛКИ-Creator. В другом - Project - мы будем работать; туда заблаговременно положены картинки, которые нам понадобятся, и предыдущая версия нашей аркады. В третьем - Escort - готовая программа, которая должна у нас получиться.

Теперь установим (переустановим) ЛКИ-Creator. В меню Delphi откройте пункт Component, в нем выберите Install Component. Если у вас уже был установлен этот пакет, оставайтесь на закладке Into existing package, иначе перейдите на закладку Into new package и заполните пустые строчки, как показано на рисунке (в верхней строчке проще всего выбрать файл LKI2dEngine.pas с помощью кнопки Browse, а в нижней просто запишите LKI). После чего нажмите OK и выберите Install. В верхней панели Delphi у вас должна появиться закладка LKI.

Теперь осталось только загрузить наш проект. В меню File выбираем Open, открываем файл Project\StarEscort.dpr…

Кнопки, значки, текстовые строки

Тем, кому уже приходилось работать в Delphi или, скажем, в Visual Basic, наверняка недостает возможности одним щелчком мыши, как обычно, поставить на наш игровой экран кнопки и другие визуальные элементы. Конечно, никто не запрещает поместить кнопки сбоку от DirectX-ового окна (пока мы работаем в оконном режиме), но это - не самое красивое решение, и к тому же непонятно, как оно будет работать, когда мы перейдем в full screen (я уж не говорю - в 3D).

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

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

Итак…

Значок - TLKIStatic

Помнится, мы хотели в прошлый раз дать нашему кораблику несколько жизней, и отображать, сколько их осталось, в виде значков-корабликов (как это было принято в старинных аркадах и до сих пор популярно в играх для мобильных телефонов). Для этого нам пригодится визуальный компонент TLKIStatic: он просто отображает на экране в заданном месте (в отличие от спрайтов) некую картинку, и все, что с ним можно делать во время работы игры - это убирать или возвращать обратно. Зато при подготовке его можно настроить - выбрать положение, размеры, картинку, прозрачность.

Это интересно: большинство других управляющих элементов - кнопки, тексты - потомки этого класса (что такое "потомок" - смотрите в микроучебнике Delphi на нашем диске). Поэтому все то, что вы научитесь делать с TLKIStatic, пригодится вам и в работе с остальными классами, описанными в этой главе.

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

Итак, открываем наш проект, на котором уже стоит экземпляр класса TLKI2dEngine - DirectX'овое двумерное окно. В закладке LKI у нас теперь есть, помимо самого движка, элементы TLKIStatic, TLKIButton, TLKIEdit и TLKIText. Поставим на панель DirectX три экземпляра TLKIStatic (в предположении, что мы собираемся дать нашему кораблику три запасных "жизни") и, отредактировав у каждого из них свойство Picture, загрузим туда кораблик из ShipMini.bmp. Включим свойство AutoSize, чтобы объект занял правильные размеры.

Мы можем работать с этими элементами так же, как и обычно в Delphi работают с визуальными компонентами: двигать их как угодно (но не вздумайте поставить их за пределами панели TLKI2dEngine), менять размеры, ставить произвольную картинку. Другими словами, все средства визуального проектирования, привычные тем, кто работал в Delphi или, скажем, Visual Basic - при нас.

Это важно: самое ценное, что все эти возможности остаются при нас, даже если мы проектируем полноэкранное приложение. Главное, чтобы размер окна TLKI2dEngine соответствовал тому разрешению экрана, которое мы намерены установить.

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

Это важно: у объекта есть также унаследованное от его предков свойство Visible, но им пользоваться нельзя. Дело в том, что оно определяет, надо ли рисовать объект средствами WinAPI, а не DirectX, и потому наш движок автоматически отключит его. Нам не нужен конфликт между разными типами рисования в одном и том же окне! Transparent. Это свойство определяет, есть ли у нашего объекта прозрачная часть. Мы хотим, чтобы отображался только значок кораблика, но не фон - поэтому мы включаем его. TransColor. Если Transparent включен, то это свойство определяет, какой именно цвет считать прозрачным. Если же выключен - то это свойство не задействуется.

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

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

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

Это интересно: менять картинку в процессе работы приложения можно, но только при посредстве специальной процедуры ChangePic (ее параметр - имя файла либо объект типа TBitmap). Однако использовать это для анимации не следует из-за низкого быстродействия. Если же вы хотите изредка менять изображение - эта процедура будет вам в самый раз. Кроме того, учтите, что размеры новой картинки должны строго совпадать со старыми.

Добавляем несколько жизней

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

Во-первых, создадим целочисленную глобальную переменную Lives и в самом начале, при создании формы, приравняем ее 3. Далее, всякий раз, когда у нашего кораблика кончаются хиты, снимем одну жизнь, сделаем проверку на наличие оставшихся жизней, и, если у нас их осталось меньше 0 (все запасные кончились, и свою последнюю мы потеряли) - переходим к имевшейся ранее процедуре завершения игры. А если нет - возвращаем хиты на максимум и убираем один из значков запасных жизней. Как это делается, показано на врезке «Запасные жизни».


Запасные жизни

// Убит наш корабль

if Objects.ID = 1 then

begin

Dec(Lives);

// Проверяем, есть ли запасные жизни

if Lives

1251 Прочтений •  [Занятие второе: Двумерное мастерство] [15.08.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Занятие второе: Двумерное мастерство Ukraine Vova 15.08.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2024

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка