Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function createGame()
- -- man sollte alle Variablen mit 'local' deklarieren, sonst gibt es unter Umständen Probleme auf iPhones
- local index
- local value
- local unsererZonen
- -- Zuerst speichern wir uns alle unsere Zonen in einem Array:
- unsereZonen = {
- zone_1,
- zone_2,
- zone_3,
- zone_4,
- }
- -- Wir merken uns den alten und den neuen Ursprung
- -- Der neue Ursprung wird die aktuelle Spielerposition
- local newOrigin = Player.ObjectLocation
- -- Der alten Ursprung ist ein beliebiger (hier der erste) Punkt aus unserer Zone 'Ursprung'
- local oldOrigin = Ursprung.Points[1]
- -- in diesen Variablen speichern wir Entfernung und Winkel
- local bearing
- local distance
- -- Wir loopen über unsere Zonen und verschieben sie mit Hilfe des alten und neuen Ursprungs
- for index, aktuelleZone in pairs(unsereZonen) do
- -- In 'aktuelleZone' ist die aktuelle Zone
- -- Diese deaktivieren wir vor dem Verschieben
- aktuelleZone.Active = false
- -- Zuerst verschieben wir den sog. 'OriginalPoint' dieser wird von den Playern z.B. für Annäherung benutzt
- -- Abstand und Winkel zum alten Urpsrunge bestimmen
- distance, bearing = VectorToPointSafeToUseOniPhone(oldOrigin, aktuelleZone.OriginalPoint)
- -- Und relativ zum neuen Ursprung verschieben
- aktuelleZone.OriginalPoint = Wherigo.TranslatePoint(newOrigin, distance, bearing)
- -- Nun verschieben wir alle anderen Punkte der Zone
- aktuelleZone.Points = translatePointsRelativeSafe(aktuelleZone.Points, oldOrigin, newOrigin)
- -- Ahctung: Eine Zone wird unter Umständen für den Player erst verschoben, sobald sie wieder aktiv gesetzt wurde!
- --value.Active = true
- end
- -- Zu guter Letzt muss noch der Ursprung angepasst werden:
- Ursprung.OriginalPoint = newOrigin
- -- Darauf achten, dass man alle Punkte anpasst!
- Ursprung.Points[1] = newOrigin
- Ursprung.Points[2] = newOrigin
- Ursprung.Points[3] = newOrigin
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement