Checking Cache As Bitmap Doesn't Work
Jun 29, 2009Checking Cache as Bitmap doesn't work, you have to .cacheAsBitmap = true with actionscript?
View 2 RepliesChecking Cache as Bitmap doesn't work, you have to .cacheAsBitmap = true with actionscript?
View 2 RepliesI have uploaded a test here
Code:
a2.width = 300;
a2.height = 300;
b2.width = 300;
b2.height = 300;
Both clips in library have scale9grid enabled, but it just wont apply to the imported bitmap, just vector.
If there is no way around it, I cant imagine it is too hard to write a custom class that applies scale9grid to the bitmap aswell, maybe someone know if it has been made already?
trace(a1.scale9Grid); and chop the bitmapdata manually?
Im trying out some basic OOP.. and cannot understand where I am going wrong. It works within the timeline - but when I transfer to Packages It doesnt work where concerning the property of the bitmap. I have a 'MyClip' instance in the library. here is my bask Document Class package::
[Code]...
Now this one wouldn't be tricky at all if the vector graphic background I wish to cache wasn't nested. Unfortunately it is.
-stage
-- container
----- animated layer
----- bitmapCacheContainer
----- background
This is the hierarchy for the display list. The animated layer is slowing to a bad chug on the heavier backgrounds. This is due to the fact that when zoomed in on the container layer, the automatic cacheAsBitmap functionality in the flashplayer is caching a HUGE image, which takes a fair chunk of memory.
I have started dev on this, and this is my process.
Create a new bitmap object to hold the snapshot.
Code:
if( stage.stageWidth > container_mc.width ){
_width = stage.stageWidth;
}
[Code].....
Has anyone tried this before, or can anyone see any schoolboy errors here that I am missing.
I'm trying to create an bitmap image cache. What it needs to do is to store an image in a cache and then retrieve that image.
[Code]...
I found something when I create bitmap data cache for each frame of a movie clip:I got a movie clip, instead of presenting it immediatly on stage, I created a bitmap data array to store each frame of it, so I'm doing:
var body:MovieClip; // some mc for body
var suit:MovieClip; // some mc for suit, frame count is the same as body mc
body["part"].addChild(suit); // it's a avatar, there's a sprite named "part" on body mc to contain suit mc
[Code]....
if i present the original body moive clip, everything is ok, but when I use cache, it begins to tremble, this is because the getBounds() method of movieclip returns different rectangle when mc is cached and mc is presented on stage. I tried trace out every getBounds() when caching and when Event.FRAME_CONSTRUCTED fire, they're different, making my cache crash!
I assum MovieClip class do not refresh until it's present to stage or some time in on frame, how can I get the real boundary of it if I need to cache it?
i embedded a swf in a forum post, but it doesn't cache.
View 1 RepliesIf you once run an ObjectBuilder the object instantiated will be cached and next time you use an PropertyInjector or something else, the instantiated object will be used instead of creating a new object. Or at least this should be like this :) But in the example below it seems that mate tries to instantiate the object again: The following error occurs:
[Code]...
Each time I publish new content on my flash page, the computers that had opened that page earlier (with old content) remain with the same old content, until their histories are removed, or the page is refreshed with SHIFT+reload.How can I build I page so this does not happen?
View 2 RepliesI decided to try to use setInterval for myanimation, which is just a mouse trail.However, I'm trying to get teh mouse trail to be a dynamic mask.In my previous swf this was achieved by using a holder mc with the animation inside and then using this as the mask. But this time I just canpt seem to hit on the right way to get it to work. The code I am using for the mouse trail is:
Code:
var i:Number = 0;
var myInt:Number;
var t:MovieClip;[code].....
in the function, but now the trail doesn't resize and the mask still doesn't work.
For long time i try to smooth things in my code, but never get this work right :/ Example: I have one movie clip in myspace (this movieclip have a bitmap image inside)... WHY i can't use: mcHeader.smoothing = true; Why this not work? How can i do this right? I try to mark the option "cache as bitmap" in the movie clip and not work too... I need to use rotation in the mc without distortion in the image.
View 6 RepliesI'm currently working on a project that needs to request a url multiple times. Having studied the the HTTP Proxy (Charles) it seems that AIR will cache the first response and then return the same response for each subsequent request.Does anybody know how to know if the response has been cached other than setting the URLRequest to useCache, but this doesn't say if the response was a cached response or not. The digest isn't set on the URLRequest either, although it does mention this is for swz only, so how does it know if the content is the current content or not? Is the responseHeaders used to find out how long to hold the cache i.e.Cache-Control: max-age=900
Also does anyone know how to flush/purge the cache or are we at the whim of the GC and in that case how does it know if to leave it in the cache or now?This makes sense to me, but still I would like to know how to regulate this cache.Further more: I've tested a set up where parallel URLLoaders (10) are made and created which open the same url to see what happens in that instance. It seems that each parallel request is made until a successful response is given, all subsequent calls are then cached. Calls which are sent out before the successful request is then completed. It looks like the items which are already in being processed do not use the cache and return with correct data.Additional The AIR runtime doesn't even send a "If-Modified-Since" header, so the cache isn't even honoring HTTP protocol. So it seems as if Adobe has implemented it's own version of a cache which doesn't even use HTTP/1.1 Header Field Definitions.
I'm checking work in progress with external swf's and the output error log keeps looping an "error opening URL". I don't want to sound stupid but is this because I'm saving each file as an .fla and the ActionScript is in swf's??
View 5 RepliesHow exactly does the datatype checking of Vector work? The documentation states that an exception occurs at runtime if there was a wrong argument pushed to the Vector. However if I try this:
Code:
private var numberVector:Vector.<Number> = new Vector.<Number>();
...
numberVector.push(thumbnailInstance)
And then I trace it, I get NaN (cos it is a thumbnail ). However, no exception is being thrown.
I have a button object that I need to scale to align with the variable width of an array of images.However, when I set the width in code, the button does not actually become that width. Tracing out the width gives me the correct value, but on screen.. it's off.
I've proved it to myself by scaling the same button object manually in the properties pane and visually comparing. Both of the buttons below have a width of 410.
Code:
navigatorDown_btn.width = 410;
navigatorDown_btn.x = (stage.stageWidth/2)-(navigatorDown_btn.width/2);
trace(navigatorDown_btn.width); // output: 410
Do FMS cores share the same FLV cache or does each core have it's own cache?
View 1 RepliesI can't seem to get bitmap.draw() to work. I've used it before in exactly the same way but this time Flash decides to put out this error:
"ReferenceError: Error #1069: Property draw not found on flash.display.Bitmap and there is no default value."
With the following code, tile1-5 are movieclips in the library consisting of a few instanced movieclips inside them.
Code:
// Add the tiles from the library into arrays for each area.
private var a1Tile1Bmp = new Bitmap();
private var a1Tile2Bmp = new Bitmap();
private var a1Tile3Bmp = new Bitmap();
[Code]....
In my current project I need to create a bitmap from the last frame of a video. For this I use:
Code:
var _vidBitmapData = new BitmapData(video.width, video.height, false, 0x0000ff);
_vidBitmapData.draw(video);
var bmp:Bitmap=new Bitmap(_vidBitmapData)
This works like a fairy in wonderland if I create the video with dimensions matching the stream:
Like
Code:
video =new Video(1280,800)
However, when I change the Video's size on receiving the onMetaData Event according to the actual streams width and height properties, the capture i get from _vidBitmapData.draw is still in the dimensions of how I created the Video. So if I do
Code:
video =new Video(10,10)
and then
private function onMetaData(metadata:Object):void {
video.width=metadata.width;
video.height=metadata.height;
}
I get a nice display of the video.
However when doing the
Code:
var _vidBitmapData = new BitmapData(video.width, video.height, false, 0x0000ff);
_vidBitmapData.draw(video);
var bmp:Bitmap=new Bitmap(_vidBitmapData)
I get a 10 x10 px image....
I'm using a Bitmap cache that stores down a few Bitmaps. I called scaleX/scaleY on some of them, but the next time I retrieve from the cache, the Bitmap is screwed up. How does scaleX/scaleY work with Bitmap?
View 1 RepliesFor a class project I'm working on "Pissed Off Pigs" (I think you get the idea, the pigs get revenge, don't worry, I'm not going to release it!) and I want to create circles with a fill from a bitmap (circles because the collision math is easier). Here is how they look now.
Of course, the white is the problem. Below is my "pigs" class. I've tried gif's, pngs, 8-bit pngs, etc and it seems to make no difference. The image itself is 20px square and the radius of the circle is 10px (so a 20px diameter). Here is the image I'm using:
And I know I should probably load the image outside the class and just pass the BitmapData when I make a new pig so I don't have to load the image every time I create a new pig but for now it works! (Sorta).
Oh, and I have checked bmpImage.transparent and it returns true (even when I don't specify true in the constructor).
package {
import flash.display.;
import flash.net.;
import flash.events.;
[Code].....
This is a two fold query involving the same issue. As you know, if you attempt to use bitmap.draw() with an object (image or swf) that is not in the same domain as the calling swf the bitmap will not draw. As described by Adobe livedocs, if Security.allowDomain() is setup in the calling swf then draw() will work. However, I cannot get this method to work. I have supplied an example fla (make sure to get the .as for it too).
1. How do I get Security settings right to permit bitmap.draw() to work with objects from another domain? (not any domain - just the domain I define in the allowDomain parameter)
2. How do I setup an event handler (listener) for bitmap.draw() so I can detect when it doesn't draw?
[Code]...
I have a swf that is pretty complicated, you can interact with the page and go to different keyframes and it stops and/or starts depending on buttons, but I want to put it in a fla or something so I can put other swfs next to it and build it up and put several of them together as one.
I don't care about making it too complicated, I just want one interactive swf to go to the next compiled swf when that movie ends, but when I try importing it or loading it it just runs straight through without stopping or paying any attention to the scripting.
I am trying to more between frames using the data returned from a node n_EventID in an xml, when the node returns "1408" I want to move to frame 1 but if it returns anything else I want to move to frame 2. The part where the code moves to frame 2 seems to work perfectly but I can't seem to move to frame 1 when "1408" is returned.
xmlResultFinish = new XML();
xmlResultFinish.ignoreWhite = true
xmlResultFinish.onLoad = loadXmlResultFinish;
[code]....
I'm having a problem, where random IE's are not able to display my .swf file. All the IE's are IE8 with the latest flash pluggins and all security's are set at Medium, however some IE's get just a grey box and other's get the full flash file. What's going on? It works fine in Safari and Firefox of course, but why so much difficulty with AS3 Flash9 in IE? here is a link to the site, and it's the big image changer at the bottom of the front page.
[URL]
But my proublem is that I have a flash presentation.The defalt for moving the slide screens back and forth are left and right arrows.It works fine when tested or even the .swf fileBut then the left and right buttons don't respond when I go to fullscreen.
View 5 RepliesIs it common for AS3 apps to not work in IE? Is there a way to make them work? I have a movie clip in my library linked to a custom class Main and I have nothing on stage. Just one frame. Everything is built inside that movie clip. I add that movie clip to stage through a document class and everything works perfectly in Firefox and Chrome but when I open it in IE, it's just a blank page.
View 6 Repliesi followed the instructions oh how to make a centered pop up window here :i'm using a mac..nd it works in Safari... but when i try to use explore to open it, the pop up window doesn't come up...why is that.......? did i do something wrong?here is my website:and please click on 'message' to see for yourself.
View 5 Repliesi followed the instructions oh how to make a centered pop up window here : [URL]
i'm using a mac... and it works in Safari... but when i try to use explore to open it, the pop up window doesn't come up..
here is my website: [URL] and please click on 'message' to see for yourself.
this is what i have on the maintimeline:[code]I have 4 moveiclips called: redhex, bluehex, greenhex, and yellowhex.what the above code should do is make a 15x15 grid of hexes (yes i wanted all 4 hex mc's overlapping each other at each space on the grid.).Before i added the lines to dupllicate the blue, green, and yellow hexes also... the redhex movieclip duplicated exactly as it should.But after adding the lines to duplicate the blue, green, and yellow hexes also, in the same locations... Nothing at all showed up when i tested the movie (not even the redhex's)
View 4 RepliesIn the actions of a movie clip,I want to use something like:
PHP Code:
if(Key.isDown(W)){
//do stuff
}
But,it does not take anything else than LEFT,RIGHT and some others.I even tried ASCII:
PHP Code:
if(Key.isDown(100))
{}
It doesn't work.Then how do we use keys like W,A,S,D?