Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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.57 MB
Время: 0.044 c
9-16841
greenrul
2002-10-04 13:59
2003.03.06
Замучался с углами - sin256 и просто sin....


1-17119
Meson
2003-02-22 12:47
2003.03.06
Frame


3-16908
RDA
2003-02-13 12:13
2003.03.06
DragDrop в DBTreeList


1-16986
dimdimka
2003-02-24 14:54
2003.03.06
Как искать тект в документе Word?


14-17286
Дракон
2003-02-18 12:25
2003.03.06
Контроллер?? Или как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский