Forum moved to if-forum.org
Autor Nachricht
<  Demos Sourcen für LibV6
Satori
BeitragVerfasst am: Do, 17 Jul 2003 - 11:27  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 17.07.2003
Beiträge: 3

Gibt es irgendwo ein paar demo Source für den Umgang mit der LibV6. Also Fensteraufteilung etc.. ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Ally
BeitragVerfasst am: Do, 17 Jul 2003 - 17:41  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 25.08.2002
Beiträge: 142

Nicht, daß ich wüßte (aber viel weiß ich nicht, ist mal wieder alles etwas länger her).

Die Datei V6.h enthält ja schon ein das übliche V5-Verhalten emulierendes ZWinStyle-Objekt (namentlich DefaultZWinStyle), das dann einfach am Anfang der initialise-Routine an V6Init() übergeben wird und dessen Init- und Update-Methoden das Aufbauen und Updaten der einzelnen Fenster erledigen.

Ich könnte _notfalls_ meine Privatversion davon posten, die (u.a.) insgesamt 4 Fenster aufbaut, von denen eines als permanente Look/Inventory-Leiste fungiert. Ist aber nichts Kompliziertes, und sicherlich schlecht "programmiert" (== herumprobiert, bis es geklappt hat; ich kenn mich mit Inform/der Z-Machine beim besten Willen nicht aus).

Viel Glück
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Satori
BeitragVerfasst am: Do, 17 Jul 2003 - 18:30  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 17.07.2003
Beiträge: 3

Ich glaube ich werde m ir mal die V6 lib Code etwas genauer anschauen vleiecht kommt ich ja hinter die "Fenster Mysterien"

Nun das währe für mich schon eine Hilfe. Da ich bisher noch vergeblich herumstochere :-)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Ally
BeitragVerfasst am: Do, 17 Jul 2003 - 19:08  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 25.08.2002
Beiträge: 142

Satori hat folgendes geschrieben:
Nun das währe für mich schon eine Hilfe. Da ich bisher noch vergeblich herumstochere :-)

Na, dann kommt hier noch was zum Stochern. Gewarnt habe ich dich ja...
Code:
Object AmandaZWinStyle
class ZWinStyle,
with   
    Init [splitl sidebarX mainY statusY statusX;

        !--StatusWin: die Statuszeile--
        splitl = StatusWin.GetCharHeight() + StatusWin.GetCharHeight()/4;
        @split_window splitl;
        StatusWin.SetColours(C_WHITE, C_BLACK);     
        StatusWin.SetFontStyle(ST_FIXED);  ! Im StatusWin keine Proportionalschrift

        ! ein paar Hilfsvariablen für die Ausmaße der folgenden Fenster
        sideBarX = StatusWin.GetCharWidth() * 23;
        mainY = MainWin.GetYSize();
        statusY = StatusWin.GetYSize(); statusX = StatusWin.GetXSize();

        !--Zwin2: die Seitenleiste--
        @window_style 2 $$1001 0;
        Zwin2.SetColours(C_BLACK,C_WHITE); ! Vordergrund-, Hintergrundfarbe
        Zwin2.SetLoc(statusY+1, 1);        ! linke obere Ecke: 1 Einheit unterhalb StatusWin
        Zwin2.SetSize(mainY, sideBarX);    ! Nota bene: immer (Y,X)-Paare, nicht umgekehrt
        Zwin2.Activate(); Zwin2.Erase();
       
        !--Zwin3: eine simple vertikale Trennlinie--
        Zwin3.SetColours(C_BLACK,C_BLACK);
        Zwin3.SetLoc(statusY+1, sideBarX+1); ! linke obere Ecke 1 Einheit unterhalb StatusWin...
                                             ! ...und 1 rechts der Seitenleiste (Zwin2)
        Zwin3.SetSize(mainY, 2);             ! so hoch wie MainWin, 2 Einheiten breit
        Zwin3.Activate(); Zwin3.Erase();
       
        !--MainWin: das "normale" Ausgabefenster--
        MainWin.SetColours(C_BLACK, C_GREY); MainWin.SetFontStyle(ST_ROMAN);
        MainWin.SetLoc(statusY+1, sideBarX+3); ! wieder 1 unterhalb StatusWin, und drei rechts...
                                               ! ...von Zwin2 (Zwin3 liegt ja dazwischen)
        MainWin.SetSize(mainY, statusX-sideBarX-2); ! statusX ist die Bildschirmbreite,...
                                                    ! ...abzüglich Zwin2- & Zwin3-Breite ergibt...
                                                    ! ...das das, was fürs MainWin übrig bleibt
        MainWin.Activate(); ! initialise macht im MainWin weiter
    ],
    Update[charY charX statusXChars prev;
       
        prev=ActiveZWindow; ! aktives Fenster merken, damit wir nach Update da weitermachen können

        !--Statusleiste updaten
        StatusWin.Activate(); StatusWin.Erase();
       
        ! Hilfsvariablen für die Positionen der Statuszeilenbestandteile
        charY = StatusWin.GetCharHeight(); charX = StatusWin.GetCharWidth();
        statusXChars = (StatusWin.GetXSize() / charX);

        ! Location-Namen ausgeben
        StatusWin.SetCursor ((1 + (charY/8)), 0);
        print (name) location;

        ! ganz rechts mal den Beyond-Zork-Font testen...
        StatusWin.SetCursor( (1 + (charY/8)), (statusXChars - 10) * charX);
        StatusWin.SetFont(FN_GRAPHIC);
        print"OPQRSTUVW";
        StatusWin.SetFont(FN_NORMAL);

        ! und etwas links davon (Score/Turns) ausgeben
        StatusWin.SetCursor ((1 + (charY/8)), (statusXChars - 20) * charX);
        print " (" , sline1 , "/" , sline2 , ")";

        !--Seitenleiste updaten
        ZWin2.Activate(); ZWin2.Erase();
        Zwin2.SetFontStyle(ST_ROMAN);
        location.description();
        new_line;
        <Inv>;
        !new_line;
        !drawMap(location);
 
        prev.Activate(); ! anfangs gemerktes Fenster wieder aktivieren
    ]
;


...mitlesende Inform-atikerInnen mögen mir verzeihn....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kairo
BeitragVerfasst am: Do, 17 Jul 2003 - 20:07  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 25.08.2002
Beiträge: 298

Warum weichst du nicht gleich auf Glulx aus? Das ist sehr viel komfortabler in meinen Augen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Satori
BeitragVerfasst am: Do, 17 Jul 2003 - 22:50  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 17.07.2003
Beiträge: 3

nun ersteinmal danke für den code der hat schonmal Licht ins dunkel gebracht.


Zitat:
Warum weichst du nicht gleich auf Glulx aus? Das ist sehr viel komfortabler in meinen Augen.


Ich bin noch nicht geschafft Aufgrund ein paar Library Problemen das Teil unter Linux zu kompilieren. Aber der Hauptgrund ist eigentlich das ich mich erstmal ausreichend mit Inform und z-machine auskennen möchste bevor ich mich an den glulx ranwage. :lol: :twisted:
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05