Hallo, ich bin relativ unerfahren mit Actionscript und schlage mich schon eine ganze Weile mit einem Flashprogramm rum.
Dies beinhaltet eine Weltkugel, welche von mehreren Punkten umkreist wird.
Die Generation der Erdkugel erfolgt in einer Event-Funktion, welche nach dem Laden der Textur aufgerufen wird. Die Spots werden dann über eine Klasse als Child zur Erdkugel hinzugefügt.
Nun soll ein Umschalter hinzugefügt werden, wodurch die Punkte verschwinden und Länder auf der Kugel erscheinen sollen. Die Länder waren kein Problem, aber leider habe ich keine Möglichkeit gefunden, an die Spots wieder ranzukommen.
Folgende Codeausschnitte sollten es verdeutlichen:
Code:
for each(var spotNode:XML in _configXML.spots[0].spot) {
var hotSpotData:HotSpotData = new HotSpotData();
hotSpotData.readSizesAndColorsFromXML(spotNode);
hotSpotData.readTextsFromXML(spotNode);
hotSpotData.sphereRadius = sphereConfig.sphereRadius;
hotSpotData.spotU = Number(spotNode.@spotX) / sphereTexture.width;
hotSpotData.spotV = Number(spotNode.@spotY) / sphereTexture.height;
hotSpotData.RectTexture =spotNode.@RectTexture;
var hotSpot:HotSpot = new HotSpot(hotSpotData);
hotSpot.viewport = scene3D.viewport;
hotSpot.addEventListener(MouseEvent.ROLL_OUT, spotMouseHandler);
hotSpot.addEventListener(MouseEvent.ROLL_OVER, spotMouseHandler);
hotSpot.addEventListener(MouseEvent.CLICK, spotMouseHandler);
_spotByID[String(hotSpot.data.id)] = hotSpot;
globe.addChild(hotSpot);
_spots.push(hotSpot);
}
scene3D.object3D = globe; Wenn ich nun versuche über globe.numChildren und removeChild die Objekte zu löschen, wird mir angezeigt, das globe statisch ist, und es nicht möglich ist.
Danke für die Hilfe, ich bin ziemlich ratlos.