Эффект крови на экране

Эффект крови на экране

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

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

Подготовка

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

Установите у формы следующие свойства:

BackColor – Fuchsia
FormBorderStyle – None
DoubleBuffered – True
Text —
WindowState – Maximized
ShowInTaskbar – False
TransparencyKey – Fuchsia
TopMost — True

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

Первая кровь

Создадим класс BloodDrop, который будет отвечать за кровь, стекающую по экрану. Этот эффект реализован при помощи заранне подготовленных картинок, сохраненных как ресурсы программы. Вы можете увидеть эти картинки в папке images. Чтобы включить картинки в ресурсы программы, необходимо установить у каждой картинки в свойстве Build Action значение Embedded Resource.

Картинки, которые хранятся как ресурсы, мы можем загружать в конструкторе BloodDrop следующим образом:

Метод FromStream объекта Image позволяет загружать файл с изображением из ресурсов. Для этого нам необходимо знать имя ресурса и имя файла. В нашем случае это Halloween.images. . Мы загружаем каждый файл и сохраняем его в списке List объекта Image .

Рисование

Для гладкой анимации мы сделаем следующее. Мы будем использовать событие Tick для перерисовки экрана, при этом будет срабатывать событие OnPaint . Для плавности анимации мы установим значение свойства DoubleBuffered в True.

Читайте также:  Как перенести фото из айфона на компьютер

Для анимации крови используется таймер с интервалом 100 миллисекунд, который просто вызывает метод Invalidate . При этом срабатывает переопределенное событие OnPaint . Внутри обработчика OnPaint мы создаем новый объект BloodDrop и устанавливаем в случайном порядке горизонтальную позицию и скорость стекания капельки крови. Это создаст интересный эффект на экране монитора. Новый созданный объект BloodDrop добавляется в список List типа BloodDrop . Наконец, мы перечисляем список капель крови для анимации и вывода на экран.

При запуске программы, создается экземпляр класс Random , который сохраняется в переменной _random . Метод Next использует параметр для максимального случайного значения числа. Для этого параметра мы будем использовать ширину экрана, которую можно определить с помощью объекта SystemInformation . Для скорости стекания капли будем использовать значение 40 пикселов и добавочные 20 пикселов, чтобы случайное число не было очень маленьким.

Само рисование капли очень просто. Метод Draw класса BloodDrop выглядит следующим образом:

Мы используем объект Graphics и используем метод DrawImage для рисования нужного кадра в нужной позиции. Чтобы не перегружать процессор компьютера, мы сначала определяем, когда капля достигнет нижнего края экрана и больше ее не рисуем. Размер экрана определяется при помощи метода PrimaryMonitorSize класса SystemInformation .

Чтобы не возникало искажений и мерцаний картинки, нужно установить следующие настройки для объекта Graphics перед выводом в OnPaint.

Финальная часть

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

Нам понадобится создать PictureBox на лету и загрузить в нее картинку. Затем объект добавляется в коллекцию Controls формы и выводится на экран. Дополнительно, мы создаем два обработчика событий, которые закрывают приложение, когда пользователь нажимает на клавишу или кнопку мыши.

Читайте также:  Как заправить принтер hp deskjet 1510

Следует заметить, что звук также загружается из ресурсов и проигрывается через SoundPlay :

Планировщик

Теперь нам необходимо установить программу на компьютере жертвы и выбрать дату и время запуска. Для этого создадим простое окно конфигурации, которое показывает первое время запуска приложения. С помощью этой настройки можно будет выбрать нужную дату и время для кровавой анимации. Эти настройки сохраняются при помощи объекта Settings . Таким образом, можно скопировать программу в папку Автозагрузка или прописать запуск в реестре, чтобы в дальнейшем программа сама могла запуститься.

Для настроек заходим в Project | Properties | выбираем вкладку Settings и устанавливаем новое значение:

Теперь, при запуске, приложение проверяет установленные настройки. При этом включается таймер планировщика, который сравнивает текущее время с заданным каждую минуту. И если оно больше или равно заданному, то таймер отключается, скрытое окно разворачивается на весь экран и запускается таймер анимации.

Распространение

Так как, картинки и звук в программе используются как ресурсы, то достаточно использовать один файл для распространения и файл конфигурации.

Для показа окна настроек нужно вызвать программу с параметром -config

Заключение

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

Enhanced Blood Textures

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

Некоторые особенности:
— Увеличивает время отображения крови на оружии.
— Увеличивает размер пятен и ран.
— Изменяет время отображения, размер и количество крови на экране.
— Увеличивает шанс появления пятен крови и ран.
— Увеличивает продолжительность существования ран.
— Новые текстуры ран от клинков, когтей, луков, безоружных ударов.
— Раны выглядят более кроваво и различаются в зависимости от того, каким оружием нанесены.
— Убран эффект блика у крови на экране.
— Новые высококачественные текстуры крови.
— Улучшает цвет крови.
— Новая высококачественная текстура при обезглавливании.
— У персонажей, испытывающих эффект кровотечения теперь будет течь кровь.
— У обезглавленных противников будут конвульсии.
— У пауков и корусов отныне зеленая кровь.
— Двемерские машины истекают маслом.
— Можно выставить шанс конвульсий при добивании.
— Истекающие кровь NPC будут оставлять за собой лужи крови, чей внешний вид будет отличаться в зависимости от поверхности (песок, грязь и т.д)

Читайте также:  Как изменить видеокарту на компьютере

И многое другое.

Опциональные файлы:
— Уменьшенный размер кровавых пятен, уменьшенные раны и количество
— Темная и светлая кровь для пользователей модов на освещение
— Удаление крови с экрана и размытая кровь на экране
— Изменение времени и количества пятен крови на экране (не требуется, если используете МКМ)

Если у вас установлен ENB, FXAA Injector или мод на освещение, то, возможно, вам придется установить один из ретекстуров крови, если она окажется слишком светлой или наоборот темной.

В архиве вы найдете патчи. Используйте только ОДИН из предложенных вариантов зависимости от установленных у вас модов на существ и DLC!

Рекомендуемые моды:
Realistic Ragdolls and Force
Burn Freeze Shock Effects
No Spinning Death Animation
Improved Combat Sounds
Improved Reverb

Установка:
Воспользуйтесь Nexus Mod Manager для легкой и быстрой установки мода, установочная инструкция переведена на русский язык.

Ручная установка необходимых файлов:
1. Установите файлы из папки Core Files.
2. При необходимости установите патчи из папки Pathes:
DB — Dragonborn, DG — Dawnguard, IC — Immersive Creatures, MM — Monster Mod.
3. Установите нужные текстуры крови из папки Textures and color:
Hi — высокое разрешение, Med- среднее разрешение, Low — низкое разрешение, default — стандартный цвет, darker — темный цвет, brighter — светлый цвет.

Ссылка на основную публикацию
Что случилось с facebook
На форумах и в поисковых запросах часто встречается вопрос, почему не работает Фейсбук сегодня, и что делать в такой ситуации....
Читы для вар тандер на орлы
Данный чит носит название Орлы чит для War Thunder 3.0. Это обновление для игры вышло совсем недавно, но для него...
Что больше мегабит или килобит
В эпоху оптоволокна и накопителей объемом в десятки терабайт считать в битах не принято. Мы бы совсем забыли, чем отличается...
Что смотрят в интернете больше всего
Наверное, многим интересно, что чаще всего запрашивают люди в поисковиках, какие поисковые запросы самые популярные и востребованные. Ошибки и опечатки...
Adblock detector