Archiv verlassen und diese Seite im Standarddesign anzeigen : Switch-Wie deaktivieren
Angeal_Hewley
18.05.2012, 10:28
Halli Hallo.
Nein den Titel bitte nicht falsch verstehen.
Aber so beschreibt es sich am einfachsten.
Ich habe mir ein Menü gebastelt, in dem der Punkt "Speichern" Grau angezeigt wird.
Diesen will ich in der originalen Farbe haben, sobald der Switch"Speichern Ok" aktiviert ist.
Dies geschieht, wenn ich einen "Speicherkristall" berühre. Alles funktioniert soweit.
Ich berühre den Kristall, rufe meine Menü auf, die Farbe des Punktes "Speichern" ist nun in der originalen Farbe und ich kann Speichern.
Nun komm ich zu meinem Problem.
Sobald ich den Kristall nicht mehr berühre, soll sich der Switch deaktivieren, ohne lästige "touched bye hero" events um den Kristall drum.
Ich hab es mit Tasten abfragen probiert, funktioniert nicht. Ich hab den Switch-off im Common-Event eingebaut, aber das funktioniert nicht so wie ich es will.
Denn dann wird nach beenden und erneutem aufrufen des Menüs, der Punkt "Speichern" wieder grau angezeigt. Er Muss aber immer in Farbe sein, solang ich den Kristall berühre.
Wie also kann ich den Switch "Speichern ok" deaktivieren, indem ich mich vom Kristall entferne?
Ps: Es handelt sich um den rm2k3
Danke im Voraus :)
Gruß
Machs doch mit Koordinaten ;)
Man nehme sich 4 Variablen.
Einmal wird der Kristall abgefragt mit X und Y Koordinaten.
Dann wird das selbe nur auf anderen Varibalen auf dem Helden gemacht.
Hat man dies, braucht man nur noch abfragen:
Wenn Koordianten X und Y vom Kristall nicht mit den X und Y Koordinaten des Helden übereinstimmen wird der Switch deaktiviert.
Ganz einfach und damits nicht lägt, tust du bei der Abfrage ein Bedingungsswitch einbauen, und zwar den "Speichern OK".
Hoffe mal ich konnte dir helfen .)
@Soul96
Dann müsste er aber auf dem Kristall draufstehen, damit die Bedingung NICHT erfüllt ist, indem alle Koordinaten übereinstimmen.
Aber ich würde so ähnlich vorgehen.
Ich würde mit Hilfe von Koordinaten-Variablen ein "Quadrat" um den Kristall zeichnen, und abfragen ob sich der Held in dem Quadrat befindet.
Dann würde allerdings das Speichern auch aktiviert sein, wenn der Held in der Ecke des Quadrates steht.
caesa_andy
18.05.2012, 14:34
Die Sache geht viel einfacher.
Du setzt das Speicherkristall-Event auf "Collision with hero" und in das Event setzt du "Switch "Speichern" ON". Als zweites brauchst du ein Common Event, das als Paralell-Prozess läuft, und mit "Speichern" als trigger-Switch verbunden ist.
Der Inhalt des Common Events lautet:
Wait : 100
Switch "Speichern" Off.
Dadurch passiert folgendes:
Sobald der Char auf dem Event steht, wird der Switch "Speichern" aktiviert und der Parallel-Prozess gestartet. 10 Sekunden später wird der Switch wieder deaktiviert. ABER weil der Charakter auf einem "On Collision with Hero" Event steht, wird der Switch augenblicklich wieder eingeschaltet, und die Schleife beginnt neu. Das ganze Spiel Endet, sobald der Charakter den Speicherkristall verlässt. Denn dann wird der switch nach 10 Sekunden abgeschaltet und bleibt aus.
Problem dabei ist nur, dass wenn die 10sek noch nicht abgelaufen sind und er nicht mehr auf dem Kristall steht trotzdem abspeichern kann. Ich persönlich würde es auch so wie Soul96 machen, ich sehe auch nicht wo der Fehler bei seiner Ausführung liegen soll.
http://img717.imageshack.us/img717/9581/switchg.png
Ich würde es btw dann als PP machen und eben nur auf den Maps wo so ein Speicherkristall ist.
Engel der Furcht
18.05.2012, 15:23
Mal eine andere Frage:
Warum soll man nicht vier On Touch Events machen die um den Kristall liegen?
Es ist die schnellste und einfachste Methode. Man spart Variablen und die ganze Abfragerei.
@Engel der Furcht:
Allerdings muss man so immer Events kopieren und kann auch keine anderen Events, auf diese Stellen legen ohne "Change Event Location" zu benutzen.
Außerdem ist es nicht wirklich ratsam, den so hat man eigentlich mehr arbeit, denn man mus ofter was Copy&Pasten also wenn man es mit Variablen macht :)
@Topic:
Eine andere Möglichkeit wär, wenn du es in Terrain abfragst.
Da brauchst du 3 Variablen.
Erst nimmst du dir Ein CE (Common Event) und nennst es Terrains.
Erst fragst du die Koordinaten vom Hero ab. Dann fügst du den Befehl "Store Terrain ID" ein.
Da machst du das Kreuz auf "Location Referenced from Variable" und fügst bei den X und Y Koordinaten, die abgefragten Helden-Koordinaten in.
Unten wählst du nun eine andere Variabel aus und nennst die "Terrains ID".
So, das fertig gehts du in die "Terrain-Abteilung" in der "Database". Dort fügst du ein Terrain mit den Namen "Save" oder "Speichern" hinzu, verändern tust du nichts! Merk dir die Nummer der Terrain!
Sagen wir mal du hast das zweite gewählt, also Terrain 0002 (Merk dir dann die 2).
Jetzt gehst du wieder in die CE und machst eine Abfrage.
Erst den Befehl "Conditional Branch" einfügen und da abfragen, wenn Variable "Terrains ID" auf 2 ist, dann soll Switch "Speichern OK" an gehen.
Mach die Abfrage mit "Else Handler", also wenn das nicht der Fall sein soll. Da machst du den Swich "Speichern OK" aus.
Und fertig, jetzt musst du nur noch in die "Database" in die "Chipset-Abteilung" und dort die Sache wo der Speicher(stein?) drauf steht mit einer 2 auf Terrain versehen. Sollte funktionieren, so macht man normalerweise auch Gehgeräusche oder ähnliches, z.B. wenn man auf einem bestimmten Terrain draufsteht passiert eine Falle oder so.
Hoffe mal das Hilft :)
caesa_andy
18.05.2012, 16:18
Problem dabei ist nur, dass wenn die 10sek noch nicht abgelaufen sind und er nicht mehr auf dem Kristall steht trotzdem abspeichern kann. Ich persönlich würde es auch so wie Soul96 machen, ich sehe auch nicht wo der Fehler bei seiner Ausführung liegen soll.
Die Zeitspanne ist nur ein vorschlag ;) Natürlich kann man den Timer auch auf 1 Sekunde setzen, oder auf 0,5 oder auf 0,1, wenn man unbedingt will. Das Souls ausführung einen Fehler enthällt habe ich auch nicht gesagt. Ich habe lediglich eine WEITERE Mögliche Lösung eingeworfen, die meines erachtens einfacher zu implentieren ist, und weniger rechenzeit erfordert. Denn während bei meiner Lösung das Steuerevent nur so lange aktiv ist, wie der Spieler auf dem Kristall steht, wäre das Common-Event, das die Variablem abfragt, bei Souls Lösung permanent aktiv.
http://img717.imageshack.us/img717/9581/switchg.png
Ich würde es btw dann als PP machen und eben nur auf den Maps wo so ein Speicherkristall ist.
Die Aufführung ist richtig, aber manchmal kommt bei solchen Abfragen durch die Koordinaten Bugs mit.
Man sollte bei der X, sowie Y Koordinate, bei Else Handler das Speichern OFF setzen.
Hoffe es ist verständlich. Anderenfalls können Bugs auftretten ;)
Ist bei mir zumindestens so gewesen, seitdem mach ich es nur ncoh bei allen Else Handler auf OFF :)
@Andy:
Allerdings kann es bei einer Zeitspanne von 0,1 oder was man auch nimmt, zum lägen kommen. ;)
Ja, zwar ist es leichter und Anfängerfreundlicher, aber die Varianten die ich beschrieben hab, sind ganauer und weniger verbuggt, außerdem sind die gar nicht mal schwer durch zuführen ;)
Angeal_Hewley, nur um das klarzustellen, der Held geht im Prinzip auf das selbe Feld wie der Kristall oder berührt er nur den Kristall, sprich er steht daneben?
caesa_andy
18.05.2012, 22:04
@Andy:
Allerdings kann es bei einer Zeitspanne von 0,1 oder was man auch nimmt, zum lägen kommen. ;)
Ja, zwar ist es leichter und Anfängerfreundlicher, aber die Varianten die ich beschrieben hab, sind ganauer und weniger verbuggt, außerdem sind die gar nicht mal schwer durch zuführen ;)
"Vorschlag" - bei irgendwem angekommen? bei mir hat noch kein Paralel-Event zum Lag geführt, dass alle paar Stunden mal für 5 Sekunden eingeschaltet war. Wo meine Variante Bugs enthalten soll, ist mir auch nicht ganz klar, aber soll mir auch recht sein.
Der TE hat nach möglichkeiten gefragt, ihm wurden zwei genannt die beide definitv funktionieren., fertig. Warum WIR jetzt hier anfangen, die Möglichkeiten schlecht zu reden, ist mir schleierhaft...
"Vorschlag", ja angekommen ;)
Ich sag nicht das deine Variante "schlecht" wär, er kann sie gern benutzen.
Ich sagte nur das die anderen Varianten genauer sind ;)
Naja, soll Angeal selbst entscheiden was er lieber machen will :D
Angeal_Hewley
21.05.2012, 11:40
Zunächst danke für die Zahlreichen Tipps.
Ich denke ich werde es mit den 4 Variablen versuchen.
Die mit den vier weiteren Events ist viel zu umständlich und ich hätte auf vielen maps mindestens 4 eventplätze verschwendet.
Wieso bin ich eigentlich nicht selbst drauf gekommen Koordinaten abzufragen :D
Danke. ich geb nachher bescheid ob es so funktioniert wie ich es mir vorstelle :)
Gruß
Angeal
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.