I am developing a Paint Application is AS3. What I am trying is to basically mimick the MS Paint. I am using vector graphics to implement tools like pencil,line,curve and bitmap to implement bucket tool,spray and eraser. But I faced a problem. While its possible to draw bitmap over vector its not possible to draw vector over bitmap if every drawing is in the same layer.
So the idea that I have is to make it into two layers
Top layer where the vector drawing is done.
In the bottom layer layer after each vector drawing on MOUSE_UP a bitmap copy of the top layer is made and kept on the bottom layer. Keep the top layer fully transparent so that bottom layer is always visible.
Things like flood-fill(bucket tool), spray and eraser will be directly applied to bottom layer.
After each vector is drawn on MOUSE_UP the top layer will be cleared but everything will be visible because it has been re created in the bottom layer and the top layer is full transparent.
My questions are: Is there any flaw in my logic. How to make a bitmap copy of the movie clip on top. I tried but maybe I am stupid it does not work. The name of the MovieClips are topLayer_mc and bottomLayer_mc. What is need to have is to have a function to create a bitmap copy of topLayer_mc on every MOUSE_UP of pencil,line and add it to bottomLayer_mc. I mean create a bitmap copy of topLayer_mc on every MOUSE_UP of pencil, line and add it to bottomLayer_mc. A function will do.
I want to load an external image (dest) and display it on the stage, and i want to load another image (src) which will not be visible. When i hold the left mouse button on the image that appears on the stage, then a function that start copies the src image to the dest will be invoked. Actually i want to reproduce the scratch effect on an image that hides another underneath. here is my code [ the copypixels function is triggered on mouse_move event for debug purposes ]
Although the two images are loaded into memory and the first one is shown on the stage, when the mouse_move events triggers the corresponding handlers the copy does not work.
I need to find a way to copy a masked bitmap. I have a bitmap on stage, and a user drawn sprite that acts as a mask. I need to capture/copy the masked area bitmap, maintaining the transparency created by the masking to eventually encode as a png.
I could find no documentation on how to accomplish this using copyPixels(), or any other directions.
I am trying to paste a bitmap (any bitmap) onto the stage. I just get the box outline on the stage. I have imported several basic bitmaps into the library. I tried dragging and copying and pasting but I always just get the outline. I don't know if it means it can't be pasted or there is a setting to display it. If I copy the same bitmap and paste into word for instance I do see the image.
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 am having problem to recall the copied bitmap data to show on another private function which is difference from the private function which copy the bitmap process. I am new in AS3 so have no idea how do I make the copied bitmap data into a global variable..
Heres my snippet of code:- private function export():void { var bmd:BitmapData = new BitmapData(216.2, 468.29); var a_matrix : Matrix = new Matrix() ; a_matrix.translate(-242,-130); bmd.draw(stage,a_matrix); [Code] .....
This is the problem I am facing, I need to separate the copying process and showing process because I want my flash to show the copied image later on...
now MovieClip_1 contains one child _child_1. now by pressing button i want to add that _child_1 of MovieClip_1 to MovieClip_2 without removing from MovieClip_1.
i tried following code in button press event but it removes _child_1 from its past container.
var mc:MovieClip = MovieClip(MovieClip_1.getChildAt(0)); MovieClip_2.addChild(mc);
I have a solitaire game. There's a bug that only shows up in Windows, not Mac. When a player moves a card from one pile to another, a copy of the card image shows up in the left corner and stays there until the player moves another card. When the player moves the mouse over the image the image erases. Here is the game: [URL]
There's a bug that only shows up in Windows, not Mac. When a player moves a card from one pile to another, a copy of the card image shows up in the left corner and stays there until the player moves another card. When the player moves the mouse over the image the image erases.
There's a bug that only shows up in Windows, not Mac. When a player moves a card from one pile to another, a copy of the card image shows up in the left corner and stays there until the player moves another card. When the player moves the mouse over the image the image erases.
in my project i am making one line graph using createEmptyMovieclip() function, and i want to add facility of making multiple copy of that graph to user and for that copy facility i am using duplicateMovieclip() function but when i execute that only parent object(Graph_mc) is copied and the child object(Line_mc) which is created with help of 'createEmptyMovieclip()' function inside the graph , does not copy.If i create same object (Line_mc) on '_root' it will copied.
my code is .....
//for create graph onClipEvent(load){ ang = 0 spd = 2
I'm making a copy of a Sprite via the BitmapData Draw method. It kind of works other than the top portion of the bitmap gets cut off (replaced with transparent pixels). It looks like it's about the same height as the Sprite's y value.
A web channel streaming service streams to a certain IP range, it only checks the IP in example.com/cmd.php?id=xxx (channel number) and outputs an rtmpe stream URL, nothing else.How do I trick it to get my local URL instead of the one on their server? I have considered squid proxy, but is there some way to do it with a firefox plugin or greasemonkey script?
Edit:I will try to specify:It's a streaming service from an ISP and cable provider. They stream for free to people on their IP's. On their webtv page, which is called webtv.example.com, there is a flash player. If you are not on an IP from their ISP, you can't stream anything but the test channel.When you try to change channel via. javescript:videoplayer_changechannel(xxx) it makes this HTTP request:
[URL]
If you are on one of their IP's you will get an RTMP URL, like this:
[URL]
This is what the flash player requests, and if it get's this response it load the channel requested. There is no HTML on the php page, just the URL. Note that the rtmp URL is static.If you are not on one of their IP's it will return a random sentence (something stupid, the programmers having fun).I wan't to trick the flash player into getting the right value, even though it's not on one of the ISP's IP's.
i know i should probably be more specific here, but what my problem is that i want to make something were when mouse is button is pressed a pixzel is created. now i assume you use bitmap data setPixel function. but i don't know how to set it up so you can zoom in as well.me. i'm trying to set it up this way because i want to be able to save it as an image.because i tried it once before but after i had done all this i windedup not being able to save the image properly. it turned out having anti-aliasing around all the pixels.
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....
For my project I need to copy the graphics of a Movieclip with all of its children without copying anything else into a second Movieclip. I cannot use the Bitmap classes because I need the graphics to be displayed as a vector and I cannot use a method that simply copies the clip by calling the instructor ie:
var copy:MovieClip = clip.constructor. Is there any way to copy only the display portions of a clip into another Movieclip without turning it into a bitmap?
But now the tracks are objects in an array, that will grow larger and larger (and slow down the game over time). How can I paint them on the level bitmap? And how to reload the bitmap when you restart?Have searched for an answer for days but have not found one.I know how to combine a bitmap and add it to the stage, but not how to replace it in the movie clip object:
var newLevel:BitmapData = new BitmapData(grassLevel.width, grassLevel.height); var newDebree:BitmapData = new BitmapData(debree.width, debree.height); newLevel.draw(grassLevel);
This is my first question here :D, first sorry about my english. My question is basically how can i save a flash Movie Clip to FLV. The Movie Clip is generated by users and it has various sounds and animations and i need to save an FLV to send it to Youtbue. What have I tried: I found some question here about using an Alchemy Lib that I am using to grab the Movie Clip frame to frame and save it to Bitmap. The Alchemy Lib converts those frames to FLV like a charm and supports saving chunks of sound using ByteArray.
In this situation my Problem is, how can i grab the sound of Movie Clip to send it to Alchemy Lib? Iīve tried using:SoundMixer.computeSpectrum(sndData, false, 2); Witch returns me a byteArray in sndData variable but is useless since itīs used for render Audio Wave forms on screen. Thougth aboud using Sound.extract(); but i believe the sound class is used only for one MP3 sound and I need to grab the mixed sounds generated by Movie Clip.
when I have one movieclip mc1, mc2 is child movieclip in mc1. How can i copy mc1 to mc1_1 with all children movieclip ? if i use attachMovie or duplicateMovieClip, i only copy mc1 without mc2.
I've got a code, which caches loaded resources (both images and swfs) and saves its bytes to flash SharedObject:
var cache:SharedObject = SharedObject.getLocal('dataCache'); cache.data[url] = (loader.contentLoaderInfo as LoaderInfo).bytes;
When there's a query to load new resource, the code checks if the resource is in cache and then loads its bytes:
var loader:FlexLoader = new FlexLoader(); // handlers skipped var lc:LoaderContext = new LoaderContext(); lc.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
I have a MovieClip inside a stage that is mostly(not accurately) centered to the middle of the stage.
When I try to save the MovieClip into a bitmap in order to upload it to facebook, I either get a cropped image or a white image(blank). Here is the code for generating the bitmap:
var source:BitmapData = new BitmapData(board.width, board.height); source.draw(board); var bitmap:Bitmap = new Bitmap(source);
The result I am getting is the yellow area in the following image:
So I'm Bitmaping some heavy stuff to try bring down the [pre-render] and [render] which is quite high according to FlashBuilder's profiling. I thought this was going well until I realised that as soon as you change a MovieClip to a Bitmap, you lose the pixel based accuracy of the mouse move events (Over, Out, Move...), all your left with is the entire bounding box of the Bitmap, something which is less than desirable. I've got a game where many Bitmapped assets would be on top of each other in a scene, on the stage, arranged in various ways and need to have that pixel accuracy moving between each one and have exhausted my efforts as to how to achieve the same mouse move results with the Bitmapped guys as normal.
This, [URL], is a FLA which shows this operation, and you can see how it works here, [URL]. When it loads up, both items on stage are drawn Shapes, encapsulated in MovieClips, both that get a glow, if you hover over them. If you click the stage at all, the purple guy gets turned into a Bitmap and now, his 'hit area', when it comes to MouseEvents is his whole bounding box and you can only get through to the back green item at the edge slivers.
I'm also tracing the pixel which the mouse is over, so I can clearly tell when the mouse is over a transparent area, it's 0, but how can I tell the event to forward itself on down the chain to the green MovieClip?
Below is how it's now pretty much working for me,
var bitmap:Bitmap = this['bitmap']; var shouldMouseOver:Boolean = bitmap.bitmapData.getPixel(event.localX - bitmap.x, event.localY - bitmap.y); if(shouldMouseOver)
[Code].....
I shut off mouseEnabled for my item, when I know it's wrong, then I search for another item that properly fits the bill and if there is one, send an Event to that and break. If that one's also wrong, it'll do the same again, but each time taking themselves out of the loop.
This does work exactly how I want it to, but I'd always prefer to keep things like globalToLocal and looping, and reading from arrays for not frequently updated methods like listeners to MOUSE_MOVE. Is there a more efficient way to do this?
I have a 50x50 fixed rectangle in the center of the stage. I am using this rectangle as a "hit area" to copy pixels of a bitmap that is draged by the user to line up an area of the image he/she would like to crop.I have preview of the hit area displayed while the bm is being dragged which works well. However, once the bitmap is scaled using the slider component the preview area no longer reflects what is in the hit area.
Code below:
function mouseDownHandler(e:MouseEvent):void { // Contraint #8 - Define drag bounds[code].....
I am doing a looping background with 2 identical BG movieClip (B1 and B2). Those 2 are "new" by the same class.
var B1:MovieClip = new BG(); var B2:MovieClip = new BG();
But because this BG class picture is loader from the internet and the picture is rather big. When I addressed its loading by using progressEvent. The picture is really loaded 2 times. Is there anyway I create B2 based on B1 without using new BG() again? Since it definitely makes a new BG with Loader code inside.