ActionScript 3.0 :: Drawing Movie Clip To Bitmap Data - Image Looks Different Depending On Size?
Jul 13, 2010
I've written a class that iterates through all the frames of a movie clip and draws each one to a different bitmap. When I'm done, I should be able to iterate through the bitmaps and play them like a flipbook animation.If I draw all the clips to the same size bitmapdata, then everything looks great. But this is wasteful because now a lot of the bitmapdata's are bigger than they need to be (takes up more memory), and also causes problems because the hit tests don't look right.
So next I try to crop all the bitmapdata to be the smallest possible sizes. However, when I do this, there are subtle differences in the way the images look - the edges might look slightly darker in one frame than in another. When I line up all the images and play them back to back, it no longer looks the same way it originally did.I have no idea why the images look different, and have no idea how to work around this problem, I have tried many different approaches. I have tried using BitmapData.draw(), BitmapData:copyPixels(), and manually using BitmapData:SetPixel(), and all end up with the same result
i found an example online where bombs falling from the sky remove circles from a grass field, and a moving character can interact with the newly made circles(go into them). i dissected the code to the point where the only thing that happens now is that you click on the field and remove a circle:
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?
If I draw a rectangle or trapezium, how might I go about drawing bitmap data into that shape? I need to give a slight perspective to a loaded photo. Native 3D rotations seem to leave the bitmap really blurry, and a full 3D engine is too heavy for this project.
I started with a simple code to draw image. But i didn't get the expected results. What i got is:1) Image gets rendered but it gets scaled to high resolution and images gets distorted.So i wanted to draw image in its original size. If image size is 300*400 then i want to get it drawn in its original size.I google searched and try to find on how to achieve it. But no success.i want to know how to achieve this two things:1) drawing image in its original size, i don't want it to get scaled .2) how to set the size of display screen ? when i ran the code, the display screen(flash) cover whole browser page area ? I want to set the screen size to 450*300I am using Flash Builder 4 for making actionscript project. Here is the code :
I have created an animation which has frames with the head drawn in the various positions it needs to be in to look in all directions. Each frame is unique as it shows the head look up down sideways etc.What I need to do now is to make the movie clip play certain frames depending on the mouse position.I am having some trouble with the logic of how to do thisIs the best way to detect the mouse position then tell the movie clip to gotoandstop a certain frame depending on the mouse position?
I'm working on a game, and to keep performance good, instead of addChild'ing 50 new sprites to the stage every second, I decided to have each player draw to their own bitmap, and then to the 'master' bitmap. This introduces an issue though: the second player would override all data the first player has put into to bitmap...My basic debugging proof of concept:
I am making a snow boarding game in AS3. The problem I am having is that I want to leave a trail in the snow behind the board.
I have had a think and feel that the best way of achieving this would be to use the lineTo() method to draw a line form the snowboards previous position to its current position. If I do this all of the way down the slope I would end up with a line almost 23000 pixels long which seems extremely large and will have a major impact on performance.
If I were to convert the trail movieclip to a bitmap would it improve performance? I am targeting a minimum of flash player 9 which I have found to have issues when handling bmp's over 2880 pixels so I think this method might not work.
I need to be able to manipulate the bitmap data of an externally loaded image (an image from the internet), however there seem to be security protocols preventing access to this.Is there a way I can gain access to the bitmap data of an image loaded from an external source? What I'm after is being able to save the image to disk, or pass the image to the printer. (I can do both of these things, but I'm not being given proper access to an external image)I've done a few work arounds and the best I've been able to get is it working for a few images, but not all images. Even if the image loads properly and can be displayed in flash, I'm not guaranteed access to the bitmap data.
I imported a image file to my library and exported it for Actionscript. Which it created a new class that extends the bitmapdata class. Do I create an instance of that data and pass it to a sprite and add the sprite to the stage so I can display the image when I compile the file into a swf? Ive tried that and get an error saying that I need two arguments. I guess im just not sure what to do with the bitmapdata class.
I've tried hitTestPoint(x,y,true) but then I realized that it works fine only with vector graphics (for my .png image the resault was tha same as hitTestPoint(x,y,false) - so it was unacceptable). Then I tried hitTest function from a BitmapData class like this:[code]is it possible to get a graphic from a movie clip without drawing it (it is not necessary for me to check colission)?Then, having this bitmap (transparent png file) i tried to use hitTest function:[code]
I am drawing a set of connected lines in a MC that is created using createEmptyMovieClip. The lines start at (0,0) within the MC and move into the negative x values when the lines move left. The problem I am having is when repositioning the MC. When I tell the MC to move to _x=0 and _y=0, it doesn't move to the stage's (0,0), it still hangs off the left side of the stage. The following image shows the MC positioned to (0,0) (note: the green is the stage):shouldn't the MC containing the drawn lines use its left-most point when being repositioned so that it doesn't hang off the left side of the stage?
But, What I want is for part of the logo's image to be cut off, while still drawing without squishing. Basically, (from what I've read) I want to crop it's pixel bounds. But, the following doesn't work:
I have a movieclip that contains code for an API drawing shape. I can use it to mask a movieclip containing an image but not a moviclip that contains a dynamic gradient.
Code: // CREATE MASK SHAPE WITH DRAWING API // create empty movieclip
I want to dynically open this movie clip and move it to a specific location (x,y) on the main timeline on top of everything else.Then I want to draw lines on that new movie clip that display on top of the image on that movie clip.I have an idea on how to draw the lines, (well at least I think I do)
I load data from xml and want a list of thumbnails with text to be lined up. A handful of text-attributes to the xml-rows, including a src-attribute, which links to an image, goes through as wanted - text is shown, and images are shown. The image order, however, varies when I have more than two rows and is completely wrong. The text-attribute-order to each thumbnail remains perfect in all scenarios.The images bitmapData is taken etc., and the images are scaled to a proper thumbnail size. This might be where something goes wrong?
ActionScript Code: function xmlLoaded(e:Event):void {
I have a PNG imported into my library and exported for use in Action script. On the stage, I have a swatchFill movie clip.Currently I have code that will transform the fill to a solid color, however I'm getting into metallic swatches and the colorTransform function will no longer work.[code]
I'm using the following code to load a .jpg into a movie clip container the problem is I need the container to be a specific size I tried loader.content.width = 50; and loader.content.height = 50; the height part works but the width doesn't work my image just expands beyond the stage width.How do i set the size of the movie clip container?I don't care if the image gets distorted i have a resize script for the images before they are loaded into flash.[code]
I am having a problem loading a bitmap/graphic into the place of a movie clip using AS 2.0 on Flash CS3.You see, I am uploading an image into a library, for example, Bitmap1.jpg, and I upload another image to turn into a movie clip, for example, Bitmap2.jpg turns into Symbol 1.I place Symbol 1 onto the screen and I've been trying code after code and I'm not sure how to load Bitmap1.jpg in the place of Symbol 1 using the 'if statement'. I've tried the 'load' functions, but since I've just bought CS3 and I don't have Flash 8, a lot of the functions have changed.Here's an example of my code:
Cut to the chase, I'm trying to load "Bitmap1.jpg" or my library name (Bitmap) into the place of Symbol 1 (my MovieClip) when Junior is equal to Stranger, using AS 2.0 on Flash CS3. This code doesn't work on CS3.
I have a movie clip with a bunch of importaed bitmaps and simple vector drawings. Does anybody know if there is a way to grab this whole mc, make a bitmap copy of it and place this copy somewhere else on the stage?
i have a dynamic text field that loads a variable into it (just a simple text file). this text file will be updated on occasion. i also have a movie clip to be positioned below the text field, however i want the movie clip to change position depending on how much text is in the text field so there isnt a large gap and so they dont overlap. is this possible? i tried the following actionscript to adjust the size of the text field depending on the amount of text. textField2.autosize = "center"; however i have no idea how to get the y position of the movie clip to adjust accordingly.
Regarding System.capabilities.screenResolutionX in FMX, how would I achieve a movie clip on my stage to automatically alight to the left of the screen/browser depending on the viewers screen resolution?
By the way i want to make a visualization about a math process to show partial function graph.
I think i can make a scene which in 1000x1000 pixels. I'll start from top of scene and when i press a button i'll move camera to second section which i want to do sketch. I want to make a sketchpad which can draw in a 2 part movieclip. First part is -X section of XY Axis Graph. Second part is +X section of XY Axis Graph. I'll put image of XY Axis Graph to -X and +X section of XY Axis Graph. So it'll be seem like one part. And i'll draw to -X section. After that i'll skip to second sketchpad with camera. And i'll make same thing. But for now i'll draw to +X. And when i press conclusion button camera will skip to bottom of scene and move -X of figure1 and +X of figure2 to bottom. So i can see figure1's -X section and figure2's +X section as merged in bottom. So it'll show to me partial function graph.
But problem is sketchpad is drawing to _root. So i'm unable to move sketch or shapes on XY Axis Graph. But if i can draw that to movie clip i can move it like an object with drawing and merge it like i want.
So i want to make a sketchpad which make drawing in limits of movieclip.
how i can do it ? Also i'm using following code:
Code: import mx.controls.Loader; // 1. SETTING THINGS // ---------------- _root.createEmptyMovieClip("line",1);