- 2009年11月 8日 03:24
- ActionScript 3.0 | Flash
今日、といっても日付的には昨日ですが
KAYAC の 自由が丘オフィス (ART-Meterの店舗でもある)で
自習室なる、ただ集まって黙々と作業するという
なんとも不思議なイベント?に久々に参加しまして
そこで、ちょっとしたものを作ったので晒します。
KAYAC の 自由が丘オフィス (ART-Meterの店舗でもある)で
自習室なる、ただ集まって黙々と作業するという
なんとも不思議なイベント?に久々に参加しまして
そこで、ちょっとしたものを作ったので晒します。
んで、早速作ったのがこれ
◆ 超簡易パラメタ変更ツール
なんか某所で似たようなものを最近見たことあるぞ?
という方も居るかもしれませんが
気のせいです!!!!!!
まあ、スライダーとかUI系のパーツ作ってたんですが
それが一番生かせるのがこれだろうっつー事で作りました。
で、出来ることを簡単に列挙
- スライダの追加
- 区切り線の追加
- ドラッグ
- 矩形右下のつまみでサイズ変更 ( 地味に便利 )
- ダブルクリックで”超”最小化 ( 地味に小さすぎ )
- 左上にはみ出た状態で最小化しても平気 ( 地味に優しい )
- TextInputに数値を直接指定 ( 地味に大事 )
- TextInputにFocus時、Tabキーで次のTextInputへ ( 地味に嬉しい )
みたいな感じです。使い方は簡単(たぶん)。
例えば sp という Sprite を作って x とか y の値をいじりたい時。
(前述のサンプルもこのコードで動いています)
// sp という Sprite を生成.
var sp:Sprite = new Sprite();
sp.graphics.beginFill( 0x000000, 1 );
sp.graphics.drawRect( -50, -50, 100, 100 );
sp.x = 100;
sp.y = 150;
addChild( sp );
// スライダの入れ物を生成.
var box:ParameterSliderBox = new ParameterSliderBox();
// x, y を変更する スライダ を追加.
box.addSlider( sp, "x", 0, 200, 10 );
box.addSlider( sp, "y", 100, 200, 10 );
// 区切り線の追加.
box.split();
// scale を変更する スライダ を追加.
box.addSlider( sp, "scaleX", 0, 2, 0.1 );
box.addSlider( sp, "scaleY", 0, 2, 0.1 );
// 区切り線の追加.
box.split();
// rotation を変更する スライダ を追加.
box.addSlider( sp, "rotation", 0, 360, 1 );
box.x = 190;
box.y = ( stage.stageHeight - box.height ) / 2;
addChild( box );
こんな感じです。どうでしょう。
ちなみに、addSlider の引数は左から
対象Object, 対象プロパティ名, 最小値, 最大値, インターバル
になっとります。
インターバルは 10 とかすると、数値が10 単位で変更できます。
で、ソースやサンプルはこちら。
短時間で作ったのでバグがあるかもしれません。
如何でしょうか。
今後の展望としては、敢えて引数に関数を渡せないようにした分
簡単だけど、自由度は下がってるので、その辺はうまいこと
出来るようにしたいと思ってます。
まあ正直、今回最も力入れたのは、このパラメタ変更ツールより
スライダーなので、どっちかっつーとそっち単体の方が使い勝手いいかも。
とりあえず、眠いので細かい説明はまたの機会に・・・