Advertisement
Guest User

Untitled

a guest
Nov 20th, 2015
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.02 KB | None | 0 0
  1. function createGame()
  2.  
  3.     -- man sollte alle Variablen mit 'local' deklarieren, sonst gibt es unter Umständen Probleme auf iPhones
  4.     local index
  5.     local value
  6.     local unsererZonen
  7.  
  8.     -- Zuerst speichern wir uns alle unsere Zonen in einem Array:
  9.     unsereZonen = {
  10.         zone_1,
  11.         zone_2,
  12.         zone_3,
  13.         zone_4,
  14.     }
  15.  
  16.     -- Wir merken uns den alten und den neuen Ursprung
  17.     -- Der neue Ursprung wird die aktuelle Spielerposition
  18.     local newOrigin =  Player.ObjectLocation
  19.     -- Der alten Ursprung ist ein beliebiger (hier der erste) Punkt aus unserer Zone 'Ursprung'
  20.     local oldOrigin = Ursprung.Points[1]
  21.     -- in diesen Variablen speichern wir Entfernung und Winkel
  22.     local bearing
  23.     local distance
  24.  
  25.     -- Wir loopen über unsere Zonen und verschieben sie mit Hilfe des alten und neuen Ursprungs
  26.     for index, aktuelleZone in pairs(unsereZonen) do
  27.         -- In 'aktuelleZone' ist die aktuelle Zone
  28.         -- Diese deaktivieren wir vor dem Verschieben
  29.         aktuelleZone.Active = false
  30.         -- Zuerst verschieben wir den sog. 'OriginalPoint' dieser wird von den Playern z.B. für Annäherung benutzt
  31.         -- Abstand und Winkel zum alten Urpsrunge bestimmen
  32.         distance, bearing = VectorToPointSafeToUseOniPhone(oldOrigin, aktuelleZone.OriginalPoint)
  33.         -- Und relativ zum neuen Ursprung verschieben
  34.         aktuelleZone.OriginalPoint = Wherigo.TranslatePoint(newOrigin, distance, bearing)
  35.         -- Nun verschieben wir alle anderen Punkte der Zone
  36.         aktuelleZone.Points = translatePointsRelativeSafe(aktuelleZone.Points, oldOrigin, newOrigin)
  37.         -- Ahctung: Eine Zone wird unter Umständen für den Player erst verschoben, sobald sie wieder aktiv gesetzt wurde!
  38.         --value.Active = true
  39.     end
  40.  
  41.     -- Zu guter Letzt muss noch der Ursprung angepasst werden:
  42.     Ursprung.OriginalPoint = newOrigin
  43.     -- Darauf achten, dass man alle Punkte anpasst!
  44.     Ursprung.Points[1] = newOrigin
  45.     Ursprung.Points[2] = newOrigin
  46.     Ursprung.Points[3] = newOrigin
  47.  
  48. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement