Tiles nur in 1 von 3 Views sehen!

  • Tiles nur in 1 von 3 Views sehen!

    Hey!
    Ich bin gerade dabei, ein RPG zu schreiben.
    Ich möchte eine externe Textdatei ausführen, die die Tiles der gesamten Map an den entsprechenden Positionen erzeugt.
    Mein Spiel besteht aus 3 Views, dem Hauptview, einem View rechts am Rand für ein Inventar und eine Statusanzeuge, und einem View
    am unteren Bildrand, sozusagen als Platzhalter für Messageboxen.
    Kann ich das so machen, dass die Tiles (die Map) NUR im hauptview (View[0]) erzeugt werden?
    Ich finde es irgendwie schlecht, per "draw_rectangle..."-funktion schwarze Rechtecke über meine anderen Views zu machen, um die Tiles zu vertuschen...

    Danke ;)

    "Make love, not Warcraft"
  • blubberblub schrieb:

    Was andres: wieso benutzt du nich Surfaces statt views?


    Surfaces? Das ist ja noch schlimmer. Du brauchst weder Surfaces, noch 3 Views. Die Statusanzeige und die Messagebox kannst du doch direkt in die Hauptview zeichnen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • mauge schrieb:

    blubberblub schrieb:

    Was andres: wieso benutzt du nich Surfaces statt views?


    Surfaces? Das ist ja noch schlimmer. Du brauchst weder Surfaces, noch 3 Views. Die Statusanzeige und die Messagebox kannst du doch direkt in die Hauptview zeichnen.


    Wieso denn?^^
    Wenn er zb im Inventar hin- und herscrollen will, dann lässt sich das mit ner Surface doch recht leicht realisieren?
    "das war meine letzte flamewar PM an dich ."
  • blubberblub schrieb:

    Wieso denn?^^
    Wenn er zb im Inventar hin- und herscrollen will, dann lässt sich das mit ner Surface doch recht leicht realisieren?

    Das ist in meinen Augen unnötige Speicherverschwendung und kann eigentlich nur aus reiner Faulheit als Vorteil angesehen werden. Ehrlich gesagt sehe ich da selbst vom programmiertechnischen Aufwand her keinen Grund, auf Surfaces zu setzen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Ich hätte für ein Menü auch eine View benutzt, allerdings hätte ich die Chatbox auch ohne View gemacht...

    Hatte damals eine extra Ecke im Raum für das Menü... is allerdings auch relativ unpraktisch, weil du zum Raum immer eine gewisse Größe dazu addieren musst.

    Watever, mauge wirds sicherlich noch genauer erklären, wenn er von Views und Surfaces abrät, also denke ich wird da eine gescheite Lösung auftauchen.
    Ansonsten bin ich zimlich sicher, dass in der GMC sowas rumlungert.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • wenns doch nur so einfach wäre :D
    mein problem is, dass ich tiles nich im draw-event zeichne, sondern, eine externe datei habe, die im create ausgeführt wird, in diese datei werden unzählige tile_add...-funktionen ausgeführt ;)



    so soll es sein, nur dass ich jetzt hier vorübergehend schwarze rectangles in die views gezeichnet hab...
    mich würde halt nur interessieren ob es da noch na alternative methode zu gibt. es kann ja irgendwie nicht sein, dass man so pfuschen muss^^

    "Make love, not Warcraft"
  • Ich versteh immer noch nicht, warum du nicht einfach nur View[0] nimmst. Du kannst doch da einfach Grafiken im Draw Event drauflegen. Du machst es dir nicht nur übertrieben umständlich, sondern verschwendest auch sinnlos Ressourcen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • wenn ich nur einen view nehmen würde, und meine menüs rechts ins bild zeichne (wobei ich auch wieder nen blödes schwarzes rechteckt ziehen müsste -.-), würde meine spielfigur unte diesem menü verschwinden wenn man zu nah an den bildrand läuft.
    nen eigenen view bräuchte ich da schon.

    gibts denn ne andere möglichkeit, wie ich ne map tilebasiert mache, die aber nur in einem view zu sehen ist? und das ohne draw-event?
    oder kann man tiles im draw-event irgendwie beeinflussen?

    "Make love, not Warcraft"
  • HuRr!cAnE schrieb:

    wenn ich nur einen view nehmen würde, und meine menüs rechts ins bild zeichne (wobei ich auch wieder nen blödes schwarzes rechteckt ziehen müsste -.-), würde meine spielfigur unte diesem menü verschwinden wenn man zu nah an den bildrand läuft.
    nen eigenen view bräuchte ich da schon.

    Oh man, dann nimm nicht die Spielfigur als Mittelpunkt der View, sondern Spielfigur.x + Breite_der_rechten_Anzeige / 2.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • ich werde doch dann trotzdem niemals den rechten bildrand sehen können. meine meüns sollen ja garnich in den hauptview. ich muss das mit anderen views machen.
    wenn ich mal ein tileset in den GM lade, einen room erstelle und alles schön voll mit tiles belege, dann muss man doch machen können, dass diese tiles nur in einem von mehreren views angezeigt werden. sowas wird doch wohl möglich sein.
    das is ja eigentlich das was ich wissen will.

    "Make love, not Warcraft"
  • Warum zeichnest du das Menu, mithilfe von view_xview[0], view_yview[0], view_wview [0] und view_hview[0] ,nicht einfach relativ zum view[0]? So ersparst du dir Verwendung von 2 Views und kannst die Tiles trotzdem sehen.

    ,,Ich weiß nicht, mit welchen Waffen sich die Menschen im 3. Weltkrieg bekämpfen werden.
    Aber im 4. werden es Keulen sein!"
    -Albert Einstein
  • HuRr!cAnE schrieb:

    ich werde doch dann trotzdem niemals den rechten bildrand sehen können. meine meüns sollen ja garnich in den hauptview. ich muss das mit anderen views machen.
    wenn ich mal ein tileset in den GM lade, einen room erstelle und alles schön voll mit tiles belege, dann muss man doch machen können, dass diese tiles nur in einem von mehreren views angezeigt werden. sowas wird doch wohl möglich sein.
    das is ja eigentlich das was ich wissen will.

    Wenn du meinen Vorschlag beherzigen würdest, hätte du das Problem gar nicht erst. Darum geht's ja. Deine Methode ist sowas von umständlich.

    RyoX schrieb:

    Warum zeichnest du das Menu, mithilfe von view_xview[0], view_yview[0], view_wview [0] und view_hview[0] ,nicht einfach relativ zum view[0]? So ersparst du dir Verwendung von 2 Views und kannst die Tiles trotzdem sehen.

    Sag ich ja...
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • das menü wird dann trotzdem immer platz im view wegnehmen.
    ich weiß doch dass man das relativ zum view[0] ausrichten kann.
    ich will dass mein menü aus meinem hauptview verschwindet. das menü soll quasi außerhalb des views gezeichnet werden.
    und dazu bräuchte ich zwangsläufig einen 2. view.
    denn würde ich mein menü in meinen hauptview setzen, würde ich automatisch irgendwann unter dem menü verschwinden. z.b. wenn ich an den rechten bildrand laufe. die rechte grenze des roomes soll sich im extremfall links vom menü befinden.
    achja, die menüs sind IMMER zu sehen, wie die anzeigeleiste in alten zeldaspielen.

    aber is ja auch eigentlich egal,
    ich würde einfach nur gerne wissen, ob es möglich wäre, tiles in einem room nur auf einen view zu beschränken, sodass die anderen views einfach schwarz bleiben.

    trotzdem danke für die tipps

    "Make love, not Warcraft"
  • Ob auf deine Art oder Mauges Idee... wenn du rechts einen leeren Rand lässt, der so breit wie dein Menü ist, kannst du rechts auch an den "Rand" des eigentlichen Raumes laufen...

    Also ich seh da grad kein Problem...
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet
  • Schau mal hier. Wenn ich mich nicht täusche, kannst du zumindest festlegen, ob ein Objekt im entsprechenden View sichtbar sein soll. Ich hab das noch nie gebraucht und weiß somit erst recht nicht, wie sich das mit Tiles verhält. Aber vielleicht kannst du dir da was basteln. Nichtsdestotrotz solltest du ernsthaft drüber nachdenken, ob das tatsächlich nötig ist. Denn bei den Argumenten, die du offenbart hast, würde ich dir wirklich raten, nur eine View zu nutzen. Der Aufwand dürfte auch wesentlich geringer ausfallen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Wenn du den View per Hand an die Spielerposition anpasst, dann kann der View auch Sachen außerhalb der rooms anzeigen. Das heißt mit entsprechend eigener Sperre für den Spielfeldrand ist es auch kein Problem den Rechten Rand trotz überzeichnen des Views zu sehen.
  • Ich hab noch ein altes Example von mir gefunden, das du sicher einfach für deinen Zweck anpassen kannst.
    Gesteuert wird mit den Pfeiltasten, die blauen Blöcke sind entlang der Room-Grenze plaziert.
    Dateien
    • menuview.zip

      (6,66 kB, 159 mal heruntergeladen, zuletzt: )
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • Benutzer online 1

    1 Besucher