Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma
karatetlacitka.png (12925 bytes) Intro Buildable objects Effects Parameters Extra Home

Intro

Celé se to dìlí zhruba na 3 typy tagù:
  • Buildable objects jsou v¹echny "objekty" co si musí¹ pøedem vytvoøit - definovat, napø obrázek, hudba, 3d objekt, text atd.
  • Effects dìlají právì ty efekty, posunutím sprajtu zaèínaje 3d tunelem konèe.
  • Parameters functions jsou parametry a funkce kterýma ovládá¹ efekty.
Pak je¹te dal¹ích 5 "speciálních" tagù:
  • <MAIN> nazevdema |0|1 </MAIN> bez tohoto tagu ti to nepojede. Musí ho obsahovat ka¾dý skript.
  • <KSCRIPT>...</KSCRIPT> ohranièuje èást s názvem dema a poøadím Kpartù.
  • <ID> nazevdema </ID> název dema nebo Kpartu. Musí být souèástí tagu <KSCRIPT>...</KSCRIPT> a taky <PLAY>...</PLAY>
  • <PLAY> nazevKpartu |500|0|1 </PLAY> Taky musí být souèástí tagu <KSCRIPT>...</KSCRIPT>. Více.
  • <KPART>...</KPART> v nìm jsou v¹echny ty efekty a parametry, zkrátka tady se to v¹echno odehrává. Kpart musí mít taky své <ID> nazevKpartu </ID>, které uplatní¹ v tagu <PLAY>...</PLAY>

Udìlej si sérii objektù (Buildable objects), které mají tag co je identifikuje, název (label) a dal¹í parametry podle typu. Napøíklad pro bitmapový obrázek: <Kimg> myimage1 |data/jamajka.iff </Kimg>, který vytvoøí "objekt" s názvem myimage1 pou¾itelný pro jakýkoli grafický efekt. Dál u¾ bude¹ pou¾ívat jenom název myimage1. Samozøejmì ho mù¾e¹ pou¾ít vícekrát i v rùzných "rolích". Následuje èást <KSCRIPT>...</KSCRIPT> která obsahuje název dema a poøadí "pøehrávání" Kpartù. Kparty mù¾e¹ pøehrávat rychle, pomalu, tøeba od pùlky nebo pozpátku. Mohou se i opakovat, pøehrávat ka¾dý jinou rychlostí a pod. Pøehrávání zaèíná od zhora dolù. A koneènì èásti <KPART>...</KPART> (nebo jenom jedna). Kparty se skládají z "efektù" a jejich parametrù. Je potøeba vìdìt ¾e efekty se chovají jako vrstvy. To znamená ¾e kdy¾ mám tøeba 3 efekty pøes sebe, efekt co je zapsán jako první v poøadí bude vespod a tøetí bude navrchu. V Kpartu nemusí být ¾ádná grafika ale tøeba jenom spustí hudbu nebo resetne paletu.

schema.png (10102 bytes)
Obrázek ukazuje "demo" s názvem myscript slo¾ené ze dvou objektù Kimg a dvou Kpartù. Ka¾dý Kpart má dva efekty (SetPalette a Sprite).

Tag <MAIN> mù¾e být klidnì i na konci skriptu, stejnì taky <KSCRIPT>, nemusí¹ tedy striktnì zachovávat poøadí tìchto èástí jako na obrázku. Karate si to v¾dy najde a podle názvù správnì identifikuje. Kdyby nìco nehrálo, vyhodí celkem srozumitelnou hlá¹ku i s èíslem øádku kde se vyskytla chyba. Sláva autorovi.

V Karate mù¾e¹ psát komentáø, témìø kamkoliv ale ne dovnitø tagu (ve tvaru: <Tag>... uvnitø ...</Tag>).   Jsou dvì vyjímky, mù¾e¹ psát komentáøe do <KPART>...</KPART> tagu a <KSCRIPT>...</KSCRIPT> tagu.

