Actionscript 3 :: Get Access To The Internal Bitmap Used By CacheAsBitmap?
Feb 16, 2010
is it possible to get access to Flash's internal bitmap cache of an object when CacheAsBitmap is on ?
eg, something like:
var bmd:BitmapData = someDisplayObject.getCachedBitmapData();
if (bmd != null)
trace("stoked!");
else
trace("bummer. got to bmd.Draw(someDisplayObject) ourselves.");
View 1 Replies
Similar Posts:
Oct 22, 2010
So, you have a sprite, you draw some graphics, you set cacheasbitmap=true... I can't seem to access the newly created bitmap data, to access the dispose() method.
[Code]...
View 6 Replies
Sep 17, 2009
is there anyway to access the internal bitmap representation of a movieclip that has its cacheasbitmap property set to true?It would be nice if I could create vector artwork that scaled to the size of the browser and then obtain a bitmap representation of it so that I could then manipulate it on a per pixel basis for some cool visual fx.
View 1 Replies
Jan 4, 2008
CacheAsBitmap stores a raster copy of a movieclip in memory to use. If that movieclip is rotated or scaled, the performance gain is lost as it must re-cache the new movieclip. I assume this also applies to a movieclip that has a constantly repeating internal timeline, even if that movieclip isn't rotating or being scaled. However, do additional frames (that aren't being used) affect this?I have a 'player' movieclip. This movieclip consists of about ten frames, each its own animation. Idle stance, walking, jumping, all the standard stuff. THe movieclip remains stopped on frame 1 (idle stance) for most of the game. Right now the Idle stance is an animation, so to use cacheAsBitmap I need to stop the idle animation. That's fine, but does the additional content in the movieclip interfere with this? If I go from a walking animation back to the idle stance will it re-cache the idle stance for me?
The main reason I ask is that I wasn't able to notice much of a performance difference between either method. Cacheasbitmap on a player sprite with animated idle stance, and Cacheasbitmap on a player sprite with a static idle stance. Both resulted in 39 fps (set to 40) in the flash player. Which is good I suppose, but I don't know how the results will vary for someone with a slow computerThis is an important area of the game because at any given time there could be up to 12 player sprites on the screen (all with filters attached to them). So if one player is moving left/right the other 11 must be re-translated on each frame (since the stage moves too) so if all 11 players are playing their idle animations, with a glow filter, WHILE flash tries to re-cache all of them, that could lead to performance issues (although it hasn't yet for me)I want to give players the option to disable the idle animation, I just hope that it's actually working the way I intend. If cacheasbitmap fails because of any other content inside the movieclip then this would be a useless feature.
View 1 Replies
Dec 26, 2011
So if i have a bitmap in a mc that doesnt animate (because i write directly into the bitmapdata) can i use CACHEASBITMAP?
View 3 Replies
Aug 28, 2011
1. I've read that when Bitmap Caching an object, if the objects you are caching are bitmaps that all point to the same bitmapData object, than only one instance is cached and used by the GPU. However, if the bitmap contains a scale, does this hold true, or is a new bitmap cached for each object because of the new scale? I'm pretty sure its the second one, just checking.
2. When using cacheAsBitmapMatrix, I've seen examples setting the matrix to identity, and setting it to the concatenated matrix of the bitmap object. Can someone explain the difference between the two approaches? I would assume setting it to identity doesn't scale it up or down when caching is as stated in the documentation:
"The matrix transformation you apply to the cacheAsBitmapMatrix property is applied to the display object as it isrendered into the bitmap cache. Thus, if the transform contains a 2x scale, the bitmap rendering is twice the size of thevector rendering. The renderer applies the inverse transformation to the cached bitmap so that the final display looks the same."
But if this bitmap is nested in a sprite that moves throughout the scene, will the bitmap still move with it? Or will I need to update the matrix's x/y everytime I update the sprite's x/y. If this problem exists, does using the concatenated matrix get around it.
3. Finally, I have seen some sites state that more gpu memory is used when cacheAsBitmapMatrix (such as an additional copy of the texture being pushed into the gpu), but I was under the impression that this would just rotate and scale the texture in memory using openGL matrices. Why would more gpu memory be used when cacheAsBitmapMatrix is set?
My understanding is that when designing for mobile, if the graphic isn't too large, and the object doesn't contain nested animating objects, the best approach is to cacheAsBitmap and cacheAsBitmapMatrix on the object to ensure it won't be pushed to the gpu each frame, but feel free to correct me if I'm wrong. Adobe states "Always set the cacheAsBitmapMatrix property whenever you set cacheAsBitmap to true in content created for mobile devices."
View 4 Replies
Feb 26, 2008
I know I can convert a mc to a bitmap with "cacheAsBitmap".Now I am wondering how I can convert a bitmap to a mc.I have a black and white bitmap, which I created from a vide still.now I would like to convert the white area of this bit map to an mc,so that I can used it for hitTest etc.
View 1 Replies
Aug 11, 2009
I have an MC being duplicated to 2 bitmaps but they are created before the MC performs its internal script. How to change that order? See sample .fla.
View 2 Replies
Aug 11, 2009
I have an MC being duplicated to 2 bitmaps but they are created before the MC performs its internal script. How to change that order? see sample .fla
View 2 Replies
Nov 16, 2010
I would like to be able to access all the components of say a Flash image gallery on someone else's site. I want to be able to find the images, image coordinates, action script code, audio files, video, etc. I do not want to manipulate these elements, I just want to view them and their related information.
View 2 Replies
May 24, 2009
I am completely new to using Flash and AS, so I decided to start off with something that seemed simple enough, rotating an image. Turns out it's anything but simple. My initial idea was simply to have two layers, on one of which I had the image I wanted to rotate, and above that some other image that was transparent. I've had lots of problems with this but I have managed to hack my way through to some solutions. I would like for someone to confirm if I have understood these solutions correctly.
One problem was that I implement my images (which were BMP at first but now GIF) as Bitmap, and they sit in the library and on stage, so they're visible when I run my Flash movie. However I had problems figuring out how to access the rotation property of my Bitmap, and what I ended up figuring out is that apparently even if it's loaded on the stage and in the library, it can't be used by AS as such. So I ended up having to use Linkage and making a SkyClass, which I then use to make a Sprite, which I can then change the orientation of. But is that really how I have to access my Bitmap, even if I put it on the Stage designtime?
[Code]...
View 11 Replies
May 3, 2010
I'm writing a simple little test app consisting of 'main.as' and 'test.png', both within the same subdir on my harddrive. I'm compiling via command line with mxmlc, and testing via 'open with...' and Chrome. The code uses flash.display.Loader.load( "test.png" ) - but I can't access the loaded content (or even draw it to a bitmapdata!) due to security exceptions.
My goal is to get the image into something (preferably a bitmapdata!) I can draw to other bitmapdatas, as I understand this is fastest for gaming. I've tried all sorts of things, including creating a 'crossdomain.xml' that goes in the same dir as the above files (and doing the appropriate LoaderContext thing), tried various system.Security things and still no joy.
View 1 Replies
Jun 26, 2009
I am unknown about internal in OOP. Is there any body about internal. How we can use this in pratical world
View 1 Replies
Mar 7, 2009
when cacheAsBitmap is true, do x and y suddenly become ints? im ok with them being drawn this way, but my calculations require x and y to be numbers, because else strange behaviour occurs, which is happening now.
View 6 Replies
Sep 19, 2011
Why does hitTestPoint isn't working on DisplayObjects that has cacheAsBitmap set to true?It does work, but it takes the Whole rectangle of Display object, not respecting wheather or not pixel is transparent or not (transparent pixels return true after hiTestPoint)
View 3 Replies
May 30, 2011
Is there any way to add 3D properties like .z and .rotationY without the MovieClip's cacheAsBitmap property being automatically set to true? This automatic cacheAsBitmap to true messes up the visual of my MC (which is using a lot of bitmaps and filters) as soon as I rotate it in 3D. And turning it "off" right after it doesn't seem to work.
View 2 Replies
Aug 19, 2009
Start a fresh AS2 document using its default publish settings. Draw a circle on the stage and convert it to a movieclip. Name it for example "my_mc". Apply a motion tween to it from left of the stage on frame 1 to right of the stage on frame 20. Test it and the circle moves from left to right.
Now apply this code on frame 1:
code: my_mc.cacheAsBitmap=true;
Test it again: the circle doesn't move; it freezes on its left position of frame 1.
Now change the publish settings from 'flash player 9' to 'flash player 8'. The motion tween now works again
Is this some bug anyone is aware of? Why can't I apply cacheAsBitmap AND a motion tween on a movieclip when using a AS2 document and Flash Player 9?
Just open attached file. While on its flash player 9 setting the circle doesn't move. Change the setting to flash player 8 and it moves again.
View 6 Replies
Jul 30, 2010
I'm loading child swfs in main swf, but as default all loaded swfs has cacheAsBitmap set to true, how to set it to false from main swf? this: loadedSwf.cacheAsBitmap = false; - have no effect.
View 1 Replies
Aug 6, 2011
I'm loading a MovieClip which pixels should be displayed perfectly.Every child of this MovieClip and the MovieClip itself uses only whole integers in position and size.The funny thing is that even if I use "myMovieClip.cacheAsBitmap = true" sometimes it will appear blurry.
View 1 Replies
Mar 3, 2010
In the root of my swf i have 2 mc files "menu" and "mask". Mask has inside a vector gradient, while menu is a vertical scroll-able menu, then the mask makes a fading effect on top/bottom. The code:
Code:
stop();
_root.menu_mask.cacheAsBitmap = true;
_root.menu.cacheAsBitmap = true;
_root.menu.setMask (menu_mask);
Inside the menu i have, on first frame, the code for scrolling ( and some functions cause the buttons are duplicated from info on a xml file). The code:
Code:
stop();
var yPos = -23;[code].......
The Problem: If i Scroll the buttons all way up, the mask transparency parts looks like to move right (not the whole mask, just the transparency points). If i set no transparency for the mask, this problem doesn't show up.
View 1 Replies
Mar 15, 2010
I'm actually rendering quite a complex 3D scene (complex is a relative term here, doing a similar scene in d3d or opengl would be a breeze, but they're hardware accelerated so you'd expect that). I've built a 3D engine with some basic features including depth sorting, 3D tweening, and mapping between polar and cartesian coordinates. This last bit should be a give away as to what I'm doing - I'm rendering a 2d grid onto a sphere that I then unravel, spin around, squash, expand all so the Client goes ooh and aah. The trouble, is that on anything other than my workstation, rendering crawls. From discussions with other flash programmers and my own investigations, the slow down is most definitely caused by the rendering itself, and not my relatively swift matrix and sorting calculations (they take around 5-14ms tops depending on the complexity of the scene) .
So, my question is, what exactly does happen when I set cacheAsBitmap to true on a display object? I see no texture map distortion so I'm under the impression that flash automatically splits the cached bitmap into polygons for rendering, but how good is flash at doing this? I don't care about texture distortion on objects beyond a certain z value because they're far away, and try as I might I have found no way of setting the equivalent of a display objects 3d render quality. I'm certain that if I could set such a value, I'd at least double the render speed of my scene by only rendering many polys for objects near the camera. Failing this, is there a way to coerce flash into rendering a low poly object? Perhaps by making invisible any graphically complex children?
View 6 Replies
Mar 8, 2011
I'm using cacheAsBitmap to create a gradient mask. The code I set up worked great and all was well but I soon discovered problems when cacheAsBitmap was being nullified when its parent mc was loaded into another mc. I read up on it and from what I understand, since I'm using the MovieClipLoader class, this code should be included in onLoadInit in the root mc (start_mc). Basically this is what I have: start_mc loads main_mc (target) and rollMask1 and roll1 are contained within main_mc. Here's the script for onLoadInit:
[Code]...
View 50 Replies
Aug 30, 2011
in order to increase performance of a scrollRect i must cache the vector as a bitmap, otherwise the scrollRect will be simply a less performant mask (info source).however, i can't seem to move an object/scrollRect once i've applied cacheAsBitmap. why?
package
{
//Imports
import flash.display.Screen;
import flash.display.Sprite;
[code].....
View 1 Replies
Aug 2, 2010
I'm a seasoned AS3 developer working on a major online project and we've run across a strange visual anomaly which is connected to the movieclip cacheAsBitmap property. When using author-time additive blends (which we use for lighting effects) in a movieclip, turning on the cacheAsBitmap property (without which performance becomes unacceptable in our very detailed art) seems to 'destroy' the additive blend. The art director says that the visual effect produced is as if the blend mode had been set to Normal, which I can confirm--some blends which are yellow turn orange, other 'spotlights' turn from transparent yellow to dark gray.
View 5 Replies
Dec 25, 2011
The cacheAsBitmap property is somewhat similar to what I had to do to get the filters to show up on iPhone GPU mode:But I played around with that property yet filters still don't show up.I even tried to put child objects (with filters) inside a parent object (no filters but cacheAsBitmap = true), no shows.
View 1 Replies
Jun 3, 2009
I have a very complex vector symbol on the Stage - background_mc. I have set background_mc.cacheAsBitmap = true.This turns background to bitmap and makes Stage repaint fast.Every frame the background light changes.I use the following code to alter the light.
(new Color(background_mc)).setTransform(light);
And here is the problem.The code works very slow.I guess because the light is applied to the contents of the background_mc.And then a new cached bitmap is resterized once again.The same code over BitmapData of the same size works much faster!Is there a way to tell Flash to apply color-transformation to the cached bitmap, instead of underlying vector symbols?
Note, that background_mc is scaled when Stage is resized.This is not so fast, but it's good, because the picture quality preserved.If I convert background_mc to BitmapData, bitmap would be scaled.
View 1 Replies
Aug 2, 2010
I have an image converted into MovieClip (background) and I have a mask MovieClip (bgMask) set to mask the image MovieClip like this:
[Code]....
In bgMask I have a few linear gradient shapes which I animate with shape tweens using keyframes. If I don't set cacheAsBitmap for both, nothing will happen since what I need is alpha masking and it will work only then. In this scenario is cacheAsBitmap working for me or agains me? (not that I have any choice). Still I could try to replace some of the shape tweens with MovieClips with solid shape in them and just move them around to uncover some part of the background, and where I want a smoother transition I would stick to the shape tweens. If the object that I've set cacheAsBitmap true to is no longer being animated moved sized and so on, would it be better to set cacheAsBitmap to it to false?
[Code]....
View 1 Replies
Nov 15, 2010
I've recently started using the cache as bitmap switch on my on-stage movieclips, to great success, while creating my isometric RPG. What I can't grasp though, is how to apply it to AS-instantiated classes/object.How can I turn on cacheAsBitmap inside a class that extends movieclip? Alternatively, how can I do it from outside the class, from another class that adds mentioned movieclip to the stage?
View 1 Replies
Jul 12, 2009
My webapp progressively slows down over 45 min of use. People will be using it for longer, and it needs maintain its snappiness.I'm making sure to dump() any Bitmaps I use and of course clear any intervals that are running, but for some reason there's a buildup over time, and only restarting the browser clears up the lag, for example, when the user is entering text.I'm going to go ahead that it's an error in how I'm building things and not a Flash memory leak
Question 1: I read somewhere that every time that I "cacheAsBitmap," the movieclip must explicitly be set to cacheAsBitmap = false, or else the memory won't be freed up, in the same way that Bitmaps must be dump()ed to free up memory.I'm assuming I need to only do this for MCs that I cacheAsBitmap by code, and not through the GUI. Do I need set cacheAsBitmap = false via code even for MovieClips that I check off with "use runtime bitmap caching" through the Flash GUI?
Question 2: When I have added filters (like a DropShadowFilter) to the filter array of a movieClip, do I need to do anything to free up that memory, such as delete the references to the filters, or set filters to a blank array, before the MovieClip is removed... or is this done automatically? I have been assuming that it is handled by flash, but this could be a HORRIBLE assumption.
Flash 8 compiled ActionScript AS2 ... combination of Classes and FLA embedded code
View 2 Replies
Feb 3, 2009
I'm cutting my teeth in actionscript 3 on a game that has a character running through a world. So, I have set up my Hit Testing by using the bitmap data hit test method, since I figured my world is going to be destructible - it'd be nice to update the level and then redraw it and have the character interact with the new change. (That works beautifully) I am however; a bit confused as to how I have my hit Testing set up. I've been messing around with it, and it works for now - but I'm not sure why.. currently, I have a character set up by using a class I built and using a series of animations I created. So, this character has a walking and falling animation, etc. This is a movie clip.
Then there's a bitmap 'emptyBitmap' with bitmap data created - however; I never really added this as a child to the character. This is sized to the dimensions of my character. My level is created as a movielip, then it's drawn to a bitmap - when the level movieclip is changed, the bitmap redraws, and that's how this updates.
[Code]....
View 1 Replies