Третья демка скоро выйдет.
Вид для печати
Третья демка скоро выйдет.
Написал альфа-версию Select Unit (персональный по ЛКМ):
https://a.radikal.ru/a26/2106/5b/f9ae4be1e2fe.png
https://c.radikal.ru/c16/2106/25/7f627cba3065.png
Пробовал рамки всяко-разно. И целую (как в ЧВ), и сверху+снизу (как в ЧВ2), и слева+справа (кстати, лучше, чем в ЧВ2), и уголками (как показано выше), и не на всю высоту, а только под ногами юнита рамочку/кружочек... Всё не то. Всё отстойно.
Переделал. Теперь селектированные юниты маркируются лайфбаром. Истинный Варкрафт-стайл. Всё равно хотел привинчивать. Теперь идеалити, что по красоте, что по функционалу. Пришлось, правда, рефрешер 2х2 на динамический переписать.
Всё сделал. Всё зашибись. :tongue:
Первая версия 8-битного "селект юнита" по тайловой сетке всесторонне протестирована и признана непригодной. Стёр нафиг.
Написал с нуля новую 16-битную по самим спрайтам юнитов на экране. Получилось афигенно! ИЗИ, посоны!!!
:v2_dizzy_punk:
Видеоотчёт:
https://disk.yandex.ru/i/Zy7h5s9KJTz3_w
https://d.radikal.ru/d01/2106/44/a7e910abae92.png
Заметили, что при скроллинге не запарывает белую зону выезжающими из экрана спрайтами? Хотя это всё ещё черновой бэк буфер. Сделал полное клиппирование. ИЗИ :cool_std:
Это означает, что можно уже сейчас, не дожидаясь реализации чистового вывода, написать мини-карту. Я специально клиппирование спрайтов осилил, вовсе не для красоты, а чтобы эту самую белую полоску выделить под постройку и хранение карты. 8х8 - карта проходимости. 8х8 - карта вуали тьмы. И 8х8 результирующая по AND. Последняя будет кидаться на чистовой экран.
Генерация события по клику ПКМ готова.
На обработчик события навешан минитрассер (подпрограмма более глобального трассера), позволяющий перемещать юнита на 1 тайл в любую сторону от текущей позиции юнита. То есть юниты начали, хоть и примитивно, но ходить!
Видео:
https://disk.yandex.ru/d/wd2s_JhlIHozdA
DragonsLord, сколько у тебя тактов уходит на вывод спрайта 16х16 и 24х24, подскажешь? В unreal там breakpoint ставишь в начале процедуры и в конце, он по выполнению в дебагер кинет и напишет сколько тактов снизу слева.
Замерять такты целесообразно только у низкоуровневых простеньких процедур.
Проект уже на той стадии, когда миллион вещей влияют на миллион комбинаций вывода или не вывода тех или иных частей процедур, посему тактовка всегда разная.
Если тебя интересует не вывод конкретно в игре, а тупо сама рисовка в чистом виде без обвеса, то вот провёл синтетический тест на рисовку без подготовки данных:
2х2 = 6355t (198t - 1 байт+маска)
3х3 = 11619t (161t - 1 байт+маска)
данные могут незначительно плавать от позиции печати. Эти конкретно значения при печати в 0,0.
P.S.: Дидлик заявлял, что у него 5000 t на юнита с обвесом.. :eek_std: Проси код у Дидлика. (наверняка у него попроще - без клипинга, без миррора и строго на указанную ширину спрайта. у меня универсальная до 10х10 с клиппингом и миррором)
Нукася дай-ка мне эту процедуру. Мне 8 килобайт подсократить - не лишним будет. :cool_std:Цитата:
Это из-за того, что процедуру спрайтов взял чужую, без таблиц, для проверки механизма. Вывод одного спрайта гуляет от 6к до 12к тактов.
Слип попросил сделать новую мышку.
Ноу проблем :tongue:
https://a.radikal.ru/a15/2106/8d/54a13c5b71f3.png
Повелитель, в чём смысл выбора keyboard/mouse? Чтобы на компьютере без мыши (для реала это нормально), случайно выбрать "мышь" и быть наказанным? Советы по инглишу : Scrolling надо переименовать в Controls. "Mouse button" - убрать. inverse - переименовать в reverse m. btns. Mouse curcor - poiner speed. speed после x1 и x2 - убрать. Что такое Animation : normalize - я не понимаю.