Forcing the display size of an external swf on the stage
Hi,
For my AS3 website, I want to have different buttons at different points in the timeline which load and play external swf videos. These swfs would ideally be displayed on the stage at the actual height and width of the video rather than in a new window.
The swf files themselves will be generated using a third party video player, which wraps itself around an external FLV creating a nice self-contained swf video player (the generated swf contains the player and the video).
The problem is that the third-party video player i’m using ALWAYS displays the loaded swf at the full size of the stage and not the actual size of the swf video. So when the user hits the button to load and play the video, the swf video fills the stage leaving the user no way back to the website.
Also if I use _blank to open it in a new window, it fill the entire browser window.
Is it possible to force the width and height at which an external swf is displayed on the stage and if so could some guru give me a code sample to use? It doesn’t need to be dynamic according to the swf dimensions, as these will be the same for all videos.
Below is the code I’m using at this point to call the swf:-
var Xpos:Number = 0;
var Ypos:Number = 0;
var swf:MovieClip;
var loader:Loader = new Loader();
var defaultSWF:URLRequest = new URLRequest(“swfs/eyesClosed.swf”);
loader.load(defaultSWF);
loader.x = Xpos;
loader.y = Ypos;
addChild(loader);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Btns Universal function
function btnClick(event:MouseEvent):void {
removeChild(loader);
var newSWFRequest:URLRequest = new URLRequest("swfs/" + event.target.name + ".swf");
loader.load(newSWFRequest);
loader.x = Xpos;
loader.y = Ypos;
addChild(loader);
}
// Btn listeners
eyesClosed.addEventListener(MouseEvent.CLICK, btnClick);
stingray.addEventListener(MouseEvent.CLICK, btnClick);
demon.addEventListener(MouseEvent.CLICK, btnClick);
strongman.addEventListener(MouseEvent.CLICK, btnClick);
NOTE: If I set two variables for the width and height as follows:-
var swfwidth:Number = 300;
var swfheight:Number = 300;
…then add the following within the btnClick function:-
loader.width = swfwidth;
loader.height = swfheight;
…it compiles but I don’t see the swf at all, whereas if I don’t set the width and height it appears. I’ve changed the width and the height within these variables but the swf never displays unless I remove swfwidth and swfheight from my code.
I’m sure this is simple for someone who knows what they are doing (i.e. not me) I am just missing the right bit of code…
Help! Many thanks