SWF-Panos in weitere SWF per Button laden

Fragen und Antworten zu Pano2VR in deutscher Sprache
Post Reply
skaddi
Posts: 24
Joined: Thu Aug 20, 2009 2:24 pm

Hi Zusammen,

ich versuche nun schon seit ein paar Stunden den in der Dokumentation stehenden AS3 code, um pano2VR 2.2 panos zu laden, so umzustricken, daß dies erst durch einen button passiert.

Ziel ist es mehrere Pano so in einen Übersichtsplan einzubinden.

Mein Problem ist, daß ich zwar Tilt/Pan/Fov abfragen aber nicht wieder anwenden kann. Ich ruf die SET Befehle zusammen mit WindowSize und WindowPos unter der function initPanorama auf. Allerdings läuft diese function ins leere. Denn ich kann das ENTER_FRAME Event von initPanorama unmöglich die ganze Zeit durchrattern lassen. Meine Frage ist also, zu welcher Zeit muss ich initPanorama aufrufen?
Zum Zeitpunkt von "finished_loading" ist dies komischer weise noch nicht möglich... (Null-Objektverweis)
Nutze ich einen Button um dies nchträglich zu tun, geht es, genau so wenn ich ein delay von 1 Sekunde einbaue...

Bräuchte da mal jemand der ein bischen fitter als ich in Flash ist.
skaddi
Posts: 24
Joined: Thu Aug 20, 2009 2:24 pm

So nu hab ichs selber heraus gefunden.

Code: Select all

import flash.display.*;
import flash.net.URLRequest;
import flash.events.Event;

var vr:MovieClip = new MovieClip;
var loader:Loader = new Loader();

function initHandler(event:Event):void {
	trace("initHandler: " + event);
	vr = MovieClip(loader.content); // cast 'DisplayObject' to 'MovieClip'
	vr.isFlash10=false; // Disable Flash 10 rendering if the container is Flash 9
}

function initPanorama(e:Event) {
	if (vr.pano!=null) {
		vr.pano.setWindowSize(200,100); // resize the window
		vr.pano.setWindowPos(50,0); // reposition
		removeEventListener( Event.ENTER_FRAME , initPanorama);
	}
}

function load_swf(evt:MouseEvent) {
	addEventListener( Event.ENTER_FRAME , initPanorama);
	loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
	loader.load(new URLRequest("mein pano.swf"));
	addChild(loader);
}

btn1.addEventListener(MouseEvent.CLICK,load_swf);
Das bringt mich aber zu einer anderen Frage. Wie bekomme ich dieses Pano wieder raus aus Flash und zwar ganz. Mit:

Code: Select all

vr.cleanup();
removeChild(loader);
ist es nich getan. vr ist immer noch nicht = null
skaddi
Posts: 24
Joined: Thu Aug 20, 2009 2:24 pm

Es kann so einfach sein vr = null;

Aber danke für auch null support hier im Forum...
Post Reply