Здравствуйте! Схожая, точнее идентичная проблема, но никак не получается сней разобраться.

Код AS3:
package {
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.ui.Mouse;
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.materials.MovieMaterial;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.render.BasicRenderEngine;
public class PV3DSphere extends Sprite {
private var viewport:Viewport3D;
private var scene:Scene3D;
private var camera:Camera3D;
private var Material:MovieMaterial;
private var sphere:Sphere;
private var render:BasicRenderEngine;
private var l:Loader;
private var czoom;
private var rotationYStart;
private var rotationXStart;
private var startPoint:Point;
private var sphere_radius;
private var poke:Poke;
public function PV3DSphere():void {
l=new Loader();
l.load(new URLRequest("pano.swf"));
l.contentLoaderInfo.addEventListener(Event.COMPLETE,init)
}
private function init(e:Event):void {
viewport=new Viewport3D(stage.stageWidth ,stage.stageHeight);
addChild(viewport);
scene = new Scene3D();
camera = new Camera3D();
render = new BasicRenderEngine();
poke=new Poke()
setdecor()
}
private function setdecor():void {
Material=new MovieMaterial(l)
Material.doubleSided=true
sphere_radius=stage.width/2
sphere=new Sphere(Material,sphere_radius,30,30);
sphere.x=sphere.y=sphere.z=0
scene.addChild(sphere);
camera.x=camera.y=camera.z=0
czoom=0;
rotationYStart=0
rotationXStart=0
camera.rotationX=camera.rotationY=0
renderer()
this.addEventListener(MouseEvent.MOUSE_WHEEL, mzoom);
this.addEventListener(MouseEvent.CLICK, clickHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addEventListener(MouseEvent.MOUSE_OUT, mouseUpHandler);
this.addEventListener(Event.MOUSE_LEAVE, mouseUpHandler);
}
private function clickHandler(event:MouseEvent):void {
dispatchEvent(new Event("doSomething"));
}
private function mouseDownHandler(event:MouseEvent):void {
startPoint = new Point(stage.mouseX,stage.mouseY);
rotationYStart = camera.rotationY;
rotationXStart = camera.rotationX;
this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMovie);
renderer()
}
private function mouseUpHandler(event:MouseEvent):void {
this.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMovie);
}
private function mouseMovie(event:MouseEvent):void {
camera.rotationY = rotationYStart +(180/Math.PI*Math.acos(1-startPoint.x/sphere_radius)-180/Math.PI*Math.acos(1-stage.mouseX/sphere_radius))/(camera.zoom/40)
camera.rotationX = rotationXStart +(180/Math.PI*Math.acos(1-startPoint.y/sphere_radius)-180/Math.PI*Math.acos(1-stage.mouseY/sphere_radius))/(camera.zoom/40)
if(camera.rotationX > 60){camera.rotationX= 60 }
if(camera.rotationX <-60){camera.rotationX=-60 }
renderer()
}
private function mzoom(event:MouseEvent):void {
camera.zoom+=event.delta*2
if(camera.zoom>100){camera.zoom=100}
if(camera.zoom<40){camera.zoom=40}
renderer()
}
private function renderer():void {
render.renderScene(scene, camera, viewport);
}
}
}
Здесь я добавляю прослушку на клик -

Код AS3:
this.addEventListener(MouseEvent.CLICK, clickHandler);
А здесь создаю свой вещатель (если не ошибаюсь)

Код AS3:
private function clickHandler(event:MouseEvent):void {
dispatchEvent(new Event("doSomething"));
}
В качестве MovieMaterial использую SWF "pano.swf" с следующим кодом:

Код AS3:
package
{
import flash.display.MovieClip;
import flash.ui.Mouse;
import flash.events.MouseEvent;
import flash.events.Event;
public class Pano extends MovieClip
{
var mouseptr:MovieClip = new door();
public function Pano() {
addChild(mouseptr);
mouseptr.x=200
mouseptr.y=200
mouseptr.addEventListener(MouseEvent.CLICK, clickHandler);
mouseptr.addEventListener("doSomething", MouseClickBut);
}
public function clickHandler(e:MouseEvent) {
mouseptr.visible=false;
}
private function MouseClickBut(event:Event):void{
mouseptr.visible=false;
}
}
}
Клик не срабатывает, подскажите почему?
spher.rar