karatetlacitka.png (12925 bytes) Intro Buildable objects Effects Parameters Extra Home

Rectangle

Rectangle - pravoúhelník. Toto je přesně ta věc kvůli které se budeš chtít naučit Karate script.

Jistě sis všiml(a) v ukázkách je často "<Pa></Pa> přes celej screen". Protože každý grafický efekt (mimo SetPalette a BindPalette) potřebuje vědět v jakém "rectangle" má běžet, prázdný parametr <Pa></Pa> je základní "root rectangle" a nemusí se předem definovat. Vždy je jeho velikost přes celou obrazovku.

Ty si ale můžeš vytvořit svoje pravoúhelníky, s vlastní velikostí a "clip" prostorem. V takto tebou nadefinovaných "rectangle" zobrazíš grafické efekty a zároveň s nimi můžeš provádět další operace (nájezd, odjezd, zoom, blur apod.) Pravoúhelník je buďto jeden jediný a nebo je to "otec" co má "syny". Když hýbneš otcem, hýbnou se i synové.

rectangle1.png (129597 bytes)
Jeden "otec" a čtyři synové.
rectangle2.png (86989 bytes)
Celou "rodinkou" můžeš manipulovat.

Další věcí je clip - výřez. Každý pravoúhelník má svůj "clip prostor", svoji pozici a tím zároveň i velikost. Pokud je clip menší než velikost pravoúhelníku, bude vidět jen ten výřez. Když změníš celkovou pozici - velikost, "clip prostor" se bude měnit také.

cliprec1.png (70714 bytes)
Clip a celková velikost je stejná.
cliprec2.png (91461 bytes)
Velikost zůstává, clip - výřez je menší.

Pozice (pohyb) "clipu" a velikosti ovládáš efektem SetRect. Do pravoúhelníku s "clipem" můžeš navrstvit další efekty. V každém dalším pravoúhelníku může být jiný efekt s jinou velikostí apod.

cliprec4.png (121068 bytes)
Efekt bude působit v pravoúhelníku co mu určíš.
cliprec3.png (126729 bytes)
Efekty nepřesahují výřez.

<Krect> název|clip x1|clip y1|clip x2|clip y2| "clip otec" nebo nic|pozice x1|pozice y1|pozice x2|pozice y2| "pozice otec" nebo nic </Krect>

Pravoúhelník "otec" se zapisuje: <Krect> otec1 |x1 |y1 |x2 |y2 | | x1 |y1 |x2 |y2 | </Krect> Když je mezi pozicemi a na konci prázdno, je pravoúhelník považován za "otce". Nezapomeň na znaky "| |" uprostřed a jeden "|" na konci.

Pravoúhelník "syn" se zapisuje: <Krect> syn1 |x1 |y1 |x2 |y2 | otec1 | x1 |y1 |x2 |y2 | otec1 </Krect> Syn má svůj vlastní clip i pozici, ovšem když změníš pozici otce, syn jde s ním. Další pravoúhelníky se mohou dále větvit a mít za otce například syn1 apod.

Souvisí s parametrem: Je používán v efektech:
4cam DisplayText
DisplayTextPlain
FillRc
Ground
MapRect
MapRectSprite
MotionBlur
MultiZoom
MultiZoomLight
RadialBlur
SetRect
Sprite
SpriteLight
SpritePlain
SpriteTable
Tunnel
Twirl
Warper

<AuxRect> název | název bitmapy </AuxRect>

Vytvoří další "root rectangle" na bitmapě. Trochu krkolomná věta, ale tady se krabob opravdu překonal.

Například 3d kostka má bitmapovou texturu(y) a na této textuře vytvoříš další "root rectangle". Je to jako další základní pozadí na kterém se odehrávají další efekty i celé pasáže. 3d kostka tak může mít místo statické textury, texturu pohyblivou. Představ si třeba scrolltext na rotující 3d kostce, nebo Tunnel místo textury a podobně. S tímto postupem je úzce svázán objekt ImgEmpty.

Na začátku sice trochu složitější, ale funguje to asi takhle: připravíš si "prázdnou" bitmapu ImgEmpty a AuxRect na této bitmapě. Dále 3d kostku, Tunnel a vše co k nim náleží. S tím rozdílem že Tunnel se bude zobrazovat - renderovat v AuxRect tudíž na naší bitmapu. Z téhle "prázdné" bitmapy uděláš 3d texturu a tu použiješ na kostku.

Tímto způsobem se tak může další "demo" odehrávat na jakékoli bitmapě. Těchto AuxRect(ů) si vytvoříš kolik chceš a dají se přiřadit i pod Krect a jeho "syny". Možnosti jsou téměř neomezené.

Nezapomeň že tento "trik" ve většině případů potřebuje velikost bitmap 256x256 pixelů.

Souvisí s parametrem: Je používán v efektech a objektech:
4cam ImgEmpty
DisplayText
DisplayTextPlain
FillRc
Ground
MapRect
MapRectSprite
MotionBlur
MultiZoom
MultiZoomLight
RadialBlur
SetRect
Sprite
SpriteLight
SpritePlain
SpriteTable
Tunnel
Twirl
Warper

  • Jak použít jeden "rectangle" a jeho clip.
  • Jak použít jeden hlavní "rectangle" a jeho čtyři syny.
  • Jak udělat 3d Tunnel jako texturu na 3d kostce pomocí AuxRect.
  • Jak udělat 3d hvězdu jako texturu na Ground pomocí AuxRect.
ghh don'tpanic