PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Koordinate vorm Helden?



djeurissen
27.01.2011, 20:57
Hi,

eigentlich ein einfaches Problem, ich will das mein Rpg Maker immer abfragt welche Koordinate das Feld vor dem Blickfeld des Helden ist, dazu habe ich das hier erstellt:
(Denkt euch die Terrai Abfrage weg^^)


--- EVENT ---
Type: Common event
Name: Abfragen (Rennskript
Number of Pages: 1

-- PAGE 1 --
Start conditions:
<None>
Trigger condition: Parallel process
- SCRIPT -
<> Change Variable: [2] = X position on map (tiles) of hero
<> Change Variable: [3] = Y position on map (tiles) of hero
<> Get Terrain ID: (V[2], V[3]), Store in var. [4]
<> Fork Condition: If Hero is facing right then ...
. <> Change Variable: [5] += 1
. <>
: Else ...
. <>
: End of fork
<> Fork Condition: If Hero is facing left then ...
. <> Change Variable: [5] -= 1
. <>
: Else ...
. <>
: End of fork
<> Fork Condition: If Hero is facing up then ...
. <> Change Variable: [6] += 1
. <>
: Else ...
. <>
: End of fork
<> Fork Condition: If Hero is facing down then ...
. <> Change Variable: [6] -= 1
. <>
: Else ...
. <>
: End of fork
<>


Nun jeder der das jetzt sieht erkennt sofort das Problem und zwar wird ständig 1 Variable dazu gezählt so das die Variable komplett falsch ist.
Ich wollte das erst mit einem Wait befehl lösen allerding sorgt dieser dafür das die richtige Koordinatenangabe vom Helden schon vornerein falsch ist, da der Maker nicht nachkommt weiter abzufragen wenn ein Wait befehl immer dazwischen ist...

Hoffe mir kann jemand helfen...

Felski
27.01.2011, 21:24
schonmal getestet?
dein problem existiert nicht, das ding ist parallel
es wird nur ein mal 1 dazugezählt. danach wird x oder y wieder auf heldenposition gesetzt.
XY beschreibt als immer genau die Position vor dem Helden.

Roverandom
28.01.2011, 08:46
Wenn du zwischen GetTerrainId und ForkCondition noch Var[5]=Var[2] und Var[6]=Var[3] setzt, dann solltest du einen Schritt weiter sein - zur Zeit sind die Variablen völlig unabhängig voneinander.

Felski
28.01.2011, 09:56
stimmt, voll übersehen^^ Roverandom hat natürlich recht. erstmal gleichsetzen. dann passt das mit dem feld. :D

Cherry
28.01.2011, 16:38
Außerdem gehört Minus und Plus bei up/down vertauscht, da die Y-Koordinate nach unten zunimmt, nicht ab.

djeurissen
28.01.2011, 16:50
Ups^^, da habe ich in der Schule nicht richtig aufgepasst danke Cherry jetzt versteh ich auch den Bug in meinem Skript XD.

Motris
28.01.2011, 18:41
Ups^^, da habe ich in der Schule nicht richtig aufgepasst danke Cherry jetzt versteh ich auch den Bug in meinem Skript XD.

In der Schules hast du schon richtig aufgepasst, keine Sorge.
Das ist eher eine Eigenheit des Makers.

R.D.
29.01.2011, 14:24
In der Schules hast du schon richtig aufgepasst, keine Sorge.
Das ist eher eine Eigenheit des Makers.

Warum ist das eine Eigenart des Makers? In der Informatik wird das immer so gesehen oO (Mit Ausnahen, zb bei OpenGL) Sprich, es ist ganz natürlich.

Motris
29.01.2011, 15:30
Warum ist das eine Eigenart des Makers? In der Informatik wird das immer so gesehen oO (Mit Ausnahen, zb bei OpenGL) Sprich, es ist ganz natürlich.

Dann eben eine Eigenheit der Informatik. :P
Trotzdem hat er in der Schule richtig aufgepasst, wenn er sich, wie ich, auf den Mathematikunterricht bezieht.
Aber danke für die Aufklärung. Wusste ich ehrlich gesagt wirklich nicht, dass das in der Informatik so gehandhabt wird. Wieder was gelernt.

Chemluth
02.02.2011, 19:20
nunja der Maker benutzt eine art Koordinatensystem... wenn in einem Koordinatensystem von der X-Koordinate 1 Wert abgezogen wird geht der Punkt, den die Koordinaten beschreiben, nach unten... wird ein Wert dazugezählt geht der Punkt nach oben.... genauso ist es mit der Y-Koordinate nur das der Punkt nach links geht wenn ein wert abgezogen wird und nach rechts wenn ein Wert dazugezählt wird...

das lernt man im Matheunterricht normalerweise in der 5. oder 6. Klasse... man muss es nur auf den Maker beziehen.

Cherry
02.02.2011, 19:42
Ähem, erstens vertauscht du X und Y, und zweitens stimmt das mit "abgezogen"->"nach unten" nicht! Genau das war ja das Verständnisproblem.

Im Gegensatz zu den Koordinaten in der Mathematik steigt der Y-Wert bei den Koordinaten in der Computerwelt, wenn sich etwas nach unten bewegt. Der Ursprung (0, 0) ist oben links am Bildschirm.

djeurissen
02.02.2011, 20:07
Wollt ihr jetzt ne Mathe Diskussion starten oder wasXD?

Es ist nunmal so wie es ist, aber trotzdem danke^^...

Chemluth
02.02.2011, 21:34
deswegen eine art Koordinatensystem... es weist gewisse Ähnlichkeiten auf auch wenn einige Sachen vertauscht wurden... was ich ziemlich nervig finde, da ich andauernd mit den Koordinaten durcheinander komme. :D

wenn du einen patch für mich entwickeln könntest der das zum mathematischen koordinatensystem dreht wär das ziemlich praktisch... ich mache viel mit den koordinaten :D... nunja aber da ich wahrscheinlich der einzige bin der dafür ein patch braucht muss ich wohl einfach drann gewöhnen...

wobei mir das mit dem ursprung (0/0) eigentlich auch schon ziemlich hilft...

Multi-Master1988
02.02.2011, 22:19
Versuch doch dein Problem mal mit unabhängigen Ereignissen zu Lösen d.h.
wenn der Held hoch geht geht Ereigniss X auch einen schritt nach oben.

Das ist jetzt aber nur ein Gedankengan keine Ahnung ob sowas funktionieren kann.
Aber du brauch dafür

Die Tasen-Abfrage
4 Ereignisse jeweils mit X,Y koordinaten
Und die Heldenposition

Und dann kannst du wenn alles klappt das feld vor dem Held immer abfragen.

Lg
Multi-Master1988

Cherry
03.02.2011, 08:54
deswegen eine art Koordinatensystem... es weist gewisse Ähnlichkeiten auf auch wenn einige Sachen vertauscht wurden... was ich ziemlich nervig finde, da ich andauernd mit den Koordinaten durcheinander komme. :D

wenn du einen patch für mich entwickeln könntest der das zum mathematischen koordinatensystem dreht wär das ziemlich praktisch... ich mache viel mit den koordinaten :D... nunja aber da ich wahrscheinlich der einzige bin der dafür ein patch braucht muss ich wohl einfach drann gewöhnen...

wobei mir das mit dem ursprung (0/0) eigentlich auch schon ziemlich hilft...

Ich mache dir sicher keinen Patch dazu^^

Das ist ja nämlich nicht nur beim Maker so, sondern allgemein bei allem was mit COmputern zu tun hat. Ich glaube nur ein paar sehr sehr alte Computersysteme hatten den Ursprung unten statt oben.

djeurissen
03.02.2011, 14:12
Ähäm...

Danke noch für die Hilfe habe es ja soweit fertig und für mein jetziges Problem hat mir Cheryy schon in nem anderen Thread geholfen...

Wäre jemand so nett und schließt den Thread?