satanklaus
Geomaster
Bei allen Bsp zu dynamischen Zonen, die ich bisher gesehen habe, wurde ein Polygon um einen Mittelpunkt aufgespannt. Ich möchte nun eine beliebig geformte Zone linear verschieben, also deren Form beibehalten.
Leider ist mir die Datenstruktur der Zonen-Klasse nicht so ganz klar.
Das ist mein Code:
Leider haut mir den der Emulator um die Ohren.
Wie genau muss die for-Schleife aussehen, um korrekt über die Punkte der als Zone zu iterieren, die als Argument übergeben wurde?
Danke!
Leider ist mir die Datenstruktur der Zonen-Klasse nicht so ganz klar.
Das ist mein Code:
Code:
----------------------------------------------------------------------------
function shiftZone(zone)
zone.Active = false -- Disable zone, active zones cannot be moved
zone.Points = getNewZonePoints(zone, 20.0, 130.0)
zone.Active = true -- Enable zone
end
----------------------------------------------------------------------------
function getNewZonePoints(zone, distVal, bearing)
local dist = Wherigo.Distance(distVal, 'm')
local pts = {}
for i,point in ipairs(zone.Points) do
local newPoint=Wherigo.TranslatePoint(point, dist, bearing)
pts[newPoint]=i
end
return pts
end
Leider haut mir den der Emulator um die Ohren.
Ich nehme an, dass diese Zeile nicht passt:Timer Tick method call failed. .../urwigo-src-73b793bd-ec35-4152-9ec5-fd6a7741f45d.lua:328: attempt to index local 'zone' (a nil value)
Code:
for i,point in ipairs(zone.Points) do
Danke!