![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по игре Xonix. [Delphi, Windows]
Zak3D[@Tm] © (2004-07-19 17:18:00)В игре Xonix необходимо открыть картинку, я это хочу сделать так -
У меня есть одня поверхность заполненная черным цветом, а по ней катается собственно шарик, шарик оставляет за собой след ( режет чёрную поверхность). Как расчитать вырезанную часть, которую в последствии я отображу как открытую.
Если что не понятно ( понимаю, что объяснил плохо : ( ), то спрашивайте, уточню.
Заранее огромное спасибо.
Zak3D[@Tm] (2004-07-22 14:14:00) [21]Ну вообщето, раз мне и так его надо делать, то я хотел поучавствовать : )
ПсихЪ_задумчивый (2004-07-22 10:14:00) [22]
> Zak3D[@Tm] © (21.07.04 22:52) [11]
Дык, следи за развитием, а потом просто передирай исходники... (:
Zak3D[@Tm] (2004-07-21 22:52:00) [23]Интересно, конкурс по игре замутили, а вот предложений реализации не так уж и много ; )
ПсихЪ_нигер (2004-07-21 16:02:00) [24]Вчера до почты так и не дорвался - сегодня гляну...
ПсихЪ_задумчивый (2004-07-20 15:55:00) [25]Ссылку не дам, но могу скинуть на мыло, когда доберусь до дома. Сколько весит не помню, поэтому вот что сделай:
1. Запомни адрес stalker2010@front.ru.
2. Создай новое письмо с сабжектом "Xonix" и запомненным мылом.
3. В теле письма укажи файл какого размера готов принять почтой.
4. Отошли письмо... (:
Если архив с игрой превысит указанный тобой размер - выложу на сервак и дам ссылку. Правда сервак этот сейчас все ругают за тормоза, но если тебе повезёт - прорвёшься и скачаешь.
Drinkins (2004-07-20 15:04:00) [26]дай ссылку на ксеникс... ни разу не видел такое чудо... прямо интригует...
ПсихЪ_задумчивый (2004-07-20 14:29:00) [27]
> Drinkins (20.07.04 14:26) [6]
Дык альфой должна заливаться отрезанная шариком форма только после того, как она отрезана (шарик снова окажется на уже отрезанно части уровня). Так что этот метод тут не подойдёт.
Drinkins (2004-07-20 14:26:00) [28]я бы делалл с помощью альфы. Имеется ченрая поверхность с альфой =255. Шарик катится по поверхности и рисует альфой=0.
ПсихЪ_задумчивый (2004-07-20 11:37:00) [29]
> Zak3D[@Tm] © (19.07.04 23:15) [3]
Можешь извратиться вот так вот:
1. Координаты в динамический массив записываются когда шарик изменяет направление.
2. Так, где открытая часть уровня, на чёрную поверхность наносим цвет равный ColorKey этой поверхности.
3. Выводим на экран необходимую картинку.
4. Выводим чёрную область с прозрачными открытыми кусками.
В итоге имеем то, что тебе нужно...
Белый Крыс (2004-07-20 11:26:00) [30]Твоя отрезанная часть - мечена, по метке и выводи. У тебя игровое поле как матрица представлено?
Mas : array [ , ] of boolean;
сначала для всех клеток false (закрыты), потом те, которые открыты - true;
if not Mas[x, y] then draw(x, y,...)
Zak3D[@Tm] (2004-07-19 23:15:00) [31]Как выбрать меньшую-то я знаю, а вот как вывести на экран только отрезанную часть, не знаю. Мне кажется нужно через TRect попробовать, но что-то не соображу как... : (
Белый Крыс (2004-07-19 22:58:00) [32]Сравниваешь "закрытые" части, разделенные ломаной, т.е. кол-во точек (клеток) с обоих сторон, там где меньше, ту открываешь.
Для подсчета можно брать по одной точке с каждой стороны, из неё идти в соседние, если можно, и метить все их как-нибудь (с разных сторон по разному, например, когда закончишь метить с одной стороны, начинаешь дпугой меткой с другой стороны). Потом считаешь кол-во меченных.
Proger (2004-07-19 20:29:00) [33]Наверное так, предположим шарик начал движение наверх, сохраняешь его координаты в массив, если изменил направление
направо или налево, опять суёшь в массив и так пока не дойдет
до одного из краёв экрана, а дальше пока незнаю...