|
Vannak sokan, akik a Windows 95 mintájára tömegével kezdtek "Start" menüket használni. Azt hiszem azonban éppen elegen vannak azok, akiknek talán nem is alaptalanul ellenérzései vannak ezzel kapcsolatban, így ha már programok indítását szolgáló valamikkel kell megtölteni a képernyônket, akkor már inkább használnak ToolManagert, mondjuk egy ToolDaemonnal kombinálva. Az igazat megvallva azonban ennek kinézete kissé már idejétmúltnak tekinthetô, (lévén a ToolManager nem az a mai gyerek már) bár a Start menük sem keltik az emberben azt a bizonyos jövô századi feelinget... Emberkénk egy ideig nézelôdik itt-ott, nézeget ezt-azt is, azután úgy kell döntenie, számára egyik megoldás sem kellôképpen megfelelô... Mi lehet ilyenkor a theendô? Emberkénk gondolkodik, töri a fejét, lévén rémlik neki erre valamiféle megoldás, de olyan régen csinálta már, hogy teljesen elfelejtette... Megvan! Egyszerű... Ha valamibôl nincs olyan ami igazán kellene, akkor csináljunk egyet... Istenigazából programot fogunk csinálni, és mivel ezt kézzel megbütykölni a célhoz mérten elképesztôen fárasztó lenne, inkább egy olyan módszert választunk, amelyhez programoznunk sem kell túlságosan. Elôször mérjük fel mit is akarunk csinálni. Egy launchert tervezünk gyártani, ami lényegében semmi bonyolultból nem áll, mint egy rakat gombból, meg egy ablakból, ami ezeket a gombokat magába foglalja. Másodjára azt fogjuk felmérni, mire is lesz ehhez szükségünk. Szükségünk lesz egy Designer nevű kis programra, valamint jelen esetünkben egy SasC-re, meg még egy cedre, vagy egyéb egyszerű szövegszerkesztôre. Természetesen ha valaki úgy jobban szereti, használhatunk assemblert is, lévén a Designer assembly kódot is tud generálni, azonban azt az elterjedtebb assemblerekhez (asmone, devpac, seka) módosítani kell, hogy leforduljon, másrészt meg a C nyelvet is némiképp elhanyagoltuk az eddigiekben. Legvégül pedig szükségünk lesz valamilyen rajzprogramra is. A Designer alapvetô konfigurálásába nem fogunk lényegileg belemászni, csupán a jelenlegi akciónk szempontjából lényeges pontokat fogjuk ismertetni. Vágjunk is bele. Mivel a WorkBenchünkhöz szeretnénk launcher felületet gyártani, ezért kezdjük azzal, hogy valamilyen programból screengrab-et készítünk róla. Ennek célja mindössze az, hogy megszerezzük a palettáját. Minden késôbb felhasznált képet majd erre a palettára kell remap-elnünk, úgyhogy a képeket érdemes lesz úgy megválogatni, hogy az adott palettával jól mutassanak. Célunkhoz ezesetben talán a PPaint a legoptimálisabb, hiszen tud grabbelni képernyôket, qualitive color reduction és floyd-steinberg dither esetén pedig egész jó minôségben képes még más paletta esetén is reprodukálni a képet. Ezt a két opciót rögtön állítsuk is be, majd brush-ként olvassunk be egy általunk megfelelônek tartott háttérképet (jelen esetünkben egy Tornado 3D képemet használtam) amelyre majd elhelyezzük a gombokat. Ezt követôen a Brush/Color/Remap ponttal alakítsuk át a jelenlegi (WorkBench) palettára. A gombok kapcsán néhány szót kell ejtenünk (igyekszem majd rendkívül rövid lenni) arról is, mik is a bevel, azaz keret, él, vagy kinek hogyan tetszik a fordítás alapvetô ismérvei. Ha egyetlen színnel felrajzoljuk egy négyzet oldalait, az két dimenziós benyomást kelt. Ha azonban felsô és bal oldalát fehérrel, jobb és alsó oldalát pedig feketével rajzoljuk meg, azt a benyomást kelti, mintha az általuk határolt terület magasabban helyezkedne el, tehát kiemelkedne környezetébôl. Ez természetesen egy szóval nem igaz, csupán a szemünk téveszt meg bennünket. Mivel ugyanis ebben a világban élünk, és szemünkkel látunk, a megvilágítással kapcsolatban egész csomó akaratlan sztereotípia alakult ki bennünk. Hozzá vagyunk szokva, hogy a megvilágítás az esetek többségében felülrôl érkezik, ezért bevelek rajzolásánál bevett szokás az, hogy a képzeletbeli fényforrást a bal felsô sarokba helyezzük. Ha a fényforráshoz közelebbi éleket világosabbra vesszük mint a távoliakat, akkor szemünk úgy érzékeli, hogy a kép kidomborodik, ellenkezô esetben besüllyed. (Ez nagyon jól megfigyelhetô a "benyomódó" ikonok esetében.) Talán érdemes hozzátennünk, hogy például a kutyáknak nincs meg ez a "képességük", vagy éppen hiányosságuk, ôk ehelyett is kétdimenziós képet látnak. Nos, világos és sötét vonalak segítségével nagyszerűen elkészíthetjük ki-, vagy éppen benyomódó gombjainkat, és elhelyezhetjük feliratainkat. Immár nincs is más hátra, minthogy mindezt elhelyezzük egy ablakba, majd elérjük azt, hogy ha egy gombunkat megnyomjuk, akkor tényleg el is induljon az adott program. Na éppen erre (is) való a designer. Vágjuk ki képünkbôl a megfelelô részt brushként, és mentsük el. A nevében ne nagyon legyen más, mint az angol abc 26 karaktere és a számok, mert már egy pont is kellemes meglepetéseket fog kiváltani SasC-nkbôl, amikor a forrást tanulmányozza. Lényeg a lényeg, rajzprogramunkat immár magunk mögött is hagyhatjuk. Indítsuk el a designer-t, és a Windows-ról állítsuk át rögtön az Images beállításokra. A New pont segítségével válasszuk ki elmentett brush-unkat. Jelen esetben képünkkel itt más teendônk nincs is, visszakapcsolhatunk Windows módba. Itt megint a New pont fog életbe lépni (lévén még nincs ablakunk, amit editálgathatnák) majd rögtön ezt követôen válasszuk ki frissiben létrehozott ablakunkat, és az edit segítségével adjunk neki rendesen... Kaptunk egy Tools, és egy preview ablakot, ami a tulajdonképpeni jövôbeni ablakunk megfelelôje. Ezt itt méretezgethetjük kedvünkre, a lényeg az, hogy beleférjen a képünk. Hogy lássuk mekkora mondjuk tegyük bele... Ehhez nyomjuk be az Image gombot, majd alatta a Choose... segítségével megkapott ablakban válasszuk ki azt a nevet, amit adtunk a képünknek, majd ismétcsak a New segítségével tudassuk is választásunkat vele. A Place feliratot viselô kis gombocska szolgál arra, hogy a képünket elhelyezzük az ablakban, ezt tegyük is meg rögtön. Ha szükséges állítsunk utána az ablakunk méretének, majd ha ezzel végeztünk itt az ideje annak, hogy elhelyezzük a gombjainkat. Lévén már megrajzoltuk ôket, nem volna helyes ha szép ronda rendszerbuttonokkal helyettesítenénk ôket, úgyhogy Boolean gombokat fogunk alkalmazni. Példaként csináljunk is meg egyet a következôképpen: nyomjuk be azt a feliratot, amely úgy szól, hogy Boolean, majd az ablakunkban a bal gombot nyomvatartva határoljuk körbe az egyik gombunkat. A megjelenô Boolean Gadget nevű ablakban igen sok dolgot lehet beállítani, mi azonban megelégszünk azzal, hogy GADGHCOMP helyett GADGHNONE-re állítjuk át a típusát, ami azt határozza meg, hogy lenyomáskor miként viselkedjen. (Jelen esetben sehogy nem fog viselkedni). GADGHCOMP esetén minden alatta levô színt a komplementer párjára (már amennyire a paletta megengedi ugye) fog kicserélni, ami kellôképpen ronda, GADGHBOX esetén egy bounding box fog megjelenni, míg GADGHIMAGE esetén az alatta levô területet egy képre cseréli le. Ezzel lehet a legjobb hatást elérni, bár mondjuk a képet ehhez meg is kell rajzolnunk ugye... Ezért maradjunk inkább a GADGHNONE lehetôségnél. Kellemetlen meglepetések elkerülése végett ixeljük még be az USE TEXT kapcsolót is, majd nincs más dolgunk, mint ugyanígy eljárni összes gombunk esetében. Ha ezzel megvagyunk, akkor az ablak Tag-jeinek fogunk körmére nézni, mégpedig úgy, hogy csak a következô pontokat hagyjuk meg aktívként: DragBar, DepthGadget, CloseGadget, SmartRefresh, AutoAdjust. Ha ezután ablakunk mérete nem lenne tökéletes, akkor pixelre pontosan megadhatjuk adatait a Sizes... pontban. Ezzel elkészülve siethetünk is tovább, vissza a fômenübe, egészen pontosan a Code pontba. Itt válasszuk ki a C-producert, valamint ha eddig nem lettek volna bökjük be a következô pontokat: Comment Produced Code, Make WaitPointer Data, Create IDCMP Handlers, Make Library Code, OpenDiskFonts, és Make Main Program. Ha ez megvolt, akkor a save segítségével mentsük el ablakunkat, majd nagy levegôt véve nyomjuk meg azt a gombot, amelyen azt a feliratot látjuk, hogy generate. Ez a pont három file-t készít abba az alkönyvtárba, ahova elôzöleg ablakunkat elmentettük. Egy valami.c-t, egy valami.h-t, és egy valamiMain.c-t. Azaz a programunk teljes forráskódját... Egész ügyesen tudunk programozni, nemdebár? Majdnem legutoljára marad a legegyszerűbb művelet, lefordítani a forrásokat, amit egy shellbôl is megtehetünk, csak el kell jutnunk abba az alkönyvtárba, ahol a források találhatóak, majd beírnunk: sc debug=line cpu=68040 optimize xreference link valamiMain.c Természetesen cpu-nak mindenki olyat ad meg amilyet szeretne, a valamiMain helyére pedig a megfelelô file-nevet kell behelyettesítenünk... Ezt követôen a SasC elkészíti a mi kis programunkat, amelyet valamiMain-nak fognak hívni. Ezt elindítva láthatjuk, hogy... Hát igen. Szépnek szép, csak még nem működik. Legalábbis látszólag. Ugyanis még meg kellene mondanunk, mi is történjék gombjaink lenyomásakor. Ehhez a valamiMain.c-t kell kissé jobban szemügyre vennünk. Az elsô gomb lenyomásakor történô dolgokat (amely jelenleg semmi) valami hasonló formában fogjuk megtalálni: case
Win0_Gad0 : Ez az amit tulajdonképpen keresünk, és ugyanezt megtaláljuk az ablak összes gombjához, az pedig, hogy éppen hányadiknál tartunk a Gad után található számból tudhatjuk meg. A fentebbi két sor közé pedig beszúrhatjuk azt, aminek történnie kellene. A sor pedig mondjuk egy System:Utilities/ alkönyvtárban található FM elnevezésű filemaster esetén a következô: system("c:run System:Utilities/FM <>NIL:"); Az összes gomb helyét kitöltve, a programunkat pedig újra lefordítva már készen is a program, amit már frissiben dobálhatunk is be a WBStartup alkönyvtárba, valami megfelelô névre elnevezve. Gratulálhatunk is magunknak rendkívül bonyolult launcherünkhöz.
Emeric SH (Sajnálatos módon úgy tûnik ezt a cikket nem minden PC felhasználó fogja élvezni, lévén a 6 PNG-bõl az ez a ********** nevezetû böngészõ mindössze egyet volt képes megjeleníteni. Pedig a PNG elvileg egy PC-s formátum lenne, vagy miaszösz... Nem baj, tessék megnézni Amigás böngészõvel.-Emeric SH)
|
|||
(C)
Copyright 1999 SpaceHawks
|