改め Objective Technician

はぐれ技術者のやりたい放題

AS3:fl.controls.Slider の バグ

2010-01-27 00:34:03 | プログラミング
ActionScript3.0 で Component.swc を使ってスライダー (fl.controls.Slider) を生成すると,スライドトラックとスライダサムの領域が半分ずれて配置される


環境依存のバグなのか何なのかは分からないけど,使うごとに毎回直すのは面倒なので,継承して内部で勝手に修正するようにした.

背景色で半分塗りつぶして反対側にもう半分描くだけ.


package  
{
	import fl.controls.Slider;
	import flash.display.Sprite;
	
	public class MySlider extends Slider
	{
		
		public function MySlider() 
		{
			super();
		}
		
		internal function mySetSize(w:Number, h:Number = 0):void {

			setSize(w, h);
			
			var w2:Number = w / 2;			
			
			var occluder:Sprite = new Sprite();
			occluder.graphics.beginFill(0x0);
			occluder.graphics.drawRect( -w2, 0, w2 - 3, 4);
			occluder.graphics.endFill();
			occluder.graphics.beginFill(0xffffff, 0.6);
			occluder.graphics.drawRect( w2, 0, w2 + 3, 4);
			occluder.graphics.endFill();
			
			addChild(occluder);
		}
		
	}
	
}


最新の画像もっと見る

コメントを投稿