Кладовая программиста. Медиа-комбайн, часть 2.
Давайте немного помечтаем. Что сможет делать наш комбайн? Во-первых, он без лишних проблем откроет файлы форматов dib, jpg, bmp, ico, emf, wmf, avi, wav, mid и уникальный формат плейлистов list. Во-вторых, он все эти файлы может микшировать в плейлисты, которые, в свою очередь, без проблем можно будет сохранить на винчестере. Комбайн организует слайд-шоу и даже создает презентации с музыкой и видео. Всеми этими процессами несложно управлять с удобной панельки. Есть даже независимое чтобы перетаскивать с помощью мышки окошко вывода. Скорость пролистывания слайдов можно изменять.
Доставайте из заначки исходники недоделанного комбайна и продолжим. Если по каким-то причинам вы не читали статью позапрошлого номера “Мании”, не отчаивайтесь материал ждет вас в разделе “ИнфоБлок” нашего CD- или DVD-диска. Там же разместились исходники комбайна.
|
В прошлой статье мы остановились на пункте меню Запустить слайд-шоу. С него и продолжим. Допустим, пользователь желает запустить слайд-шоу. Создайте обработчик события для этого пункта меню (у меня он называется TForm1.N11Click). Для начала введите глобальную переменную, которая показывает, запущено слайд-шоу или нет. Назовите ее is_show. В глобальный раздел Var добавьте описание этой переменной:
is_show:boolean=false;
По умолчанию значение переменной установите в “ложь”, ведь изначально слайд-шоу отключено. Помните, в прошлый раз мы решили не вводить дополнительный пункт меню для остановки слайд-шоу? Вместо этого давайте сделаем так, чтобы при его запуске название пункта меню изменилось на Остановить слайд-шоу. Как это сделать? Сначала необходимо “переключить” переменную is_show. То есть если ее значение true, установить его в false и наоборот. Быстрее всего это сделать строчкой:
Is_show:= not is_show;
Логический оператор not как раз переключает переменные. Теперь, в зависимости от значения переменной is_show, надо задать надпись пункту меню. Давайте создадим элементарную конструкцию выбора case с переменной is_show в качестве селектора. Вариантов всего два: true и false. Если значение переменной is_show равно true, то слайд-шоу уже запущено и его необходимо остановить. Если же false, то слайд-шоу надо, наоборот, запустить. Вот участок кода, который это реализует:
case is_show of
true:N11.Caption:=\'Остановить слайд-шоу\';
false:N11.Caption:=\'Запустить слайд-шоу\';
end;
Теперь, если слайд-шоу запускается, надо показать первый элемент в списке воспроизведения. Мы уже делали это, когда создавали обработчик для пункта меню Открыть... Зачем делать одну и ту же работу дважды? Скопируйте участок кода, который отвечает за загрузку:
if form1.listbox1.ItemIndex<0 then form1.listbox1.ItemIndex:=0;
s:=ExtractFileExt(opendialog1.FileName);
if (s=\'.dib\') or (s=\'.jpg\') or (s=\'.jpeg\')
|
begin
Form2.Hide;
Form3.image1.picture.loadfromfile(opendialog1.filename);
Form3.Width:=Form3.image1.Picture.Width;
Form3.Height:=Form3.image1.Picture.Height;
Form3.image1.picture.loadfromfile(opendialog1.filename);
Form3.Image1.Visible:=true;
Form3.show;
end;
if (s=\'.avi\') or (s=\'.wav\') or (s=\'.mid\') then begin
Form2.Show;
Form3.Hide;
if s=\'.avi\' then Form3.Show;
Form3.Image1.Visible:=false;
Form2.Mediaplayer1.Display:=Form3.Panel1;
Form2.MediaPlayer1.FileName:=opendialog1.FileName;
Form2.MediaPlayer1.Open;
Form3.Width:=Form2.MediaPlayer1.DisplayRect.Right-Form2.MediaPlayer1.DisplayRect.left;
Form3.Height:=Form2.MediaPlayer1.DisplayRect.Bottom-Form2.MediaPlayer1.DisplayRect.Top;
Form2.MediaPlayer1.play;
end;
В таком виде код еще неработоспособен. В нем нет переменной s. Поэтому объявите ее в локальном разделе var:
|
s:string;
Осталась лишь одна проблема: откуда брать имя файла, который требуется открыть? Ведь никакого оператора opendialog нет. Если пользователь запустит слайд-шоу, то начаться оно должно с текущей выделенной строки в ListBox1. Как получить индекс выделенной строки? Очень просто: listbox1.ItemIndex. Следовательно, как получить содержимое выделенной строки (по совместительству искомое имя файла)? Еще проще: listbox1.Items.Strings[listbox1.ItemIndex].
И еще один штришок. Вышеописанный код должен сработать только в том случае, если пользователь включит слайд-шоу. Если он его выключит, действия должны быть совсем другие. Поэтому весь код заключите в условие:
If is_show then begin
// ваш код
end;
Почему условие выглядит так непривычно? Дело в том, что для переменных типа boolean условие вида переменная=true можно сократить просто до имени переменной. Это очень удобно.
Между операторами условия begin и end вставьте скопированный код. На протяжении всего кода замените функцию opendialog1.filename на listbox1.Items.Strings[listbox1.ItemIndex]. После этого скрипт заработает.
Основные переключатели
Пришло время обеспечить переключение файлов во время слайд-шоу. К картинкам и активным файлам (видео и звук) подход различен. Если текущий файл картинка, перед запуском следующего пункта Listbox1 надо сделать время задержки (хранится в переменной M). С видео и звуками дело обстоит по-другому. Следующий файл надо запустить не через какое-то определенное время (откуда мы знаем, как долго длится клип?), а когда текущий клип завершится.
Давайте рассмотрим эти два варианта по порядку. Начнем с картинок. Как организовать задержку? Для этого существует специальный невизуальный компонент Timer. Самый первый на вкладке System. Найдите его и поместите в любое место на форме. Соответствующий объект будет называться Timer1. Поначалу таймер должен быть отключен, поэтому его свойство Enabled установите в false. У таймера одно-единственное событие OnTimer, которое сpaбатывает, как только время, задающееся свойством Interval, истечет. Не забудьте, что время задается в миллисекундах (одна тысячная секунды). Как только пользователь включает слайд-шоу, нам надо запустить таймер. В обработчике N11Click найдите второе условие (текущий объект картинка) и после строчки Form3.show пропишите:
Timer1.Interval:=M*1000;
Timer1.Enabled:=true;
|
Почему “M*1000”? В миллисекундах время считают только совсем уж крутые программисты. А пользователь, скорее всего, будет вводить время в привычных секундах. Отсюда это простое преобразование.
Таймер запущен. Как только он сработает, мы должны его выключить (до поры до времени), выделить следующую строчку в списке и запустить этот файл стандартным куском кода.
Создайте обработчик события таймера Timer1Timer и пропишите для него код:
Timer1.Enabled:=false;
if listbox1.Items.Count-1=listbox1.ItemIndex then
listbox1.ItemIndex:=0 else listbox1.ItemIndex:=listbox1.ItemIndex+1;
Это еще не все содержимое обработчика Timer1Timer, но к нему мы вернемся после. У вас, скорее всего, возник закономерный вопрос: зачем нужно условие во второй строчке? Почему бы просто не присвоить единицу свойству ItemIndex? Представьте себе, что после нескольких слайдов указатель выделения списка дойдет до его конца. Очередной комaндой приращения указатель сдвинется... на несуществующую строку. Естественно, возникнет критическая ошибка, и программа вылетит. Поэтому перед приращением необходимо проверить, не добрался ли счетчик до конца списка. Если добрался, то указатель выделения (свойство ItemIndex) обнуляется, если нет увеличивается на единицу. Вот и все премудрости.
Окольные дорожки
Перейдем ко второму варианту. Что, если очередной файл из списка воспроизведения не картинка, а звуковой или видеоклип? В этом случае необходимо дождаться его завершения, а потом открыть следующий в списке файл. Как узнать, что клип подошел к концу? Есть много способов. Но самый простой, на мой взгляд, воспользоваться обработчиком события компонента TmediaPlayer OnNotify. Это событие сpaбатывает, когда меняется режим работы медиа-плеера. Сам режим можно определить с помощью свойства Mode. Нам интересно только одно его значение mpStopped. Как вы уже догадались, оно показывает, что плеер остановился, потому что клип закончился.
|
Когда клип не проигрывается, режимы тоже могут меняться. Поэтому появятся неизбежные ложные сpaбатывания обработчика. Эти ложные сpaбатывания надо как-то устранить. Самое простое ввести еще одну переменную и установить ее в положение true непосредственно перед началом воспроизведения. Внутри обработчика OnNotify необходимо проверить состояние переменной Mode и новой булевой переменной. Если обе проверки проходят воспроизведение точно прекратилось, и можно переключаться на следующий файл списка. Объявите эту вспомогательную глобальную переменную:
video:boolean=false;
По умолчанию она “выключена”. Где ее включать? В нашем коде, который отвечает за последовательное воспроизведение. Вновь открывайте обработчик N11Click и во второй условной ветке после строчки Form2.MediaPlayer1.play пишите:
video:=true;
Теперь предусмотрены почти все варианты действий пользователя, за исключением одного когда юзер кликает по пункту меню Остановить слайд-шоу. Так как программно этот пункт меню находится в N11Click, надо изменить первое его условие. Найдите предпоследний оператор end обработчика и удалите точку с запятой. Прямо после end пишите:
else begin
Timer1.Enabled:=false;
video:=false;
end;
Теперь, если переменная is_show не равна true (то есть равна false), слайд-шоу остановится. Выключите таймер и переменную video. Обработчик N11Click готов. В конечном варианте он выглядит так:
procedure TForm1.N11Click(Sender: TObject);
var
s:string;
begin
Is_show:= not is_show;
case is_show of
true:N11.Caption:=\'Остановить слайд-шоу\';
false:N11.Caption:=\'Запустить слайд-шоу\';
|
end;
if is_show then begin
if form1.listbox1.ItemIndex<0 then form1.listbox1.ItemIndex:=0;
s:=ExtractFileExt(listbox1.Items.Strings[listbox1.ItemIndex]);
if (s=\'.dib\') or (s=\'.jpg\') or (s=\'.jpeg\')
or (s=\'.bmp\') or (s=\'.ico\') or (s=\'.emf\') or (s=\'.wmf\') then
begin
Form2.Hide;
Form3.image1.picture.loadfromfile(listbox1.Items.Strings[listbox1.ItemIndex]);
Form3.Width:=Form3.image1.Picture.Width;
Form3.Height:=Form3.image1.Picture.Height;
Form3.image1.picture.loadfromfile(listbox1.Items.Strings[listbox1.ItemIndex]);
Form3.Image1.Visible:=true;
Form3.show;
Timer1.Interval:=M*1000;
Timer1.Enabled:=true;
end;
if (s=\'.avi\') or (s=\'.wav\') or (s=\'.mid\') then begin
Form2.Show;
Form3.Hide;
if s=\'.avi\' then Form3.Show;
Form3.Image1.Visible:=false;
Form2.Mediaplayer1.Display:=Form3.Panel1;
Form2.MediaPlayer1.FileName:=listbox1.Items.Strings[listbox1.ItemIndex];
Form2.MediaPlayer1.Open;
Form3.Width:=Form2.MediaPlayer1.DisplayRect.Right-Form2.MediaPlayer1.DisplayRect.left;
Form3.Height:=Form2.MediaPlayer1.DisplayRect.Bottom-Form2.MediaPlayer1.DisplayRect.Top;
Form2.MediaPlayer1.play;
video:=true;
end;
end
else begin
Timer1.Enabled:=false;
video:=false;
end;
end;
|
Перейдите в обработчик таймера и после последней комaнды вставляйте скопированный код. Не забудьте в локальном операторе var объявить строковую переменную s. Перейдите в OnNotify и пишите:
if video and (mediaplayer1.Mode=mpStopped) then begin
end;
Это условие мы уже детально разобрали. Между begin и end вставляйте код. Не забудьте объявить локальную строковую переменную s.
Код мы поместили в другой модуль, а ссылаемся мы из этого кода на некоторые объекты первого модуля. Значит, второй модуль надо связать с первым. Перед самым обработчиком добавьте строку:
uses unit1;
Теперь перед всеми упоминаниями listbox1 и Timer1 поставьте выражение form1. (прописывается слитно). Во второе условие обработчика (которое отвечает за ветвь картинок) вставьте строку:
video:=false;
Запускайте медиа-комбайн и слайд-шоу. Все должно функционировать.
Штрихи к портрету
Пришло время придать законченный вид комбайну. У нас осталось два необработанных пункта меню: Справка и О программе. Когда пользователь кликает по пункту Справка, должен открыться справочный файл программы в формате hlp (стандартная) или chm (продвинутая). Создание самого файла справки остается на вашей совести. Для этого существует множество программ, например ориентированный на любителей HTM2CHM или профессиональный HTML Help Workshop. Задача программиста прописать в обработчике этого пункта меню открытие файла справки. Соответствующий обработчик выглядит так:
procedure TForm1.N13Click(Sender: TObject);
begin
ShellExecute(Application.Handle,\'open\',PChar(extractfilepath(application.exename)+\' help.hlp’),nil,nil,SW_SHOWNORMAL);
end;
|
Он состоит из одной довольно сложной комaнды. Ее основа функция ShellExecute, которая позволяет открыть любую папку, документ (в том числе веб-страницу), выполнить некоторые системные комaнды, а также запустить программу или скрипт. Вот такая функция-многостаночник. Рассмотрим ее поподробнее (не забудьте в текущий раздел uses добавить модуль ShellAPI, которому принадлежит функция).
Первый параметр функции ShellExecute дескриптор программы, которая осуществляет вызов. Пока не будем детально изучать, что такое дескриптор, иначе мы рискуем углубиться в основы API и ядра Windows. Неподготовленный программист там просто потеряется. Но в ближайших номерах мы обязательно рассмотрим ядро и API. Без этих знаний программист никогда не сможет стать профессионалом. Пока же вам будет достаточно знания, что дескриптор это своеобразный индекс, который указывает на конкретную программу. Зная дескриптор программы, с ней несложно совершить пpaктически любое действие. Получить дескриптор программы можно через свойство Application.Handle.
Второй параметр текстовая строка, содержащая один из трех стандартных методов работы с файловыми объектами: open, print и explore. Open и print работают почти со всеми файлами, а explore только с папками. Open открывает документ, запускает другую программу или исполняет системную комaнду, print печатает документ, а explore открывает папку в окне Проводника. Сейчас нам нужно открыть файл справки как документ, поэтому выбираем метод open.
Третий параметр это путь к открываемому документу. Выражение extractfilepath(application.exename) вам уже знакомо оно возвращает путь до конкретной программы, чтобы можно было адресоваться к файлам, которые лежат в той же папке.
Далее следует указание на имя конкретного файла. Почему все выражение упрятано в скобки и перед ним стоит странный операнд Pchar? Дело в том, что Object Pascal (Delphi) не “родной” язык программирования для Windows. Традиционно программы для него писались на C++. Само ядро
|
В С++ нет переменных типа String. Зато есть массивы символов (тип Char). Каждая строка оканчивается так называемым терминатором (знаком #0). Поэтому при вызове функций ядра все строки приходится конвертировать в тип PChar (указатель на область памяти, занятый массивом типа Char). Для этого служит комaнда Pchar, которой мы воспользовались.
В четвертом параметре хранятся параметры запуска. Так как мы запускаем не программу, этот параметр надо забить нулем nil.
Пятый параметр также забиваем nil, потому что в нем должен храниться путь к рабочей папке программы.
Последний параметр переменная, которая показывает, как должно отображаться на экране окно программы или документа после запуска. Нам нужен стандартный запуск, поэтом ставим сюда значение SW_SHOWNORMAL.
Код для пункта меню О программе вы уже сможете написать самостоятельно действуя по аналогии.
* * *
В вашем распоряжении мощнейший медиа-комбайн, который разве что носки не стирает и кашу не варит. Это и мощный слайд-шоу-генератор, и утилита для создания презентаций. Вы ждете домашних заданий? Их есть у нас. В комбайне во многих местах не проверяются вводимые значения. Например, если в окошке задания задержки для слайдов ввести не число, а букву, программа вылетит. Или, если открыть файл не того типа, появится сообщение об ошибке. Перехватить все эти ошибки и поставить надежную “защиту от Дypaка” ваша главная задача. Также можете несколько усовершенствовать комбайн, например добавить поддержку формата mp3. Но для этого вам придется обращаться к сторонним компонентам, так как в Delphi такой поддержки нет.
В следующей статье, посвященной Delphi, мы займемся программированием оболочки для компакт-диска.
"...Еще в редакторе карт для Starcraft'а можно было изменять многие параметры юнитов. Но модифицированный морпех всегда оставался лишь морпехом, а для создания полноценного юнита нужно было пользоваться внешними программами (а потом получить проблемы с им...
23 04 2024 7:59:24
Польские шутеры... Определение, ставшее нарицательным. Вы слышали о них. Вы видели их. Вы, скорее всего, хоть раз шутили о них. И почти наверняка играли по меньшей мере в один такой проект. Вспомните юность. Вы прогуливались по магазину или вещевому…|Игромания...
22 04 2024 8:55:50
«…изучать мир за пределами ключевых заданий не хочется совершенно. Все красиво, но пусто и бестолково, бесконечно далеко от, навскидку, Skies of Arcadia или даже довольно камерной и тесной The Last Story. Внутри Ni no Kuni зияет огромная пропасть, возмути...
21 04 2024 3:25:24
«…Мы часто говорим, что современные игры вроде Mass Effect, Heavy Rain или Uncharted все больше походят на кино. По зрелищности, постановке и проработке сюжета они могут поспорить с лучшими творениями голливудских режиссеров. Однако говорить о стирании гр...
20 04 2024 9:29:38
Игромании одной из первых в мире пришли на тест наборы LEGO Super Mario — и они меня удивили. Вместо ожидаемого чисто коллекционного набора я получил порт Super Mario Bros. в реальный мир. Рассказываю (и показываю!), как всё это играется,…|Игромания...
19 04 2024 13:12:35
Технические хаpaктеристики Speedlink Verdana Тип: классическая * Материал: пластик * Цвет: черный или белый * Длина кабеля: 1,5 м * Размеры: 42x12x2,5 см * Цена на январь 2012 года: 900 рублей Технические хаpaктеристики Speedlink Alterno Тип:…|Игромания...
18 04 2024 3:55:16
В играх серии Souls довольно неочевидная мифология, а сюжет представляет собой головоломку, которую игрок складывает из кусочков информации по ходу приключения. Записки, диалоги, описания предметов — любая мелочь может стать ключом к пониманию…|Игромания...
17 04 2024 15:27:49
Эту статью хотелось бы начать словами Альфреда Хичкока: «Сравните две гипотетические сцены в фильме. Вот первая — представьте, что мы с вами так мило беседуем. А под столом, за которым мы сидим, пристроена бомба. Все тихо-мирно, и вдруг…|Игромания...
16 04 2024 3:34:11
Идеологи С.В.И.Н.ского фашизма из Stormregion решили подарить вторую жизнь движку своей забавной стратегии. Тут подклеили, там подкрасили, содрали уши, заткнули пятаки — и получилась совсем уже другая игра, посвященная изрытым полям ср...
15 04 2024 1:16:25
«…На очень японской портативной консоли вышла очередная очень японская игра. Здесь мальчики, больше похожие на девочек, бьют невзрачных монстров-желе мечами в форме дверных ключей. А потом в кадре внезапно появляются Гуфи и Дональд Дак. Они, как и Микки-М...
14 04 2024 7:45:29
Counter-Strike  Потрясающие модели вооружения, среди которых и замечательный Bloody Knife, призванный заменить исходную модель ножа на более кровавую, и винтовка американских морских пехотинцев, заменяющая всеми любимый автомат…|Игромания...
13 04 2024 15:13:15
«…Однажды ночью на землю упала звезда, и теперь она бродит по лесу в виде маленького белого человечка, пытаясь забраться куда повыше и запрыгнуть оттуда домой…»...
12 04 2024 14:35:45
Каждый день он тратит на тренировки до 10 час...
11 04 2024 8:32:41
«…Я не люблю смотреть и читать то, о чем разом начинают вопить эти ваши интернеты, что вдруг становится трендовым, модным, попсовым. Обычно жду, когда спадет волна…»...
10 04 2024 13:26:52
Шани — The Witcher 3 Наташа Кочеткова, широко известная на международной арене косплея как Narga, славится своими образами из вселенной Warcraft. Но не так давно дeвyшка поближе познакомилась со вселенной The Witcher, и следом за её…|Игромания...
09 04 2024 9:51:38
Нетбук-трaнcформер Технические хаpaктеристики Операционная система: Windows 7 Home Premium * Дисплей: 10,1 дюйма (1024x600), сенсорный ЖК (мультитач), LED-подсветка * Процессор: Intel Atom N450, 1,66 ГГц * Оперативная память: 1/2 Гб DDR2-667 МГц *…|Игромания...
08 04 2024 8:52:28
Студия Sony позиционирует «Интернэшнл» как расширение «Людей в чёрном», но на пpaктике фильм выглядит и ощущается как самый обыкновенный ремейк. Судите сами: главная героиня, зелёный новичок, получает в…|Игромания...
07 04 2024 3:24:54
«…Вот уже шесть лет Valve мучает своих фанатов неопределенностью, и кто знает, сколько еще будет этим заниматься. Трудно следить за событиями шесть лет, поэтому мы подготовили для вас детальное криминалистическое расследование. Мы тщательно проследим весь...
06 04 2024 1:38:28
У игровой серии Ice Age интересная «история успеха». Первой части вообще не было. Вторая с подзаголовком The Meltdown оказалась чуть ли не лучшей аркадой по мультфильму — ярким прыжковым аттpaкционом про чокнутую саблезубую белку,…|Игромания...
05 04 2024 12:13:14
Как же это, друзья? Человек глядит на вишни в цвету, А на поясе длинный меч! Керай Свершилось! Одна из лучших приставочных игр появилась на небосклоне игр компьютерных. Графика отличная (даже мимика разработана на хорошем уровне), а карты, против...
04 04 2024 10:23:29
Море юмора, задачки самой разной сложности, различные тактики прохождения. Если вы не знаете, что такое Tower Defense, то это замечательный повод познакомиться. И что особо примечательно — в отличие от многих аналогичных игр, у нее есть лицо. И неважно, ч...
03 04 2024 4:44:26
Вам никогда не хотелось узнать, о чем думают окружающие? Какие мысли роятся в голове маленькой дeвoчки, что с полуоткрытым от счастья ртом ставит клизму своей кошке? Зачем обитающий в соседней квартире выводок…|Игромания...
02 04 2024 5:47:57
Илон Маск отрицает разработку зомби-вируса для продвижения своих огнемётов. Но мы всё равно решили проанализировать, как его изобретения могут помочь справиться с зомби апокалипсисом....
01 04 2024 13:23:35
«…Ближе всего к реальности подошел жанр научной фантастики, который позволяет взглянуть на известные сегодня вещи в далекой перспективе. Сегодня мы вместе с вами проведем экскурс по некоторым игровым сеттингам (если где-то не упомянута ваша любимая игра,...
31 03 2024 12:20:59
Special Как мы участвовали в чемпионате России по JUST DANCEНа недавнем Игромире прошёл чемпионат России по танцевальной игре Just Dance 2017. Не побоялся принять в нём участие наш технический…|Игромания...
30 03 2024 20:31:53
Представляем вашему вниманию обновленный сводный список отечественных локализаций и проектов. Данная таблица состоит из двух разделов, которые, в свою очередь, разделяются на подразделы: 1)ПОСТУПИЛИ В ПРОДАЖУ. Сюда помещаются все те игры, котор...
29 03 2024 1:26:42
«…Игра использует стандартную для стратегий в реальном времени камеру и похожий интерфейс, однако сражения приправлены драйвом и элементами ролевых экшенов. Грубо говоря, выглядит и управляется Dota примерно как StarCraft 2, но вы не строите базу и распор...
28 03 2024 4:53:24
На закрытый показ Cyberpunk 2077 на минувшей Е3 2018 записывались с боем, а судачили больше, чем о какой-либо другой игре: «Ну что, ты уже был на «Киберпанке»? Как тебе?» —…|Игромания...
27 03 2024 20:46:36
За синими дверями всегда лежит красная ключ-карта и спавнится много ящиков с лутом. Причём не только обычных, но и военных. С их помощью вы быстро обзаведётесь хорошей экипировкой и в дальнейшем сможете зайти в монументы с красными дверями. Где…|Игромания...
26 03 2024 3:57:39
Игры по вселенной «Мира тьмы», выросшие из настолок издательства White Wolf Publishing, задали высокую планку качества как для индустрии в целом, так и для франшизы Vampire: The Masquerade в частности. Поначалу и у Redemption, и…|Игромания...
25 03 2024 7:51:16
«…массового фарма на пустошах, PvP-дуэлей и прочего в Destiny не будет. Каждый человек играет в отдельном хабе, под стеклянным куполом. В специально отведенных для этого местах и во время некоторых миссий мимо могут пробежать игроки из вашего списка друзе...
24 03 2024 13:10:44
24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru и по SMS на короткий номер 1121 с префиксом #dev (в начале сообщения печатаете слово #dev, а затем, через пробел, сам вопрос). Стоимость…|Игромания...
23 03 2024 22:20:34
«…мы так и не смогли придумать ни одной серьезной претензии к Mortal Kombat. Игра стильная, зрелищная, разнообразная, кровавая до истерического смеха и дружелюбная к пользователю. Она, в конце концов, идеально заменяет надоевший Guitar Hero в условном спи...
22 03 2024 2:49:21
из названия игры исчезло слово Call of Duty. Игра, про которую мы тут рассказываем, отныне называется Modern Warfare 2. «Мы все еще относимся ко вселенной Call of Duty, но это — отдельное произведение», — говорят Infinity Ward. Я с...
21 03 2024 20:26:52
ГВОЗДЬ НАБОРА SurfXpert 1.2.85 Разработчик: Softshape Development Язык: русский Сайт:…|Игромания...
20 03 2024 3:44:55
«…Технологическая победа, пожалуй, все-таки достанется Microsoft: для того чтобы отслеживать движения игрока во всех трех измерениях, Kinect не нужны никакие светящиеся «волшебные палочки», а кроме того, устройство видит и может использовать против вас лю...
19 03 2024 20:43:46
Эй, оператор, выключи камеру, я слепну! Немецкая студия House of Tales, как и многие новички, изрядно понабивала шишек в начале своего творческого пути, выпустив очень слабенькую адвенчуру The Mystery of the Druids. Впрочем, обильная крит...
18 03 2024 7:47:32
«Левый два, осторожно, сужение дороги! Прямо пятьсот, прыжок! Правый три, не срезáть! Осторожно, камни на обочине. Прямо через лужу, через шестьсот метров — финиш». Поверьте, даже по пути на дачу вы сможете…|Игромания...
17 03 2024 11:57:52
Homo Joystickus Знаете, как отличить человека от обезьяны? Как, спрашиваю я вас, вычлeнить из класса млекопитающих вид гуманоидов разумных? Остался ли хоть один интеллектуальный тест, способный однозначно определить: кто орангутанг, а кто слесарь...
16 03 2024 22:20:10
«…Когда вы будете читать эти строки, на прилавках, возможно, уже появится следующая модель рулевого набора от Logitech — G27. Механизм обратной связи стал еще совершеннее: два мотора реалистично моделируют потерю сцепления с дорогой, нагрузки в поворотах...
15 03 2024 4:21:22
С выходом каждой новой игры из серии Final Fantasy особо активные игроки обязательно устраивают против нее крестовый поход с целью доказать всем остальным, что новая «Последняя фантазия» на порядок хуже предыдущих. Занятие столь…|Игромания...
14 03 2024 5:41:19
Двести с лишним лет назад колонисты, осваивая центральную часть Америки, ныне Мэриленд, нашли прелестное место у ручья, тихое и спокойное. На собрании двадцати семей было решено основать здесь город и назвать его Блэр. Ему предвещали богатое будущее...
13 03 2024 3:41:38
Во что играли 5 лет назадThe Sims Online Дата выхода: 2002Жанр: Разговорчики в строюИздатель/разработчик: Electronic Arts/MaxisИз всех онлайновых игр The Sims Online — самая умиротворенная. Обычный лытдыбр: пришел на вечеринку, гостей —…|Игромания...
12 03 2024 2:22:55
Для чего это знать гeймеру? Да хотя бы для того, чтобы не только понимать фразы вроде “у этого новейшего акселератора в два раза выше fillrate и в 4 раза больше видеопамяти”, но и наглядно представлять, насколько эти “в два раза” и “в четыре раза” сделают...
11 03 2024 12:33:24
Что такое шутер от первого лица? Это игра, в которой мы видим окружающий мир как бы глазами своего персонажа. И этот мир обычно настроен враждебно, поэтому главным методом общения с ним выступает насилие. Именно «вид из глаз» и…|Игромания...
10 03 2024 23:55:23
В период своей жизни в Инадзуме Каэдэхара Кадзуха вытерпел много невзгод. Но сейчас этот стрaнcтвующий самурай готов бросить вызов любым неприятностям. Следуя собственному кодексу, он усилит вашу комaнду мастерством стихий, добавит Рассеивание в ваш…|Игромания...
09 03 2024 13:47:17
«…Если все-таки попытаться описать происходящее в привычных игровых терминах, получится, что это хардкорный экшен со строгой, давно забытой top-down перспективой: камера висит перпендикулярно над теменем героя, ни на градус не отклоняясь от прямого угла....
08 03 2024 10:59:27
Championship Manager образца 2005 года ничем особенным не запомнился и принес поклонникам серии скорее разочарование. Ну а что же новая часть?Увы, Championship Manager2006 встречает нас все тем же неуклюжим интерфейсом. Обещают, правда, патч, н...
07 03 2024 4:20:16
НОВОСТИ * ПОЛЕЗНОСТИ * УТИЛИТЫ * ИГРЫ * ЗАСТАВКИ ДЛЯ МОБИЛЬНИКОВ“Под вопросом”, “А они все лезут и лезут, “Мобильники вытесняют обычные телефоны”, “Nokia открывает онлайновую службу Preminet” * English-Russian Dictionary, FExplorer 1.11 * Fly Submarine, O...
06 03 2024 1:44:34
В этом выпуске: френды по плейлистам, поисковик по людям, сервер признаний и три миллиона смайликов. Также, как обычно, ежемecячный набор флэш-пожирателей времени....
05 03 2024 17:13:58
Еще:
Игры -1 :: Игры -2 :: Игры -3 :: Игры -4 :: Игры -5 :: Игры -6 :: Игры -7 :: Игры -8 :: Игры -9 :: Игры -10 :: Игры -11 :: Игры -12 :: Игры -13 :: Игры -14 :: Игры -15 :: Игры -16 :: Игры -17 :: Игры -18 :: Игры -19 :: Игры -20 :: Игры -21 :: Игры -22 :: Игры -23 :: Игры -24 :: Игры -25 :: Игры -26 :: Игры -27 :: Игры -28 :: Игры -29 :: Игры -30 :: Игры -31 :: Игры -32 :: Игры -33 :: Игры -34 :: Игры -35 :: Игры -36 :: Игры -37 :: Игры -38 :: Игры -39 :: Игры -40 :: Игры -41 :: Игры -42 :: Игры -43 :: Игры -44 :: Игры -45 :: Игры -46 :: Игры -47 :: Игры -48 :: Игры -49 :: Игры -50 :: Игры -51 :: Игры -52 :: Игры -53 :: Игры -54 ::