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); } } }