Daniel: Zelda - Spiel gesucht

Hallo,

sicherlich kennt Ihr diese Spiele ähnlich Zelda, wo man eine Figur von oben sieht und sie durch eine Landschaft steuert.
Ich frage mcih, ob es vielicht schon so ein Javascript gibt und wo. Vieleicht kennt ja der eine oder andere so ein Javascript ?
Ich möchte einen virtuellen Rundgang durch ein Haus realisieren :-)

Danke schon mal für Ideen

Daniel

  1. Hallo Daniel!

    Da wirst du mit JavaScript nicht viel machen können! Flash bietet Möglichkeiten so etwas zu realisieren!

    Mike

    1. Hallo Daniel!

      Da wirst du mit JavaScript nicht viel machen können! Flash bietet Möglichkeiten so etwas zu realisieren!

      Hallo Mike,

      ja, flash kann das durchaus, aber es muss doch auch mit layern und Javascript gehen oder ? =o) Oder ist es zu kompliziert ?

      Daniel

      1. Hallo Daniel!

        Also, meiner Meinung nach kannst du das komplett vergessen da selbst ein kleines Spiel viel zu komplex ist als das man es mit JavaScript realisieren könnte!!

        Gruß Mike

        1. Okok...überredet :-)
          es soll ja kein Spiel werden, eigendlich nur eine Navigation

          Werd ich mcih mal an Flash ransetzen :-)

          Danke

          1. Hi Daniel

            Okok...überredet :-)
            es soll ja kein Spiel werden, eigendlich nur eine Navigation

            Werd ich mcih mal an Flash ransetzen :-)

            Schade das Du dich so hast einschüchtern lassen. So schwer ist das nämlich gar nicht. Chräcker hat ja schon einen Weg aufgezeigt wie das geht. Ich kenn zwar Zelda nicht aber Sokoban und das ist sicher schon über hundert Mal in Javascript geschrieben worden. Wirf einfach mal Google an und gib "Sokoban Javascript" ein.

            Übrigends Flash kostet einen Haufen Geld, wenn Du es legal einsetzen willst, wovon ich mal ausgeh!

            Liebe Grüße
            Pipolino

        2. Tach auch,

          Also, meiner Meinung nach kannst du das komplett vergessen da selbst ein kleines Spiel viel zu komplex ist als das man es mit JavaScript realisieren könnte!!

          Sorry, aber das ist Unsinn. Schau Dir mal an was man mit weniger als 5k bereits realisieren kann: http://milov.nl/entry/1255 (Zum "spielen" auf das Bild klicken, dann geht's hier hin: http://milov.nl/code/5k/Reflection/)

          Gruss,
          Armin

          --
          Location: Swindon/Wiltshire/England/UK/Europe/Northern Hemisphere/Planet Earth/Solar System/Milky Way Galaxy/Universe
          1. Guude!

            Schau Dir mal an was man mit weniger als 5k bereits realisieren kann: http://milov.nl/entry/1255 (Zum "spielen" auf das Bild klicken, dann geht's hier hin: http://milov.nl/code/5k/Reflection/)

            Fällt mir nur mal so ein, wo Du von 5k redest: Schaut mal bei http://www.the5k.org/ rein und staunet... ;)

            LG
            Lemmy

            http://www.olison.com

            --
            Realität ist die Illusion, die durch ein zu geringes Maß an Alkohol entsteht...
      2. Halihallo Daniel

        ja, flash kann das durchaus, aber es muss doch auch mit layern und Javascript gehen oder ? =o) Oder ist es zu kompliziert ?

        Gehen tut (fast) alles. Aber letzteres Argument zieht ;)
        Natürlich kannst du alles mit Layern, IFrames und Divs abbilden, aber nur unter beträchtlichem Aufwand. Ganz nebenbei bemerkt: NS4 => Layer, IE4 => IFrame, 6 => div, bla bla bla... Nicht jeder Browser unterstützt Layer, nicht jeder unterstützt iFrames, nicht jeder unterstützt Positionierung von div elementen... Erschwert die Sache noch mehr...

        Viele Grüsse

        Philipp

        1. Moin!

          ja, flash kann das durchaus, aber es muss doch auch mit layern und Javascript gehen oder ? =o) Oder ist es zu kompliziert ?

          Gehen tut (fast) alles. Aber letzteres Argument zieht ;)

          ...nicht. Animation mit Javascript ist nicht wesentlich komplizierter, als mit Flash auch. Es braucht ein paar grundlegende Funktionen zur Animation, die man sich erstellen muss. Dann kann man darauf aufbauen und sich im Prinzip alles herstellen, was man möchte. Das ist in Flash nicht anders - da braucht man keine Animationsfunktionen, aber einfacher macht es die Sache garantiert nicht.

          Natürlich kannst du alles mit Layern, IFrames und Divs abbilden, aber nur unter beträchtlichem Aufwand. Ganz nebenbei bemerkt: NS4 => Layer, IE4 => IFrame, 6 => div, bla bla bla... Nicht jeder Browser unterstützt Layer, nicht jeder unterstützt iFrames, nicht jeder unterstützt Positionierung von div elementen... Erschwert die Sache noch mehr...

          Mal so ganz direkt gefragt: Was zum Teufel faselst du da? Was willst du denn um Himmels Willen mit IFrames? Warum bringst du (schrecklich uninformiert, wie mir scheint) wieder mal das Gerücht auf, "die ganzen Browser" bräuchten alle eine Sonderextrawurst für jede Version und es wäre wahnsinnig kompliziert?

          Alle Browser, die CSS unterstützen (eine zwingende Bedingung für das Funktionieren einer Javascript-Animation mit positionierten Elementen), verstehen <div> und können es auf dem Bildschirm verschieben. Gilt für Netscape 4, 6, 7, IE 3, 4, 5, 6, Opera mindestens ab 4, 5, 6, 7, ... und so weiter, und so fort.

          Es gibt keine wirklichen Hindernisse für die Cross-Browser-Realisierung!

          - Sven Rautenberg

          --
          Diese Signatur gilt nur am Freitag.
          1. Halihallo Sven

            ja, flash kann das durchaus, aber es muss doch auch mit layern und Javascript gehen oder ? =o) Oder ist es zu kompliziert ?

            Gehen tut (fast) alles. Aber letzteres Argument zieht ;)

            ...nicht. Animation mit Javascript ist nicht wesentlich komplizierter, als mit Flash auch. Es braucht ein paar grundlegende Funktionen zur Animation, die man sich erstellen muss. Dann kann man darauf aufbauen und sich im Prinzip alles herstellen, was man möchte. Das ist in Flash nicht anders - da braucht man keine Animationsfunktionen, aber einfacher macht es die Sache garantiert nicht.

            ACK. Ich weiss nicht wie stark Daniel von Animationen "abhängig" ist. Soll die Animation smothly ablaufen, sind einige Funktionen in JavaScript notwendig, welche diesen Aspekt auch erfüllen können. Diese Funktionen sind u. U. nicht ganz einfach zu realisieren und dürften einem eingefleischten Flash-Animator kein besonderes Problem darstellen. Mir geht's in erster Linie nicht um den Vergleich zwischen Flash und JavaScript, sondern um denjenigen, der es programmiert. Der Programmieraufwand für eine entsprechende Lösung über JavaScript ist nunmal ein Mehraufwand, da JavaScript von "Haus aus" keine Animationsalgorithmen zur Verfügung stellt. Letzten Endes kommt es auf die Versiertheit in JavaScript-Programming an, ob das Projekt zu einem guten Ergebnis führt. Mir ist durchaus bewusst, dass einfaches verschieben von Objekten in JS einfach zu realisieren sind, jedoch möchte ich auf das Wörtchen "smothly" verweisen. Daniel brachte das Beispiel Zelda; hat das jemand schon gespielt? - Es handelt sich um ein Spiel, welches diverse Animationen enthält, die eben nicht nur auf das einmalige verschieben von Objekten basiert, sondern einen smothen Handlungsablauf. Dies lässt sich durchaus mit JS realisieren, jedoch nicht ohne beträchtlichen Aufwand und Programmierkenntnissen. In Flash liegt das zwar (?) auch nicht auf der Hand, aber es geht zumindest einfacher; da es entsprechende build-in Funktionen bietet. Ich kenne die Aufgabenstellung von Daniel nicht, aber ich will einzig darauf hinweisen, dass ein Abbilden von Zelda (ja, ich weiss, dass dies so nicht in der Aufgabenstellung formuliert ist) keine einfache Sache ist und man sich schon genug in Flash überlegen muss. JS, besonders wenn man es noch nicht so beherscht, stellt "nur" eine weitere Gefahrenquelle dar. Abschliessend möchte ich noch anfügen, dass wenn das Script nicht derart Komplex sein soll (einfacher Rundgang durch Haus + einfache Animation der Figur durch verschieben von Bildern), ich euch voll und ganz recht gebe. Es besteht absolut kein Muss zu Flash, wie dies vielleicht aus meinen Postings hervorgegangen ist.

            Natürlich kannst du alles mit Layern, IFrames und Divs abbilden, aber nur unter beträchtlichem Aufwand. Ganz nebenbei bemerkt: NS4 => Layer, IE4 => IFrame, 6 => div, bla bla bla... Nicht jeder Browser unterstützt Layer, nicht jeder unterstützt iFrames, nicht jeder unterstützt Positionierung von div elementen... Erschwert die Sache noch mehr...

            Mal so ganz direkt gefragt: Was zum Teufel faselst du da? Was willst du denn um Himmels Willen mit IFrames? Warum bringst du (schrecklich uninformiert, wie mir scheint) wieder mal das Gerücht auf, "die ganzen Browser" bräuchten alle eine Sonderextrawurst für jede Version und es wäre wahnsinnig kompliziert?

            Einziges Ziel war darauf hinzuweisen, dass Layer (im zweiten Posting von Daniel formuliert) nicht auf allen Browsern unterstützt werden. Danach oder gar noch zuvor kommt dann die Idee des Posters IFrames zu verwenden, vonwas ich eben auch abraten wollte. Zudem, gut, hier bin ich wirklich nicht informiert, glaubte ich auch zu wissen, dass das Positionieren von div's auch nicht umbedingt jeder Browser optimal beherrscht. Es stand nicht in meiner Absicht gegen eine JavaScript-Umsetzung zu argumentieren, sondern auf mögliche Gefahren, auf die ein (unerfahrener) Poster vielleicht reinfällt, hinzuweisen.

            Alle Browser, die CSS unterstützen (eine zwingende Bedingung für das Funktionieren einer Javascript-Animation mit positionierten Elementen), verstehen <div> und können es auf dem Bildschirm verschieben. Gilt für Netscape 4, 6, 7, IE 3, 4, 5, 6, Opera mindestens ab 4, 5, 6, 7, ... und so weiter, und so fort.

            Ich habe hier anscheinend wirklich zu schlechte Erfahrungen gemacht, als dass ich dir rechtgeben könnte, dass das Cross-Browser-Realisierung nicht so ohne weiteres machbar ist. Möglich, dass ich falsch liege.

            Es gibt keine wirklichen Hindernisse für die Cross-Browser-Realisierung!

            ACK. Der Zweck meines Postings lag darin, auf die möglichen Gefahren hinzuweisen, falls der Urheber des Threads sich in JavaScript nicht so gut auskennt. Die Argumentation diesbezüglich habe ich auch erst aufgenommen, als Daniel in seinem zweiten Posting mit layern (=> eben wohl noch nicht viele Erfahrungen mit JS!) angefangen hat, das wollte ich ihm schnell ausreden.

            Ich habe einigemale auf das zweite Posting von Daniel verwiesen. Das soll nicht heissen, dass ich aufgrund des Wortes "layer" den Daniel als unerfahrener JS-Programmierer abstemplen möchte, aber es war für mich ein Indiz, dass ich vielleicht noch die Probleme solcher Lösungen aufführe.

            Viele Grüsse

            Philipp

            PS: Hier kommt wirklich niemand ungeschoren davon, wenn er "bull-shit" von sich gibt. Danke Sven an dieser Stelle für deine Offenheit ;)

    2. Hallo,

      Im Gegensatz zu meinen Vorrednern, kann ich mir das ganze in Javascript sehr gut vorstellen. Es handelt sich doch nur um ein div, das bewegt werden soll. Und zwar das Div der Spielfigur. Dann gibt es eben Bereiche, in die das Div hineinbewegt wrden kann und welche, in das es nicht hinein darf. Das steuert man über eine einfache Feldvariabel in der Größe des Spielfeldes. (und zwar Pixel des Spielfeldes geteilt durch die Breite des Spielerbildes(von oben) ergibt die maximale Anzahl der Spielfelder, über die der Spieler wandern kann....)

      Stell Dir das Spielfeld (also die Landschaft bzw Dein Haus-von-oben) wie ein Karopapier vor, der Spieler ist ein Mensch-ärger-Dich-nicht-pöppel. Da gibt es Felder, auf die die Spielfigur nicht darf (weil das Wände und Möbel eingezeichnet sind) und es gibt Felder, auf die Du die Spielfigur setzen kannst, weil dort nur Boden (Gras, teppich etc) ist.

      Die Spielfläche wird also in Karos eingeteilt, und zwar jedes so groß, wie die Spielfigur von oben ist. Drückt der Spieler nun die Taste r (als Bsp) für rechts, dann würde Dein JScript das Div mit dem Bild der Spielfgur um (sagen wir mal) 10 Pixel nach rechts bewegen. Steht die Figur auf dem (Schachberett)Feld A-1, würde es nun nach A-2 wandern. BEVOR dies aber geschiet, prüft das Programm, ob es da überhaubt hin darf. Dazu speicherst Du einfach (vorher) in eine Feldvariabel eine -1 für die felder ab, wo die Figur nicht drauf darf.

      "Intern" durchwandert also die Spielfigur lediglich eine Reihe von Schachbrettartigen Feldern. Du brauchst nun nur noch im Malprogramm Deiner Art das "Schachbrett" (das natürlich größer als 8 mal 8 sein sollte) entsprechend bemalen und als Bild in ein Div "unter dem Spielfigur-div" anzeigen lassen.

      Genau so wurden früher die ersten Spiele wie Lasersquad gemacht.

      Du kannst der Spielfigur auch "verbieten" in ein feld zu wandern, in dem eine 2 abgespeichert ist. Die steht dann für eine verschlossene Tür. Erst wenn der Spieler auf o der Tastatur drückt, wird das Bild der verschlossenen Tür gegen eins einer offenen getauscht, und in der feldvariabel wird die 2 gegen eine 0 (für durchlässig) getauscht etc....

      Chräcker