PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Event zu Event



TheDude
14.09.2005, 14:39
1.Kann mir jemand sagen, wie ich es machen kann, damit sich ein bestimmtes Event zu einem anderen Event auf dem direkten Weg hinbewegt? Wäre wirklich dankbar, wenn mir das jemand sagen könnte.
2. Und könnte mir bitte noch jemand sagen, wie ich einen Zufalsgenerator einbauen kann?
Vielen Dank im Vorraus

Batista
14.09.2005, 15:01
Dürfte kein Problem werden.
Du speicherst die Koordinaten des Ziels und des Verfolgers ab, diese werden in einem parallelen Prozess ständig aktualisiert.
In einem weiteren parallelen Event wird jetzt abgefragt wo sich der Verfolger hinbewegen soll, wenn sich das Ziel bewegt. Das ganze lässt sich über vier Forcs ganz einfach machen. In diesen Forcs wird abgefragt ob der X Koordinaten Wert des Ziels über dem des Verfolgers liegt, unter dem des Verfolgers und das gleich dann noch für die Y Koordinaten. Dementsprechend wird nun der Verfolger Schritte in die richtige Richtung durch Move Events machen.
Hier ist der ungefähre Code:
Event 1:
Set Variable X Koordinate Ziel to Ziel X Position
Set Variable Y Koordinate Ziel to Ziel Y Position
Set Variable X Koordinate Verfolger to Verfolger X Position
Set Variable Y Koordinate Verfolger to Verfolger Y Position

Event 2:
If Variable: X Koordinate Ziel bigger than X Koordinate Verfolger
then
Move Event: Verfolger: Step Right (oder Left, weiß ich jetzt nicht genau)
End Case
If Variable: X Koordinate Ziel smaller than X Koordinate Verfolger
then
Move Event: Verfolger: Step Left (oder Right, weiß ich jetzt nicht genau)
End Case
If Variable: Y Koordinate Ziel bigger than Y Koordinate Verfolger
then
Move Event: Verfolger: Step Down (oder Up, weiß ich jetzt nicht genau)
End Case
If Variable: Y Koordinate Ziel smaller than Y Koordinate Verfolger
then
Move Event: Verfolger: Step Up (oder Down, weiß ich jetzt nicht genau)
End Case

Müsste funktionieren, sonst schäme ich mich ganz gewaltig xD.

Was du mit deiner zweiten Frage allerdings meinst weiß ich nicht, erkläre dein Anliegen diesbezüglich etwas genauer.

Nozdrum
14.09.2005, 15:03
2.erstelle eine Variable ''Zufall' so dann unter change variable (Unterpunkt random) 2 werte einegeben(z.B.0-100) und dann bekommt die variable Zufall einen zufälligen wert von 0-100.

TheDude
14.09.2005, 15:57
Vielen Dank an euch, genau das wollte ich wissen. Jetzt kann ich endlich weiter machen. :D

Tyrfing
14.09.2005, 17:51
Das ganze hat aber einen Haken, wenn da Gegenstände im Spiel sind^^. Daher kommt da noch was^^.

Also: Erstmal alles so lassen wie es Batista gesagt hat. Aber davor musst noch ein Change variable hin:

Change Variable: OldVerfolger X Koordinate = Verfolger X Koordinate
Dasselbe muss auch für die Y Koordinate dahin ;D.

Achja, nebenbei gesagt, sollte dieses Event nur anspringen,w enn sich der Verfolger bewegt. Dann musst du noch nach Batistas berechnung die VerfolgerKoordinaten aktualisieren. Danach muss abgefragt werden, ob die OldVerfolger X/Y Koordinate ungleich Verfolger X/Y Koordinate ist. Wenn ja, dann hat sichd er verfolger nicht bewegt und somit steht er an einem Gegenstand oder ählichem, richtig?

So, nun zum schwierigerm^^:

Wenn sich die Koordinaten NICHT verändert haben brauchst du in den Befehlen, wo drin steht, ob sich der Verfolger nicht bewegt hat, einen neuen Bewegungsbefehl. Deshalb kommt nun eine Schleife, da mach ich uchd en Code^^:
(Ich habe das ganze in Visual basic sprache, damit kann iche s einfacher schreiben^^, hoffe du verstehst das, hatte eben einen Post gemacht, aber ich habe es geschaft ihn zurückzusetzen und nun nicht mehr die Kraft ihn wieder so präzise zu verfassen...)

Label1
If OldVerfolger X Koordinate = Verfolger X Koordinate then
Change Variable: Schritt Rnd 0 - 1

If Schritt = 0 then
Move Event: Hero Step Down
End if

If Schritt = 1 then
Move Event: Hero Step Up
End if

Verfolger X Koordinate = X Koordinate des Verfolgers(aktualisieren)

GoTo Label1
End if

Dann machst du das ganze für die Y Koordinate^^ und ich glaube und hoffe das es dann sogar mit Gegenständen klappt. Probiers mal aus, bin sleber gespannt XD und ich hoffe du ahsta lels verstanden^^