Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie viele Felder Abfragen?
djeurissen
21.01.2011, 14:30
Hi,
ich habe ein Rennskript in meinem Spiel welches noch im Anfangsstadium ist (Sprich man kann noch Unendlich lange Laufen^^), also wenn man rennt kann man über Abgründe Seen oder sonst was Springen die 1-4 Felder lang sind, wenn man geht nur Felder von 1-2.
Das ganze wird einfach mit nem Switch festgehalten Also Rennen On 1-4 Felder Rennen Off 1-2 Felder.
So das ganze muss ich dann so machen das ich vor allen Stellen wo man rüberspringen kann, ein Event platziere das dafür Sorgt das man springt.
Jetzt meine Frage ist es möglich abzufragen wie weit etwas von meinem Helden entfernt ist und ob es auch überspringbar sein soll (also das man nicht über ne Wand springt die 4 Felder ''Hoch ist''
Also schonmal danke im Vorraus,
Djeurissen.
Die Bodenbeschaffenheits-ID lässt sich hervorragend missbrauchen für derartige Spielchen.
djeurissen
21.01.2011, 15:12
Ja, was ich an dem nicht verstehe...
Was bedeutet die ID? Wird gespeichert welche Koordinate zb Gradd hat oder wie?
Was bedeutet die ID? Wird gespeichert welche Koordinate zb Gradd hat oder wie?
Wenn du ein Chipset/Tileset erstellst, gibt es auch die Möglichkeit, jedem einzelnen Tile eine bestimmte Nummer zuzuweisen. So könntest du z.B. allen Tiles, auf dem das Springen aktiviert werden soll, die 5 zuweisen (muss allerdings eine der Bodeneigenschaften sein, die man im Reiter neben dem für die Chip-/Tilesets in der Datenbank findet). Dann brauchst du nur noch abzufragen, ob die Terrain-ID (so heißt das Ding) auf der der Held sich gerade befindet, gleich 5 ist und dann (nach ein paar weiteren Bedingungen) kann er los springen.
K-Teclis
27.01.2011, 08:34
Ich würde das lokal per OnHeroTouch und einem MoveEvent-Hero lösen. Einfach vor jeder Mapstruktur die im Rennen übersprungen werden kann das Event setzen mit der Bedingung, dass Springen aktiviert ist. Jetzt noch die Blickrichtung abfragen und nun kannst du die Anzahl der Sprung-Moves genau auf die Größe des Hindernisses anpassen. Achja: StartSlipThrough und EndSlipthrough nicht vergessen, damit der Held auch seine Hindernisse durchqueren kann.
Tipp: Die Jump-Bewegung des Makers sieht immer sehr komisch aus. Ich würde diese weglassen - pixle lieber eine schöne Sprungpose und erhöhe/senke passend die Hero-Geschwindigkeit.
djeurissen
27.01.2011, 13:19
Ja ne... Du bist mir jetzt witzigXD. Erstmal danke für diesen Tipp (war nett gemeint) aber ich habe im ersten Post gesagt das nicht so zu machen da es viel zu Umständlich wäre-.-...
Stell dir vor wie lange du an einer Map sitzt um zu kuken wo du nun alles springen kannst, wenn du statdessen ein Skript in viel kürzerer Zeit erstellen könntest, welches auch noch alle anderen Maps mit beinhaltet.
RandyTheZeldaFan
27.01.2011, 14:29
ich würde dir dann empfehlen, programmier sämtliche abfragen in ner leeren map, halt alles drum und dran, und dann musste einfach die leere map stehts kopieren und einfügen :) dann kannste die map designen und alle skripts sind auf jeder map drauf ^^
djeurissen
27.01.2011, 14:34
...ich weiß nicht warum ihr mir noch tipps gebt... Vorrallem wenn es einfacher ist alles in nem Common Event abzufragen....
Also es ist geklärt und ich brauche auch keine weiter Hilfe mehr danke,
und bitte schließen damit das nicht nochmal passiert danke.
K-Teclis
27.01.2011, 14:51
lol du bist ja ein Spaßvogel. Da versucht man seit langer Zeit mal wieder nett zu sein und wird dann für seine Hilfe auch noch dumm von der Seite angelabert.
Ja, sau der Aufwand einmal ein Event zu erstellen, dass alle Richtungen abfrägt, die passenden Animationen enthält und immer 4 Feldsprünge enthält:
Neue Map designt -> copy&paste -> ca. 30 Sekunden alle Abgründe abgedeckt -> "oh nein an dieser Stelle sollte man nur 3 Felder, statt 4 Springen!" -> 4 Moves insgesamt entfernen -> copy&paste -> wieder ca. 30 Sekunden
Mach was du willst, ist mir doch egal, mir war es eine Lehre nochmal in einem Makerforum freundlich zu sein.
btw: WO genau im Anfangspost stand jetzt, dass die Lösung nicht gewünscht ist? XDD Hauptsache erstmal gut Stunk machen. Made my day.
djeurissen
27.01.2011, 15:21
Hey, es sollte nicht böse gemeint sein.
Aber ich habe das Skript längst fertig und wenn dann noch jemand ankommt und vorschlägt das ich nochmal überall Event erstelle, obwohl oben schon eine bessere Lösung gewesen ist.
Das fand ich einfach nur was nervig....
Und jetzt Zitat aus meinem ersten Post:
''So das ganze muss ich dann so machen das ich vor allen Stellen wo man rüberspringen kann, ein Event platziere das dafür Sorgt das man springt.''
Im Klartext habe ich eine Lösung schon angegeben ich wollte aber eine andere haben...
Geht gut über die Terrain ID, obwohl das kopieren von Events leicht ist.
TerrainIDs speichern die TerrainID von LowerLayers an einer bestimmten Position. Diese kannst du direkt bestimmen oder per Variable. Dann speichert er in einer Extra Variable die TerrainID dieses Feldes.
Bei deinem Skript geht das ganz einfach
Generell das Springen:
Held XY in Variable speichern. Wenn er zB nach rechts guckt X + 4 machen, gucken ob die Terrain ID auf dem Feld betrettbar ist. Dann Helden hinspringen lassen.
Um herauszufinden ob unüberwindbare Hindernisse im Weg stehen(TerrainID erfassen nur LowerLayerProblem):
Unsichtbares Event Same Level as Hero auf Heldenpostion setzen. 4 Schritte in Blickrichtung des Helden bewegen lassen(Ignore Impossible Moves). Wenn die Koordinaten von dem Event mit den oben errechneten Zieldaten des Sprungs übereinstimmen, steht nix im Weg das Same Level as Hero ist.
Ich lern mal weiter Medizin^^
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.