dobre.png (9214 bytes)
Takhle je to správnì.
spatne.png (8427 bytes)
Takhle tedy ne.

Jinak do tagu se prostì komentáø psát nemá (ale to dá rozum). V textu co je mezi <KPART> a </KPART>, se Karate zajimá pouze o 2 typy tagù: <ID>...</ID> a <Fx>...</Fx>. Je¹tì teda <Pa>...</Pa>, ale ty jsou souèástí <Fx>. V textu mezi <KSCRIPT> a </KSCRIPT> se Karate divá jen po <ID>...</ID> a <PLAY>...</PLAY>. Vlastnì v¹echen text co není uzavøen v tagu Karate ignoruje a pova¾uje za komentáø, je tedy velmi jednoduché psát komentáøe.

Dùle¾ité je vìdìt ¾e tagy se musí psát pøesnì.
<Kpart>=dobøe, < Kpart > nebo <Kpart > nebo < Kpart>=¹patnì. Zmìní¹-li znak nebo dá¹ mezeru v tagu, tak se vypne a je pova¾ován za komentáø! To je ale taky výhoda kdy¾ chce¹ vypnout nìjaký efekt, nemusí¹ ho nìjak pøesunovat mazat atd. jenom ho vypne¹.

V¹echen text je non case-sensitive. <Kpart> je stejné jako <KPArt> nebo <kPaRt> Názvy (label) jsou taky non-case-sensitive, a mohou obsahovat mezery. Jen mezery a tabulátory pøed a za názvem budou oøíznuty. V názvech mù¾e¹ pou¾ít i paznaky. Vet¹ina tagù potøebuje víc parametrù, ty se od sebe oddìlují znakem "|" (pipe).

Karate bì¾í v 8bit re¾imu, tak¾e v¹echny obrázky textury apod. musí mít maximálnì 256 barev.
Vìt¹ina bitmap mù¾e mít jakoukoli velikost (no milion pixelù jsem nezkou¹el), ov¹em i tady je pár vyjímek.
Bitmapy co chce¹ pou¾ít jako texturu (<t3dMapping>) nebo "deform texturu" musí mít 256x256 pixelù.
Bitmapa pro (<Kcolortable>) musí mít 256x128 pixelù.
"Lightmapa" (<t3dFlatLightMap>) ta musí mít 64x64 pixelù.
Ve speciálních pøípadech má lightmapa 64x64 pixelù a 64 odstínù ¹edé, pro "odlesky" atd. (<t3dGoureau> , <t3dFlatLightMap>)

O nahrání bitmap se postarají AmigaOS datatypy. Iff formát se hodí asi nejlépe , mimoto ¾e je taky nejvíc Amiga :) Co se týèe hudby Karate umí pøehrávat moduly ve formátu DBM (DigiBooster) skrze AHI a formát p61 (4ch) pou¾itelný pro Paula Amigy. Na "ne Paula" Amigách mù¾e dìlat problémy. Nástroj na konverzi .mod do .p61 je na Aminetu.


Snad v¹echno se v Karate "toèí" okolo pozice, èasu a palety.

Pozice...

V pøípadì pozice zapomeò na rozli¹ení (ve smyslu screen resolution). Karate zkrátka v¾dy bere screen jako ètverec kde pozice X1=0.0 Y1=0.0 je levý horní roh a X2=1.0 Y2=1.0 jak jistì tu¹í¹, pravý dolní roh. Z toho vyplývá ¾e pozice støedu je 0.5 . Tady to autor geniálnì vyøe¹il, nemusí¹ si hlídat velikosti screenu a jeho rozli¹ení. Prostì 0 a 1 :)

mrizka.png (3808 bytes)
Nezdá se to, ale tímhle zpùsobem umístí¹ cokoli kamkoli. Nezapomeò je¹tì je tu osa Z.

