Hello!

I have a problem with a clipping in my project. With away3d it's well,
but not in away3dlite.
There are screenshots: http://savepic.ru/1563734.jpg (away3d) and
http://savepic.ru/1555542.jpg (away3dlite). Please, explain me where
is my mistace?

There is Away3D:

<?xml version="1.0" encoding="utf-8"?>
<mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml"; width="100%"
height="100%">
        <mx:Script>
                <![CDATA[
                        import away3d.containers.Scene3D;
                        import away3d.containers.View3D;
                        import away3d.core.clip.RectangleClipping;
                        import away3d.core.render.*;
                        import away3d.materials.ColorMaterial;


                        public var view:View3D;
                        public var scene:Scene3D;

                        override protected function createChildren():void
                        {
                                super.createChildren();
                                scene = new Scene3D();
                                view = new View3D();
                                view.scene = scene;
                                view.renderer = new BasicRenderer();
                                view.clipping = new 
RectangleClipping({minX:-unscaledWidth/2,minY:-
unscaledHeight/2,maxX:unscaledWidth/2,maxY:unscaledHeight/2});
                                view.clipping.objectCulling = true;
                                addChild(view);
                                view.addEventListener(Event.ADDED_TO_STAGE, 
update); // Make sure
the first frame is rendered
                        }

                        override protected function 
updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
                        {
                                super.updateDisplayList(unscaledWidth, 
unscaledHeight);
                                update();
                        }
                        private function update(e:* = null):void
                        {
                                if(view.stage)
                                {
                                        view.clipping.minX = -unscaledWidth/2;
                                        view.clipping.minY = -unscaledHeight/2;
                                        view.clipping.maxX = unscaledWidth/2;
                                        view.clipping.maxY = unscaledHeight/2;
                                        view.x = unscaledWidth/2;
                                        view.y = unscaledHeight/2;
                                        view.render();
                                }
                        }
                ]]>
        </mx:Script>
</mx:UIComponent>

There is Away3dLite:

<?xml version="1.0" encoding="utf-8"?>
<mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml"; width="100%"
height="100%">
        <mx:Script>
                <![CDATA[
                        import away3dlite.containers.Scene3D;
                        import away3dlite.containers.View3D;
                        import away3dlite.core.clip.RectangleClipping;
                        import away3dlite.core.render.*;
                        import away3dlite.materials.ColorMaterial;
                        import away3dlite.templates.BasicTemplate;


                        public var view:View3D;
                        public var scene:Scene3D;

                        override protected function createChildren():void
                        {
                                super.createChildren();
                                scene = new Scene3D();
                                view = new View3D();
                                view.scene = scene;
                                view.renderer = new BasicRenderer();
                                view.clipping = new RectangleClipping();
                                addChild(view);
                                view.addEventListener(Event.ADDED_TO_STAGE, 
update); // Make sure
the first frame is rendered
                        }

                        override protected function 
updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
                        {
                                super.updateDisplayList(unscaledWidth, 
unscaledHeight);
                                update();
                        }
                        private function update(e:* = null):void
                        {
                                if(view.stage)
                                {
                                        view.clipping.minX = -unscaledWidth/2;
                                        view.clipping.minY = -unscaledHeight/2;
                                        view.clipping.maxX = unscaledWidth/2;
                                        view.clipping.maxY = unscaledHeight/2;
                                        view.x = unscaledWidth/2;
                                        view.y = unscaledHeight/2;

                                        view.setSize(unscaledWidth, 
unscaledHeight);

                                        view.render();
                                }
                        }
                ]]>
        </mx:Script>
</mx:UIComponent>

Thank you!

Reply via email to