ActionScript 3.0 :: Detecting If Point On Image Is Opaque Or Transparent Part?
Dec 20, 2010
I am trying to detect if a point on an image is on the opaque part of the image or the transparent part. I have a image in a 48X48 area. half the image has transparent pixels. I seem to detect a hit on every part of the image like a bounding box test but I don't want that. For example . I place a 48X48 size image on stage at 0,0. At point 40,20 on the stage the image has transparent pixels but I get it detects a hit?
mm.img.hitTestPoint(40,20,true); //it should give me false
im trying to draw opaque pixels on a transparent bitmapdata background
heres the ex:
ActionScript Code: //TRANSPARENT BACKGROUND var _pixelColor:uint = 0x9998002E; var _bmpd:BitmapData = new BitmapData(4, 7, true, 0x00333333);
[Code].....
This example paints 2 arrows, the first is using the transparent background, and the second is using an opaque background on the BitmapData.
What I'm trying to achieve is to paint the pixels of the arrow completely opaque on the transparent background. But as you can see, the pixel is at 99% of its opacity (var _pixelColor:uint = 0x9998002E) How can I paint 100% opaque pixels on a transparent BitmapData "canvas"?
I have found that events Events.ACTIVATE and Events.DEACTIVATE do not fire in the browser when wmode = transparent or when wmode = opaque. This is found when the swf is published with or without fullscreen mode capability.However, the events do fire:In the standalone player, such as opening the publised swf locally ( not using a browser ) In the browser when wmode = window
My Goal:Is to detect Events.ACTIVATE and Events.DEACTIVATE with a swf that has been published with fullscreen capability, where the wmode = opaque. ( I have found that when in fullscreen and wmode = window, mouse interactivity events, such as clicks, do not fire. Mouse interactivity is something I need, which I get with wmode = transparent or opaque. )
FYI:I have found that when wmode = window, the DEACTIVATE event fires both when entering and leaving fullscreen mode. The event ACTIVATE does not fire when entering fullscreen mode or when returning to the browser from fullscreen ( user presses Escape, etc ). In the event the user switched to a different window, the DEACTIVATE event fires. When the user returns to the browser, the ACTIVATE fires in IE but does not fire in Firefox until the user clicks in the swf
Setup: Flash CS4 Using the Flash published HTML ( wmode = transparent / opaque ) Firefox 3.6.6 ( Windows XP Pro ) IE 8.0.60 ( Windows XP Pro )
I have two png files. I import them using loaders. The images in the png files each have opaque (solid) and transparent parts. I want to use the bitmapdata.hittest method to detect when their opaque parts have collided.
[Code]...
I've been working on this for a couple of days now and nobody seems to know how to do this. Please don't post the examples on google, I've looked through at least the first five pages of results on google and haven't gotten any of them to work. The problem is that none of them provide an example of using this method with loaders, so I'm guessing the reason I can't get it to work is some gimmick associated with them.
I'm programming the engine of a Point and Click Adventure in AS3 atm. and now i have following problem. I want to load a png as foreground which is partially transparent. Behind this Image are my Game Elements which should react to the onClick event. But this won't work. the transparent parts of the image are, well, transparent, but when you click on the element the onclick event is only triggered on the foreground even if you click on the transparent parts. The Game Elements behind this transparent parts don't trigger the event. (When i remove the foreground the event is properly triggered on the game elements)
So is there a way to click "through" the transparent parts of the image?
I have a customized drag event that works great for most things:
[Code]...
The issue is that when I use this code with wmode=transparent or wmode=opaque the MOUSE_LEAVE event is not detected when the MOUSE_UP event occurs off the stage. Is there a way to detect the MOUSE_LEAVE event when wmode is transparent or opaque? OR Is there a way to detect that the wmode is set to transparent or opaque so that a work-around may be implemented?
The background of the png images is transparent but is not actually transparent if I load the png with transparent background and add into a sprite. The transparent part also can receive the mouse event so I wanna know how can I remove these pixels?
Is there any way of checking what percentage of the BitmapData is filled, and what percentage is transparent?You could easily brute-force it by looping through each pixel and counting which ones are empty
I want to create a SimpleButton that has some PNG/GIF graphics as the down/up states. Part of the pixels are transparent and I don't want them to be clickable, is that doable?
i am loading a background bitmap into a sprite. after that i make this sprite draggable. now i would like to have a copy of this sprite where just the area with the non-transparent parts of the bitmap react to the click.
i know that i can determine if a pixel is transparent with the getPixel32() method, but it seems to be overkill to anylyze every pixel... or is it not?
What I have is a bitmap as render cache for a sprite, and there're many of them present on the stage. I expected that they would react like sprites with mouse-click event, but they didn't. They're like rectangles all around, matter what the original sprite look like, And I tried put bitmap cache into sprite container and use sprite's hitArea property like [code]...
Hi I am trying to create an image scroller that just scrolls images from point a to point b on load horizontally in an infinite loop. I just used a code snippet to move it horizontally but don't how to get it to stop and at point b and loop again from a.
I would like to make a very simple (well, looks simple anyway) image gallery, like Ilyas da Pom's at [URL]..
I want the image part to scale to fit each image dynamically. I'm a brand-spanking new Flash novice, and any guidance would help really; this is just a tiny little personal project, not to be used anywhere commercially.
Is there a way to make the transparent area from an png image not to register when I add with a mouse event to that image? What is happening is the rectangle around the symbol is effected by the mouse event.
I would like to find out, how can i make that only a selection is made a button, for example I have a picture (.PNG format) with a transparent background, and the image in the PNG is what i want to be a button, but when i convert the PNG to a button then even the transparent part becomes a button. how can I have only the pic as a button.
I have the attached image of a bioreactor. I want to animate the area marked with the red outline (and a cross) to be filled with a bluish transparent liquid. I am trying to create an animation for students to show how the residue in the bioreactor behaves and I have to show the animation in a real picture (cant draw).
I have imported an image into Flash, turned it into a symbol, inserted a frame, then a tween, and can animate the image with tint. It works fine, but the tint is applied to the entire image. What I was hoping to do, is have a sort of 'rolling tint', where the tint starts on the left side of the image, and gradually works it's way over to the right.
okay i have a problem...i wanna load an image dynamically.....like through XML Is it possible to only load a part of the image....or like only assign the top part of the bitmap to one MC and the bottom to another MC when i load it Eg. 200x200 image pixels 0 to 100 heightwise and 0 to 200 widthwise in one MC1 pixels 100 to 200 heightwise and 0 to 200 widthwise in one MC2
Do any one have idea of copying only a small portion of a image, further it could be made as mc. Or any other method to do this in as3? Not manually breaking the image and convert as mc.
I have an image which its source depends on a bindable property of another object.I'd like to know when this source changes, for example, by capturing the bind event or another related event of the Image control.
I'm working on an image pre-loader where i get the images i want from their respective url's, and once finished, proceeding to the next page. I have gotten it to load the images as i want/need, through lines of code similar to this:
Code: var loader:MovieClipLoader = new MovieClipLoader(); this.createEmptyMovieClip("imgcont",1); loader.loadClip("*url to img goes here*",imgcont);
All i'm looking to find is how many of my images have loaded completely. At first, i thought that getBytesLoaded() and getBytesTotal() would have been able to help me, but it seems that the images brought in through loadClip has no weight on how much has been loaded.
Is there any way of determining how much of those images has been loaded?
I'm using Flash CS4, and a template that I got from a friend to create a website.The template I have uses this "man figure" on the right side of the file. I want to make it so that this pictures loads a different picture each time the page refreshes. The picture can be randomly rotated to a different picture.I'm wondering if there is a possibility to do this, and if so, how should I go about it.My knowledge of Flash is very poor..Here is the template and swf file of the original file I have uploaded to a downlaodable website. The link is only available for 7 days from today
When I try to scroll it using my custom buttons, it will only show up to a certain point (my guess is around 4000 or so), and then the canvas goes black (the background color set for the stage).My guess is that there is a limitation on the size of the objects (in this case an image) that we can use on flash, but I can't believe that there is no workaround other than breaking the image into a bunch of smaller images and loading them as one scrolls.I'm even repositioning the MC that holds the image before it is loaded, so that the image is centered, so that I'm not forcing one side of the workarea to handle most of the image, but only near half of it. After trying this, the image is not showing at all.
I created flex application that loads a image. I compiled this app and ran in the computer where it was created. it works. when i try in a different system, the image does not load. I think it's chekcing for the image path.how to include image as part of the application