I don’t discover as many bugs nowadays as I’ve used to in the old days when I was beta testing for Macromedia. But it happened today, and I’ve just installed the newest Flash Player 10.0.22.87 to be sure.
It happens to DisplayObjects A inside DisplayObjectContainers B inside DisplayObjectContainer C, when
- A was not initially visible (not inside initial scroll rect of C)
- A is in 3D mode (I just change rotationY for that)
- B is in «cached as Bitmap» (cacheAsBitmap would do, I go with DropShadowFilter in the example)
- C’s scrollrect property is set, so A is shows up (well, it doesn’t – that’s the bug after all ;)
Here the example:
bug-3d-shadow.swf
And here the code:
/* Flash Bug - Flash Player 10.0.22.87 disappearance when 3d's parent has shadow more info: betabong@gmail.com */ this.stage.scaleMode = StageScaleMode.NO_SCALE; this.stage.align = StageAlign.TOP_LEFT; var scroller:Sprite = new Sprite(); addChild( scroller ); scroller = this; var filter:DropShadowFilter = new DropShadowFilter( 2 , 90 , 0 , 0.5 , 8 , 8 , 1 , 2 ); var r:Sprite,rect:Sprite; for ( var mode:int = 0 ; mode<=1 ; mode++ ) { for ( var i:int=0 ; i<3000 ; i+=100 ) { r = new Sprite(); r.addChild( rect = new Sprite() ); rect.graphics.beginFill( 0xff0000 ); rect.graphics.drawRect( -40 , -40 , 80 , 80 ); rect.graphics.endFill(); rect.addEventListener( MouseEvent.MOUSE_MOVE , rotate ); if ( !mode ) r.cacheAsBitmap = true; //r.filters = [ filter ]; r.y = i + 100; r.x = mode * 150 + 100; addChild( r ); } } stage.addEventListener( Event.ENTER_FRAME , move ); var scroll:Number = 0; function move( event:Event ) : void { scroll += ( stage.mouseY - 100 ) / 50; scroller.scrollRect = new Rectangle( 0 , scroll , 500 , 200 ); } function rotate(e:*) { e.target.rotationY++; }
Update: Now that: it took me about 20 min to file a bug in the Adobe Bug System (which is slow as hell anyway). And when I want to submit it, I get a message saying they’d be in maintenance. Well, buggy bug systems piss me off quite a bit.
No Comments, Comment or Ping
Reply to “Bug Hunting: Shadowed 3D and ScrollRect”