forked from: なんで潰れちゃうの??

by takishiki forked from なんで潰れちゃうの?? (diff: 14)
スプライトが潰れちゃう~!!
スプライトをwidthとheightをいじって拡大したいのに
角度を変えると潰れてしまいます。
角度0だと正常動作しますが、90や270に設定すると…orz
これはいったいどういうこと!?助けてー!
♥0 | Line 38 | Modified 2010-08-03 12:48:56 | MIT License
play

ActionScript3 source code

/**
 * Copyright takishiki ( http://wonderfl.net/user/takishiki )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/1ZrU
 */

// forked from mrgrotesque's なんで潰れちゃうの??
package
{
    import flash.text.TextField;
    /**
     * スプライトが潰れちゃう~!!
     *  スプライトをwidthとheightをいじって拡大したいのに
     *  角度を変えると潰れてしまいます。
     *  角度0だと正常動作しますが、90や270に設定すると…orz
     *  これはいったいどういうこと!?助けてー!
     */
    import flash.events.Event;
    import flash.display.Sprite;
    
    public class FlashTest extends Sprite
    {
        private var sprite:Sprite;
        private var size:Number = 64;
        
        private var _tf:TextField;
        
        public function FlashTest()
        {
            // 矢印を作る
            sprite = new Sprite();
            sprite.graphics.beginFill(0x999900);
            sprite.graphics.moveTo(0,-50);
            sprite.graphics.lineTo(50,0);
            sprite.graphics.lineTo(0, 50);
            sprite.graphics.lineTo(0, 30);
            sprite.graphics.lineTo(-50, 30);
            sprite.graphics.lineTo(-50, -30);
            sprite.graphics.lineTo(0, -30);
            addChild( sprite );
            sprite.x = 200;
            sprite.y = 200;
            
            // 0だと正常動作、90だとつぶれる
            sprite.rotation = 90;
            
            // 
            _tf = new TextField();
            _tf.text = "WIDTH × HEIGHT";
            this.addChild(_tf);
            
            addEventListener( Event.ENTER_FRAME, enterFrame );
        }

        private function enterFrame( e:Event ):void
        {
            //size++;
            sprite.rotation++;
            sprite.height = size;
            //sprite.width = size;
            //sprite.height = size;
            _tf.text = String(sprite.width) + " × " + String(sprite.height);
        }
    }
}