Tento souøadnicový systém je "v¹udypøítomný". Kdy¾ chce¹ nìco posunout nebo jako parametr k efektu, v¾dy podle tìchto souøadnic. A mù¾e¹ zadávat i pozice mimo sceen (tøeba logo vyjede zleva apod.) Souøadnice se pou¾ívají èasto a za chvíli si zvykne¹ (bude¹ muset haha). Kdy¾tak ètvereèkovaný papír a tu¾ka to jistí.


Èas...

Základní èasovou jednotkou je pùlsekunda, 50Hz. Aby se to nepletlo, zapisuje se èíslem 25.

0.5 sekundy 25
1 sekunda 50
1.5 sekundy 75
2 sekundy 100

Dùle¾itá vìc: èas se "pøipoèítává" nìco jako timeline, nezadává¹ jak dlouho má parametr trvat, ale odkdy-dokdy. Èas stále bì¾í dopøedu. Napøiklad parametr Bounce pøesunuje sprajt z jedné pozice na druhou pozici, tam setrvá a vrátí se zpìt na pùvodní pozici. Pøesun zaène v èase 0, na druhou pozici se dostane za èas 150 tam sertvá do 300 (tak¾e tady neèeká 300 jednotek, ale 150) pak se stejnou rychlostí vrátí na pùvodní pozici. Z toho vyplývá ¾e celá akce trvala 450 jednotek, tedy 9 sekund.

cas.png (1108 bytes)
Èas - Timeline.

Èas co je zapsán v tagu <PLAY> je "nadøazen" èasu v Kpartu. Musí¹ si tedy v¹echno spoèítat, ale to není problém.


Paleta...

Paleta není pevnì daná, tu urèís ty. V¹echny bitmapy v jednom Kpartu musí být nakresleny-ulo¾eny ve stejné paletì a tu potom musí¹ "uzamknout" (Setpalette). Proto¾e je aktuální paleta zamknutá, bitmapy s jinou paletou by se nezobrazovaly správnì. Ka¾dý dal¹í Kpart s grafikou, má svou paletu podle bitmap kterých v nìm pou¾ije¹. Nezapomeò jen 256 barev.

paleta.png (3513 bytes)
Paleta tvých bitmap vypadá napøíklad takto.

Barvy v paletì se zapisují od èísla 0 do 255, s tím ¾e barva 0 je prùhledná (mù¾e být i jiná ne¾ obvyklá èerná). Tøeba pozadí nemusí být bitmapa, ale jenom jedna barva a to èíslo barvy si musí¹ "najít" v tvé aktuální paletì. Kdy¾ pou¾ívá¹ víc palet v jednom demu, rozlo¾ení barev mù¾e být jiné. Èísla toti¾ popisují pozici barvy v paletì, ne jejich skuteènou barvu.


Jak celý skript-demo spusit a opustit ?

Nejlep¹í je spou¹tìt skript z adresáøe kde má¹ soubor Karate, adresáø Fx a tvoje bitmapy/moduly (v adresáøi nebo ne). Jde to i jinak, ale takhle se vyhne¹ poèáteèním problémùm. Demo opustí¹ kdykoli stiskem levého tlacítka my¹i, nebo klávesou Esc.
Napí¹e¹ v shellu:

Karate s=mojedemo.txt , otevøe se screenmode requester, vybere¹ mód a skript se rozjede.
Karate s=mojedemo.txt w=320 h=240 , skript se rozjede rovnou v 320x240.
Karate s=mojedemo.txt b=loader.txt , b jako bootscript. Mezitím co se nahrává celé demo, probíhá skript loader.txt co si napí¹e¹.
Karate c , vypí¹e se "diagnostika" v¹ech efektù a parametrù. Taky jejich krátká nápovìda (velmi u¾iteèné).
Karate nmt , kdy¾ pøidá¹ tento parametr, demo se dá opustit jen klávesou Esc (taky u¾iteèné).

Nebo to mù¾e¹ spustit ikonou pøes Iconx.

Èerný pás èeká......

ghh don'tpanic