Unendlicher Planet

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Unendlicher Planet

    Hallo, ich bins mal wieder.
    Ich habe die SuFu benutzt, bin aber zu keinem Thema
    gekommen und somit:

    Ich habe einen 1280x960 Raum und ein View, das einem
    Objekt folgt, das immer im Center des Views bleibt. Wie schaffe
    ich es (nach reichlicher Überlegung), dass, wenn das Objekt
    aus dem Raum raus geht, und es auf die Andere seite geht, nicht
    das View da hin springt, sonder es ganz normal angeschlossen wird.
    Ne, das war jetzt doof. Nochmal:
    Das Objekt soll im Prinzip unendlich weit gerade aus gehen können,
    kommt aber immer wieder durch zum Beispiel die eine Stadt.
    Mann, ich kann das einfach nicht erklären, aber vielleicht versteht ihrs
    ja auch so, und wenn nicht, sagt das, dann fertige ich eine Skizze
    an.


    ,-Megamag

    Magical dream time!
  • 1.: Du musst nicht alles Fett machen.
    2.: Wenn du so einen gleitenden Übergang haben willst, musst du nur an den Enden des Raums nochmal das wiederholen, was am anderen Ende auch vorzufinden ist, dass also die Ränder des Raums aus jeweils paarweise zusammengehörenden gleichen Abschnitten bestehen (Die jeder für sich nur so groß sein müssen, wie die View). In der Mitte platzierst du dann unsichtbare Objekte, die den Spieler zum jeweils anderen Abschnitt springen lassen, so dass er am anderen Ende der Karte ist, davon aber nichts mitbekommt, weil alles genauso aussieht, wie vorher. Ich hoffe, ich hab mich verständlich genug gemacht...
  • mach einen screen vom raum und füg ihn links(oder welche seite auch immer) vom raum nochmal ein dann sieht es so aus als wäre er da gerade gewesen

    e: war mal wieder zu spät :O

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Michi ()

  • Es soll nicht nur so aussehen, sondern auch so sein?
    Das heißt du willst tatsächlich einen unendlich großen room haben?
    Dann musst du allerdings abwarten bis es günstig zu erwerbenden, unendlich viel kapazität umfassenden Arbeitsspeicher gibt ;)
  • Es gab auch mal einen tread dazu, in dem das mit 2 view gelöst wurde. Ich finde den nur leider nicht.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Interessant... ich beschäftige mich gerade mit der gleichen Sache, da ich vom Debugger eine kurze Pause mache (fertig im Kopf und Abschreiben ist fad) und mich der Kamera-Engine zugewandt habe.

    Am "einfachsten" ist natürlich, du brichst die Game Maker Room_Engine. Will heißen, du speicherst deinen Level in Grids oder Arrays und zeichnest immer einen Bereich davon - ist es auf der einen Seite zu Ende, zeichnest du an der anderen Seite weiter. Du brauchst dann nunichtmal views oder einen großen Raum. Keine Ahnung, wie schnell das mit Grids und Arrays geht - bei vielen Tilelayern z.B. wird es unangenehm, mit solchen Techniken zu arbeiten. So unangenehm, dass du dir schon fast nen eigenen Roomeditor coden kannst, der in diesem Format abspeichert.

    Der Trick mit den Views ist mir bei meinen persönlichen Überlegungen auch gekommen - allerdings braucht es dafür 3 views, da wir bei einem diagonalen Bildaustritt zwei Streifen von der anderen Seite brauchen sowie die gegenüberliegende Ecke (was nur heißt, dass eine der beiden Hilfviews diese mitnehmen muss). Beim Überfliegen der Threads hab ich immer nur zwei Views gesehen, ich dachte, ich merke das mal an.

    Es gibt aber ein weiteres Problem, das zwar auch angesprochen wurde, aber hierfür habe ich keine Lösung entdeckt oder sie vielleicht auch übersehen:
    Wenn ein Objekt sich am rechten Rand befindet und diesen bereits überschneidet, wird es nicth automatisch an der anderen Seite wieder gezeichnet. Man kann es in diesem Moment schon an die andere Seite des Raumes setzen mit einer entsprechende Verschiebung, allerdings muss man dann bedenken, dass sämtliche Kollisionen damit auch verlagert werden müssen. Sprich Gegner etc müssen ähnlich behandelt werden. Gleiches gilt für Wände auf der anderen Seite.
    Wenn die ganze Sache grafisch auch korrekt aussehen mag, muss dieser Übergang auch programmtechnisch stimmen. Am einfachsten wäre es daher, vorerst nicht mit den Views rumzuspielen sondern die damit verbundenen Kollisionen zu checken, und das geht auch mit einem Kamerasprung.

    Nur mein Senf dazu.
  • Für mich hat sich herausgestellt, daß die Option "View folgt Objekt" (automatisch via view settings) unsauber scrollt. Auch die Methode, mehere Views aneinanderzulegen, hat echte Nachteile.
    Ich habe mal meine Methode für Euch "extrahiert" und angehangen. So groß ist die Datei nur, weil ich ein Hintergrundbild reingetan habe. Eigentlich geht es fast nur um ein Skript...

    Ähh zur Erklärung:

    Upload klemmt irgendwie gerade, ich probiers später noch mal

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Melancor ()