Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Загруз в PowerDraw   Найти похожие ветки 

 
Domowoi   (2004-12-08 23:55) [0]

Мля... Ну и лажа... Я разочарован PowerDraw... Да по скорости я конечно не спорю: DelphiX и в подметки не гоlится PowerDraw. Да но по сложности он намного тяжелее чем DelphiX( а все кричали не тяжелее!!!, не тяжелее!!!!) Если DelphiX я понял за пару часов (алгоритм), то в PowerDraw я нифига НЕ ПОНЯЛ !!! :(
P.S. Уже е**усь с ним  5!!! день и так и ничего не понял...
Люди киньте плиз или линки на исходники или на какие-нибудь доки на что нидбудь. Только киньте плиз!!!


 
Darthman ©   (2004-12-09 09:10) [1]

1) исходники идут в комплекте. Не один пример, кстати. РАзобраться по ним можно. Доки тоже в комплекте.
качайте и радуйтесь.


 
dRake   (2004-12-09 12:27) [2]

Мля ну напиши что непонятного!
Я с первого раза просек, как посмотрел на примеры.

Глянь пример, где просто выводится надпись PowerDraw - там все что надо есть. Или напиши на форум что не понял - все те растолкую....


 
TButton ©   (2004-12-09 17:24) [3]

re [2]
во. спрашиваю.
в дельфи-х.... был имадж лист, который позволял хранить анимированые спрайты и выводить нужный кадр анимации. в поваре дров с этим, как я понял, напряг. или я неправильно понял?


 
Darthman ©   (2004-12-09 17:55) [4]

VTDB вместо имаджлиста можешь использовать
Анимированные спрайты тоже не беда. При загрузке указываешь размер паттерна, а при отрисовке номер паттерна.


 
dRake   (2004-12-09 18:11) [5]

2 TButton

Неправильно понял ;)

В PD есть такая замечательная штука как паттерны.

Когда ты грузишь текстуру, там есть параметры PtWidth, PtHeight, TexWidth и TexHeight. Объясню нафига они нужны.

TexWidth, TexHeight - это размеры текстуры, в коророй будет храниться твоя картинка. Эти размеры обязательно должны быть степенями двойки (32, 64, 128...). Тоесть если твоя картинка например 425х234 то ее придется запихнуть в текстуру 512х256.

PatWidth, PatHeight - это размеры паттернов, тоесть кусков на которые будет резаться твоя картинка. Их размеры могут быть любыми (ну естесс-но не болше размера текстуры ;)
Вот для той картинки 425х234 в качестве размеров паттерна нужно бует указать именно ее реальные размеры - 425х234. Тоесть получится что твоя неформатная картинка будет лежать в правильной, но большей по размеру текстуре, а при отрисовке будет рисоваться только кусок, ограниченный PatWidth и PatHeight, тоесть то что нужно ;)

А теперь анимация.

Грузим нашу текстуру (256х64), в качестве TexWidth и TexHeight указываем 256 и 64 (все ок - размеры - степени двойки).
А вот в качестве PatWidth и PatHeight - укажем 64 и 64 (ведь кадр анимации - именно 64х64). Получится что текстура разобьется на 4 куска(паттерна) 64х64.

Теперь при выводе графики (у каждой функции отрисовки есть параметр Pat - это номер (начиная с 0) того паттерна, который необходимо отрисовать) будем указывать нужный нам параметр Pat, и будет отрисовываться нужный нам кадр анимации. Паттены индексируются слева направо, потом сверху вниз, тоесть как пиксели в картинке ;) Тоесть получается что все равно как расположить в картинке 16 кадров анимации - все 16 в ряд, или в 4 ряда по 4 кадра.

Вот и все =)


 
TButton ©   (2004-12-09 20:09) [6]

ну в принципе про паттерны я знал, просто не знал как это в поваре организовано.
а за хелп, естественно спасибо.


 
dRake   (2004-12-09 21:07) [7]

Так вроде еще как-то можно их задавать вручную.... Но я туда не копал, за ненадобностью ;) Пожалста :)


 
Красный молоток   (2004-12-09 21:19) [8]

TTexCoord рулит =)
Например, очень удобно хранить много маленьких картинок в одной большой текстуре. И при выводе просто указывать их текстурные координаты.


 
Красный молоток   (2004-12-09 21:20) [9]

TTexCoord рулит =)
Например, очень удобно хранить много маленьких картинок в одной большой текстуре. И при выводе просто указывать их текстурные координаты.


 
TButton ©   (2004-12-09 22:38) [10]


> TTexCoord

was est das?


 
TButton ©   (2004-12-10 00:41) [11]

еще вопрос.
вывод текста.
TPowerFont.

Font1.LoadFromFile("../../Fonts/TimesRoman.fnt", D3DFMT_A1R5G5B5);

первый параметр - имя файла
второй - TD3DFormat
а я в этих форматах нуль.
смотрел сырцы, ничего внятного на этот счет не нашел.


 
Darth   (2004-12-10 01:54) [12]

A1 - один бит на альфа канал
R5G5B5 соответственно красный синий и зеленый по 5 бит. Тоесть 16бит текстурка. Все просто.


 
TButton ©   (2004-12-10 03:08) [13]

ага...
а утилита FontRender стало быть в этом самом формате и рендерит. да? лллладно пока.


 
MeF Dei Corvi ©   (2004-12-10 09:54) [14]


> Например, очень удобно хранить много маленьких картинок
> в одной большой текстуре

При условии, что текстура не слишком большая. Чем больше текстура - тем больше тормозов. Иногда бывает лучше большое изображение разделить на несколько маленьких и выводить их поотдельности.


 
Ландграф Павел ©   (2004-12-10 09:54) [15]

гы-гы... ацтой потому что "я ничего не понял", ну ты крут Domowoi, сиди с delphix, он же классный!=))


 
dRake   (2004-12-10 13:32) [16]

2 TButton

Да забей ты на этот PowerFont
Шрифты отстойные получаются....
Лучше напиши свою рендерилку шрифтов.


 
Красный молоток   (2004-12-10 17:30) [17]

Я вот сделал свой шрифт и рад =)
Делал из-за того, что в TPowerFont нельзя динамически сделать шрифт


 
Красный молоток   (2004-12-10 17:33) [18]

Кроме PowerDraw рекомендую посмотреть DL-FX Дарза, в скором времени он станет гораздо круче чем PowerDraw, если Дарз его конечно не забросит =)


 
Darthman ©   (2004-12-10 18:45) [19]

Не брошу, будь уверен ;)
Вот на выходных фонтрендер доделаю :D


 
Domowoi   (2004-12-10 21:16) [20]

Крута! Втихаря разоьрался с алгоритмом!:) А как выводить рисунок с transparent color"om например белым? И здесь различные объекты допустим tplayer"ы создаются с помощью delphix? да?


 
dRake ©   (2004-12-10 23:38) [21]

С прозрачным цветом :

Image.LoadFromFileAlpha1Bit(D3DDevice, Path, pW, pH, tW, tH, Color);

Вот в качестве Color и пишешь свой прозрачный цвет

А при отрисовке в качестве эффекта используй effectSrcAlpha


 
Domowoi   (2004-12-11 01:38) [22]

Ну хорошо это я понял, а как быть с различными объектами допустим tplayer,tenemy как это в powerdraw осуществляется как? А, еще как здесь сделать карту или что-то другое? Так же как и в delphiX?


 
TButton ©   (2004-12-11 06:06) [23]


> Ну хорошо это я понял, а как быть с различными объектами
> допустим tplayer,tenemy как это в powerdraw осуществляется
> как? А, еще как здесь сделать карту или что-то другое? Так
> же как и в delphiX?

ручками, уважаемый, ручками.
напрасно вы подсели на этот придурошный TDXSpriteEngine


 
Domowoi   (2004-12-11 12:07) [24]

т.е. как ручками? вообще как это создается?


 
dRake ©   (2004-12-11 16:33) [25]

>т.е. как ручками? вообще как это создается?

Ну блин это база. Копай в инете. PD - это только отрисовка графики. Всю архитектуру нужно делать самому.


 
TButton ©   (2004-12-11 19:01) [26]

а вы по копайтесь в сырцах ого самого SpriteEngine
по читайте как устроен TSprite
про анализируйте
создайте свой клас


 
Красный молоток   (2004-12-11 20:14) [27]

С содроганием вспоминаю TSpriteEngine


 
Domowoi   (2004-12-11 20:44) [28]

То есть не нужно там какие-либо компоненты кидать на форму, а нужно просто все абсолютно кодить? Я правильно понял?


 
dRake ©   (2004-12-12 00:15) [29]

>То есть не нужно там какие-либо компоненты кидать на форму, а >нужно просто все абсолютно кодить? Я правильно понял?

Совершенно верно, ибо это и весть единственно правильный путь.


 
TButton ©   (2004-12-12 02:14) [30]


> То есть не нужно там какие-либо компоненты кидать на форму,
> а нужно просто все абсолютно кодить? Я правильно понял?

он прозрел!
ему открылась истина!
виват Домовой!


 
Domowoi   (2004-12-13 13:21) [31]

А где можно подробнее узнать про это создание ручками?


 
Красный молоток   (2004-12-13 14:52) [32]

Про то, что должен содержать игровой движок, можно взять из DelphiX, но затачивать под определенную игру.


 
Красный молоток   (2004-12-13 14:52) [33]

То, что должен содержать игровой движок, можно взять из DelphiX, но затачивать под определенную игру.



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.045 c
3-1107522327
mefodiy
2005-02-04 16:05
2005.03.13
Создание хранимой процедуры в Oracle в RunTime


1-1109678219
Doxygen
2005-03-01 14:56
2005.03.13
Файл или директория


4-1106136295
ShiZ
2005-01-19 15:04
2005.03.13
Отлавливание сигналов с клавиатуры.


14-1108794595
Serg86_m
2005-02-19 09:29
2005.03.13
Подскажите компонент...


3-1107535330
TheEd
2005-02-04 19:42
2005.03.13
Как заставить DBGrid отображать изменения триггера BeforeInsert?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский