Posted by kfx2 in SWF Studio V3 on Nov 24 2008, 12:06 pm

I have a CD project I am working on. It has a magnifying glass that when you click shows a masked over version of the map at a larger state...and follows your mouse as you go showing the larger map relative to the smaller map using the below code on a movieclip (the magnifying glass movieclip):

//////////////////////////////////////

onClipEvent (mouseDown) {
stopDrag();
this._alpha = 0;
this._x = 750;
this._y = 250;
}
onClipEvent (enterFrame) {
setProperty(largeobject, _x, (getProperty(_parent.original, _x)-(_x+72))*3);
setProperty(largeobject, _y, (getProperty(_parent.original, _y)-(_y+66))*3);
}
onClipEvent (load) {
this._alpha = 0;
}

//////////////////////////////////////////

Thing is this works fabulous outside of SWF Studio - i.e. - in tetsing just the .swf file it works great, BUT when i compile an exe through Swf Studio it totally hangs on the zoom function and cant keep up with the calculations of moving the two clips relative to the mouse.

Any thoughts or pointers? ... I can supply more files if needed....

Thanks, hope this makes sense,

Justin


Posted by mbd in SWF Studio V3 on Nov 24 2008, 12:37 pm

Are you setting the size of the application window to be the same size as your SWF (the default)? Or are you making it go fullscreen, or otherwise setting the size of the application window?

Does it behave the same way in Internet Explorer? A SWF Studio EXE uses the same Flash player as Internet Explorer. That player tends to be a little slower than the standalone player in terms of framerate.

What framerate is your movie set to?


Posted by northcode in SWF Studio V3 on Nov 24 2008, 12:43 pm

Are you using the transparency feature in SWF Studio or masks? Both of those features will affect performance as well.


Posted by kfx2 in SWF Studio V3 on Nov 24 2008, 01:49 pm

mbd,

I am setting in SWF Studio the no scaling option, display the movie at it's original size in the player AND also setting window to match the size of my main SWF...it is fullscreen though, just not scaling.

I just tried it through IE and it lagged just a barely in a couple spots - heres a link to the SWF - its 5 mb so give it a sec - its on a cd soooo

http://gateway.kfx2.com/trh/2009conf-flashcard/trh-conf-2009.swf

AND this is the Zip with the exe compiled from SWF Studio;
http://gateway.kfx2.com/trh/2009conf-flashcard/trh-conf-2009.zip

Just click the Skip Video button then the Interactive Map button....

Framerate is set at 30 -- I tried 25 - even 20 and same difference :(

Any suggestions - BTW the larger map is a big jpeg 300kb

Thanks...


Posted by kfx2 in SWF Studio V3 on Nov 24 2008, 01:55 pm

northcode,

just using a mask on the magnifying glass opening over the larger map - inside flash....

see above post for files and reference...

thanks guys,,,,


Posted by kfx2 in SWF Studio V3 on Nov 24 2008, 02:04 pm

EDIT - mdb -

I have the window set to fill the entire desktop -- my B


Posted by mbd in SWF Studio V3 on Nov 24 2008, 03:31 pm

When I view the SWF directly in IE and maximize IE I get the same results as the fullscreen EXE.

You're trying to push around a very large bitmap within the Flash player. You're best bet is to use a tiling system. Tiling is used in games all the time because of the increase in performance. If you aren't aware of what makes a tiling system, think about Google maps. They don't load one huge image, but smaller images that get loaded as you pan around. The same is done in Flash, only you aren't loading across a network, just load from the library so the speed to load the next images is fast. Plus Flash is then only moving around a portion of the pixels.

You should understand that even though you may only be showing a small portion of the image in your current zoom feature, the Flash player is actually moving around all those pixels in memory and eating up CPU in the process. The ActiveX player just does a much worse job at this than the standalone player.

There are tiling classes out there that will help you out - couldn't find any freely available during a quick Google search, but I have seen some out there. The idea is to break-up your image into smaller pieces in the library and have certain ones display as the lens moves around.


Posted by northcode in SWF Studio V3 on Nov 24 2008, 07:00 pm

I have tried, and liked, ModestMaps. It's a FREE (BSD-licensed) display and interaction library for tile-based maps. It comes with source and examples and supports AS2 and AS3. It's definitely worth a look.


Posted by AGo in SWF Studio V3 on Nov 25 2008, 08:23 am

Just a little side note: Your syntax is depreciated, so prepare for trouble as new Flash Players hit the public. E.g. use "real" movie clip events instead of onClipEvent and directly access the properties instead of using set/getProperty methods, e.g.

largeobject._x = 43

instead of setProperty(largeobject,_y,43);


Posted by kfx2 in SWF Studio V3 on Nov 25 2008, 10:05 am

Thanks guys - because of time constrants - i.e. due today or better yet, yesterday - I simple removed SWF Studio from the loop and am compiling the CD straight from Flash and making my own autorun.inf etc etc -- zoom works great when compilied straight from flash sooo....

I will look into the tiling systems though because we will need a fix - thanks for the info and heads up...

Ago - yeah - I rewrote the setProperties using dot syntax thinking maybe that could speed things up as well - didnt help - but at least its up to date now -- :)

Thanks again -