How to detect a touch on transparent area of an image in a (libgdx) stage?
        Posted  
        
            by 
                Usman
            
        on Game Development
        
        See other posts from Game Development
        
            or by Usman
        
        
        
        Published on 2012-11-18T09:46:35Z
        Indexed on 
            2012/11/18
            11:28 UTC
        
        
        Read the original article
        Hit count: 316
        
Can some one please help to detect a touch on an image which I am using as an actor in a stage. The image is actually a long diagnol brush which has plenty of transparent area. The problem is when I touche the transparent area of the brush image it is also triggering the clicklistener of the image. I need the click listener should only be called when the finger actually touched the visible image not the area which is empty.
I am using libgdx-0.9.4 libraries. Here is my simple piece of code.
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.ClickListener;
Image brushImg = new Image(ImageCache.getTexture("brush"));
brushImg.width = mStage.width()*0.75f;
brushImg.height = mStage.height()*0.75f;
brushImg.setClickListener(new ClickListener() {
@Override
public void click(Actor actor, float x, float y) {          
    SoundFactory.play("brush");   
}
        © Game Development or respective owner