Starlingにもボタンクラスがあるのだが、機能的にはFeathersの方が充実しているので実際にはこちらがお勧め。
最低限以下のコードで動く。
var btn:Button = new Button(); btn.addEventListener(Event.TRIGGERED, onTapHandler); btn.defaultSkin = new Image(assets.getTexture(BTN_IMG_NAME)); btn.defaultIcon = new Image(assets.getTexture(BTN_ICON_NAME)); addChild(btn);
function onTapHandler(e:Event):void{ trace("tap!"); }
アイコンの代わりにテキストを指定することも可能。
でもこれだと押したとき、マウスが乗ったときが分からないので、たとえば
btn.useHandCursor = true;//マウスオーバーでハンドカーソル btn.scaleWhenDown = 1.1;//押したときに1.1倍に btn.scaleWhenHovering = 1.03;//マウスオーバーで1.03倍に
などと指定する。
他にもマウスオーバー、使用不可のボタンの画像自体を変えたい場合は、
hoverIcon hoverSkin disabledSkin disabledIcon downSkin downIcon
などのプロパティに画像を指定すると良い。アイコンの細かな位置調整は
iconOffsetX iconOffsetY
というパラメーターでポイント単位で微調整可能。
モバイルだと画像を多く用意するとメモリを圧迫するので、downSkinを使うよりスケールで対応するのが便利。Imageのcolorプロパティを使ったり半透明画像を重ねたりする方法もある。
Page Info | |
---|---|
Page Name : | Starling+Feathersでボタン |
Page aliases : | None |
Page owner : | njf |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | All visitors |
Users : | All visitors |
Counter: 1029,
today: 1,
yesterday: 2
Princeps date: 2015-05-24 (Sun) 07:20:25
Last-modified: 2015-05-31 (Sun) 16:24:01 (JST) (2057d) by njf