Удаление
Я сталкнулся с такой проблемой. У меня здаровье игрока представлены 8-ю картинками(Полосками).
Как при нажатии какой либо кнопки удалять по очереди картинки, а потом также их рисовать. |
Re: Удаление
просто циклом
рисуй те что тебе нужны в данный момент (в данный кадр) |
Re: Удаление
Нужна переменная, которая хранит количество отображаемых на экране полосок. При нажатии кнопки уменшается значение переменной. Если она равна нулю, присвоить ей максимальное значение.
А в главном цикле цикл: Код:
for i = 0 to kolichestvo_polosok_na_ekrane Код:
for i = 0 to kolichestvo_polosok_na_ekrane |
Re: Удаление
Вложений: 2
Нет. Вы не поняли. Что создать переменную i эт понятно. Вопрос звучит так: Как рисовать и стирать изображения. Вот вам картинка. Там понятней будет показать что я хочю узнать.
|
Re: Удаление
решение 1:
через буффер copyrect writepixel тебе помогут решение 2: несколько кадров той панельки, один кадлр на один возможный вариант изображения. потом просто менять кадр. |
Re: Удаление
А можно пример первого варианта. Я про втрой тоже думал, но мудится с фреймами как то лень.
|
Re: Удаление
пишу в браузере так-что х.з.
во первых есть 5 полосок, или скока там, напримекр Global pls[5] главная картинка на которой надо рисовать global mainpict предположим все они 100 на 20 пикселей, черный цвет-прозрачный. вот функция которая будет рисовать на картинке одну полосу. нужна кстати будет еще пустая полоса. в качестве src передается та картинка КОТОРУЮ нужно нарисовать. Код:
function CopyFastEx(src,x,y) да, это будет работать довольно медленно, но она использоваться часто похоже и не должна. если будет вылетать попробуй заменить read/write pixelfast на просто read/write pixel и убрать все блокировки. |
Re: Удаление
Мне кажется, проще сделать маску нужной формы, а под ней рисовать прямоугольные полоски. В данном случае в роли маски выступает сама панелька, места, где будут полоски, прозрачными сделать - только и делов.
|
Re: Удаление
У тебя должна быть, основная картинка и картинки, с полосками, 8 штук. и просто отрисовываешь определённую, исходя из переменной.
У тебя должны они быть отдельно. |
Re: Удаление
А как тебе такой вариант вместо полосок сектора. Ну допустим сначала полоска из 5 секторов зеленого цвета потом, допустим при повреждении игрока, крайняя правая полоска становится желтого цвета потом красного потом черного все. переход на след зел полоску и так далее. Я делал так. Надо-то всего нарисовать зел сектор жел и красн. А выглядит прилично.
|
Re: Удаление
Народ , что вы паритесь , надо просто нарисовать одну полоску можно разноцветную(если здоровье приближается к критическому) и загрузить ее ка анимированный рисунок
допустим рисунок 100x20 LifeLine=LoadAnimImage("LifeLine.png",2,20,50,0) т.е. вы буквально делите рисунок на кадры(длиной 2 пиксела) , а потом отображаете сколько нужно фрэймов(кадров) и все. |
Re: Удаление
При нажатии создаёься пуля и летит по напровлению. Циклом я создаю астероиды. А как их столкнуть? Как произвести коллизию двух обьектов, которые создаются в разное время из типа.
Код:
Function asteroids() |
Re: Удаление
Так кто нить знает как сталкивать два обьекта, которые создаются в разное время из типов???? Очь надеюсь на вашу помощь...
|
Re: Удаление
кого столкнуть? в какое разное время?
вот суть for t1.type1=each type1 for t2.type2=each type2 if abs(t1\x-t2\x)<10 and abs(t1\y-t2\y)<10 then бла-бла-бла next next тут перебираются два списка, и когда один элемент одного списка имеет приблизительные координыты какого-либо элемента второго списка, то происходит бла-бла-бла |
Re: Удаление
Вложений: 2
Кароче, та же коллизия... В том то и проблема. Задаеём перебор первого цикла затем сразу же второго и получается взаимоисключающяя вещь. Если нет острероидов то не видно пули и наооборот. Нет пусль- невидно астероидов. Ладно. В связи с сложности моеё ситуации я выкладываю весь мой корявый код и медиа к нему. Может тогда кто чем сможет поможет....
|
Часовой пояс GMT +4, время: 02:33. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot