Hi,
I just spent the good portion of the day trying to get a MovieClipSprite to be interactive.
This seems to be a big problem that lots of people are having. And I was unable to find a good sollution in other posts.
So I thought I would share what I now have working.
The hotspot material has its own mouse listener in it and dispatches the event HOTSPOT_DOWN when it is pressed.
Give the material a name and save the hotspot and its container in an array with the same name so that when you recive the event you can access the Object3DContainer and the HotSpot.
This seems like a dirty workaround for a function that the MovieClipSprite should have on its own.
private function initHotSpots():void {
var tempMaterial:HotSpotMaterial = new HotSpotMaterial();
tempMaterial.name = "hotSpot1";
tempMaterial.addEventListener(HotSpotMaterial.HOTSPOT_DOWN, onHotSpotDown);
var tempHotSpot:MovieClipSprite = new MovieClipSprite(tempMaterial, "center", 1, true);
tempHotSpot.z = Number(configFactory.radius);
hotSpots["hotSpot1"] = [tempHotSpotContainer, tempHotSpot];
scene.addSprite(tempHotSpot);
}
private function onHotSpotDown($e:Event):void {
hotSpotContainerDrag = hotSpots[$e.target.name][0];
hotSpot = hotSpots[$e.target.name][1];
//put your code here
}