Форум: "Игры";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
ВнизПолоска здоровья: DelphiX Найти похожие ветки
← →
greenrul (2002-09-29 20:26) [0]Как вообще такие вещи рисуются зная координаты юнитов? Ну разумеется цвет полоски можно менять, а саму полоску "сжимать".
И где вообще можно найти НОРМАЛЬНЫЙ хелп или руководство на английском по DelphiX с ПРИМЕРАМИ (чего в стандартном DelphiX хелпе нет)
← →
greenrul (2002-09-30 15:13) [1]Please help
← →
Карлсон (2002-09-30 20:39) [2]насчет полоски я лично делаю так, мож ето конечно и не правильно, но все же.
у мя есть два интегера типа life1 и life2.
при запуске игры их значения устанавливаются в "5".
на таймере который перелистывает буфера, у меня стоит проверка значений этих жизней.
если жизнь полная, то рисуем над юнитом полоску типа "полностью зеленый битмап".
если жизнь=4, то рисуем полоску из трех желтых сегментов и т.д.
все жизни у меня нарисованы в битмапах, т.к. если делать заполнение области точками, то будет все очень сильно тормозить.
а координаты прорисовки жизней просто высчитать. нужно x перевести кажется в Float, потом флоат перевести в стринг, а потом опять в интегер.
опять же это наверняка неправильно, но если знаете другой метод, то поделитесь плиз!
← →
greenrul (2002-10-01 20:35) [3]А можно на Canvas рисовать?
я в хелпе видел описание ф-цииprocedureDrawWaveX(Dest:TDirectDrawSurface;X,Y,Width,Height,PatternIndex:amp,Len,ph:Integer);
но честно говоря так и не понял, что такое ph и пр.
Если кто ее использует - приведите пример с рисованием на коорд. x,y шириной 100, высотой 5 и задаваемым цветом.
СПАСИБО
← →
Карлсон (2002-10-01 21:01) [4]посмотри примеры, которые идут вместе с дельфиИксом.
там все и так понятно.
на канвасе я как раз и рисовал кажись....
← →
Drunken Cat (2002-10-02 10:49) [5]Посмотри в примерах на DelphiGFX (Пример изометрии, с монстриком из Дьяблы... кажись) Там для вывода на экран энергии монстра какраз используется эта функция... может станет понятнее :)
← →
greenrul (2002-10-02 19:29) [6]2Drunken Cat
Вот его я и смотрел - нифига не понял, что там за последнияя переменная и почему все не в таком порядке, как в хелпе
← →
Drunken Cat (2002-10-03 04:38) [7]Если смотрел, тогда не очень понятно чего тебе не понятно ;)
Метод TPictureCollectionItem.DrawWaveX(Dest:TDirectDrawSurface;X,Y,Width,Height,PatternIndex:amp,Len,ph:Integer);
Деформирует и выводит спрайтик (угу-угу, wave - волна... вроде :))
Dest - ну... надеюсь понятно :)
X, Y - надеюсь тоже ;)
Width,Height - на сколько растянуть по вертикали и горизонтали
PatternIndex - номер спрайта
amp - амплитуда волны (расстояние до вершины волны)
Len - длина волны (расстояние от одной до другой волны)
ph - мгм... фаза волны (то бишь, здесь можно указывать с какого момента начнется волна - с самой верхней точки, с нижней... или гдет в промежутке)
Теперь - есть картика Energy размером 128x8 в коей плавно изменяется цвет от красного к зеленому. В ImegList"e у данной картинке в пропертях PatternHeight и PatternWidth прописывается 8 и 1... так как 1, то максимальная энергия равна 127 (хочешь сделать 100, лабай картинку с шириной 100px) Все... Картинка разбита на 128 частей (1x8) номер сей части указывается в FEnergy. Метод DrawWaveX берет картинку, растягивает, дефармирует, выводит...
Вообще, насколько я понял, вся сия байда с DrawWaveX использована лишь чтоб анимировать полоску жизни (она эдак извивается), если тебе это собственно и не нужно, то используй StretchDraw.
P.S. Надеюсь понятно объяснил ;)
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c