Alright, so I thought I would never be posting here.
My problem is this. For whatever unknown reason, in Flash Player 7 for Windows Mobile, when you try to tell it scale=noscale, it does the following weird thing:
- It will render within the bounds you list in the object tag (width=x, height=x). This is a good thing.
- It will scale your existing movie down (using the published movie values) with locked ratio within these bounds. This is a bad thing.
When I call Stage.width and Stage.height to test this, I see that indeed it returns the value I set when I export the swf.
This is troublesome.
The flash application I’m writing needs to be a browser application that scales to the maximum working area of any screen (smartphone, pocketpc, and the landscape modes of each). My application works in a desktop environment, where the flash object actually respects the noscale command.
In the flash environment, though, there suddenly arises all sorts of tricky math to try to get things to work (scaling things to more than the Stage width to get things to be ACTUALLY the width of the Stage).
My original solution was to pass it the ACTUAL width and height it should be and use math to scale up. This has proven to be much, much trickier than it sounds, as the ratio of things are suddenly irrelevant to everything, something I wasn’t counting on.
There are multiple things that can solve this, and if anyone knows how to do any of them, it would be great.
- Make flash understand noscale.
- Change the value of the Stage width and height and have it change in pixels rather than relative size.
- Anything else ?
Otherwise I’ll either have to export many, many versions, or else I’ll have to go back and do the math…
edit
Here’s a line from a Flash Technote basically explaining it, but for Flash Lite rather than FP7 for WM:
If a SWF file’s actual dimensions are different from the available Stage dimensions, the Flash Lite player scales the content (proportionately) to fit within the available Stage area. When you test your content in the Flash Lite emulator, the emulator also warns if your application’s Stage size is different from the available Stage area, as the following image shows: