Hello there

Here are 2 quick example using away3d_3_4_0 under flash 10

working
http://www.paysbigouden.com/away3d/cube-plane-visible-false.swf

not working
http://www.paysbigouden.com/away3d/cube-plane-visible-true.swf


so my problem is that the mouseEvent3D is triggered with my cube when
there is not a single element behind it
if I add a plane or something behind, the event is not functionnal


I tried
plane.mouseEnable = false;
plane.ownCanvas = true or false
I tryed changing the rendering ect.. still the same result

Any idea?


here is the code (very quick)

import away3d.cameras.*;
import away3d.cameras.lenses.*;
import away3d.containers.*;
import away3d.core.base.*;
import away3d.core.clip.*;
import away3d.core.draw.*;
import away3d.core.math.*;
import away3d.core.render.*;
import away3d.core.utils.*;
import away3d.events.*;
import away3d.loaders.*;
import away3d.loaders.data.*;
import away3d.materials.*;
import away3d.primitives.*;
import away3d.loaders.Object3DLoader;
import away3d.animators.PathAnimator;
import away3d.core.project.MovieClipSpriteProjector;
import away3d.animators.data.Path;


        var scene:Scene3D = new Scene3D();


        var zoom:Number = 25;
        var camera = new Camera3D();
        camera.zoom = Math.floor(zoom);
        camera.focus = 200;
        camera.rotationX = -90;
        camera.z = -stage.stageHeight / 2;
        camera.y = 5000
        camera.x = 0;
        camera.rotationX = -90;
        camera.rotationY = 40;
        camera.lens = new PerspectiveLens();


        var view = new View3D( { x:stage.stageWidth/2, y:stage.stageHeight/2,
scene:scene, camera:camera, clipping:null} );
        view.renderer = Renderer.CORRECT_Z_ORDER;

        addChild(view);

        view.render();





        var clTexture1:Class = getDefinitionByName("mcTexture1") as Class;
        var mcTexture1:MovieClip = new clTexture1() as MovieClip;
        clTexture1 = null;

        var bdBase = new BitmapData( mcTexture1.width,
mcTexture1.height,false, 0);
        bdBase.draw( mcTexture1,null,null,null,null,true );
        var m3dBase = new BitmapMaterial(bdBase,true);


        var p3dBase = new Plane({material:m3dBase, width:500, height:500,
segmentsW:1, segmentsH:20, yUp:true});
        //p3dBase.rotationX = -90;
        p3dBase.x = 0;
        p3dBase.z = 0;
        p3dBase.y = -1000;
        p3dBase.mouseEnabled = false;
        //p3dBase.ownCanvas = true;
        p3dBase.visible = false;

        scene.addChild(p3dBase);


        var c0_s1:Cube = new Cube( { width:100, height:100, depth:100,
segmentsW:1, segmentsH:1, flip:false } );
        c0_s1.cubeMaterials.bottom = new ColorMaterial(0xD40000,{alpha:1});
        c0_s1.cubeMaterials.left = new ColorMaterial(0xD40000,{alpha:1});
        c0_s1.cubeMaterials.right = new ColorMaterial(0xD40000,{alpha:1});
        c0_s1.cubeMaterials.back = new ColorMaterial(0xD40000,{alpha:1});
        c0_s1.cubeMaterials.front = new ColorMaterial(0xD40000,{alpha:1});
        c0_s1.cubeMaterials.top = new ColorMaterial(0xD40000,{alpha:1});

        c0_s1.y = 200;
        c0_s1.z = 0;
        c0_s1.rotationY = 45;
        //c0_s1.smooth = true;
        c0_s1.ownCanvas = false;
        c0_s1.useHandCursor = true;

        var contALL:ObjectContainer3D = new ObjectContainer3D();
        scene.addChild(contALL)
        contALL.addChild(c0_s1);


        c0_s1.addOnMouseOver(onCubesMouseOver);
        c0_s1.addOnMouseOut(onCubesMouseOut);
        view.render();


        function onCubesMouseOver(e:MouseEvent3D):void
        {
                trace("mouse over");
                retour.text += "mouse over\n";
        }

        function onCubesMouseOut(e:MouseEvent3D):void
        {
                trace("mouse out");
                retour.text += "mouse out\n";
        }



Reply via email to