Question

I have a flash movie that loads images dynamically from an xml file. I want to re-use this .swf file on different pages, however the images on page1 are all 400 x 200 and the images on page2 are all 745 x 422. When i try to reuse this on another page, the loaded images are shrunken (resized) - i would like them to match whats defined in the width/height, but they get scaled depending on how the stage is scaled.

im using a loader (AS3) for the image that places them on a container(sprite)

slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));

I have tried making the stage various sizes to start, but i would really like it to be irrelavant if possible - ie: 50 x 50. Then in html the width/height would be set to the width/height of the images being loaded.

Im not a flash wizard so please forgive me if im not clear, i'll try to give more insight if needed.

Was it helpful?

Solution

Couple of things... firstly you'll need to specify your app not to scale. (AS3 code)

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

Then once your image is loaded (add a listener to the slideLoader object), execute a javascript function using flash's ExternalInterface class.

ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);

And your javascript function would be something like this:

function resizeFlashMovie(width, height) {
    var flash = document.getElementById('yourFlashMovieId');
    flash.style.width = width+'px';
    flash.style.height = height+'px';
}

OTHER TIPS

I apologize I don't have the code at hand, but I know you have the option to set a no-resize on the canvas at startup.

Ideally, you can pass in the height/width via the attributes of the embed tag, have a no resize on the canvas and use the passed in dimensions to set your image dimenions.

I believe this is it:

fscommand("allowscale","false");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top