2011年11月25日金曜日

scriptのすすめ8 ~UIの基本~ maxscript tips

It's been a while again (^^;)
This time I will explain how to make UI.

First I will show you the simpliest example.


----------------------------------------------
rollout myUI "simpleUI"
(
)
createdialog myUI  240 80

----------------------------------------------

"rollout" and "createdialog" is a minimum of set to create UI.
"myUI" is this window's name you can use any words and "simpleUI" is a label which you want show on the Bar.

"createdialog" makes a dialog which is defined by "rollout" and you can specify size of the dialog.
As above example width is 240 and height is 120.

Next let's make a button on this UI when you press it something will happen.


----------------------------------------------
rollout myUI "simpleUI"
(
 button myBtn "Do!!" width:200 height:50
)
createdialog myUI  240 80

----------------------------------------------


"button" needs two parameters which are name of the button and text on the button.
"width" and "height" is not always necessary because it has default value.

That completed making UI however if you press the button nothing happen.
So let's meke some processings when you press "myBtn".

--------------------------------------------------------------------------------------------
rollout myUI "simpleUI"
(
    button myBtn "Do!!" width:200 height:50
    on myBtn pressed do
    (
        b = box()
        for i = 1 to 10 do
        (
            for j =1 to 10 do
            (
                for k=1 to 10 do
                (
                    ib = instance b
                    ib.pos = [i,j,k]*25
                )
            )   
           
        )
        delete b
    )
)
createdialog myUI  240 80



--------------------------------------------------------------------------------------------
I added "on myBtn pressed do......".
Below "on myBtn pressed do" is the processing when you press the button.
I used for loop 3 times, I think this is little bit complicated but it's buildup of  previous my post.

This is the result.


That's all this time.
I will revise this next time.
See you then, thak you!
----------------------------------------------------------------------------
またまた時間が空いてしまいました。
今回は、UIの作り方を説明できたらと思います。

まずは一番シンプルなUIのサンプルを。

----------------------------------------------
rollout myUI "simpleUI"
(
)
createdialog myUI  240 80

----------------------------------------------

"rolleout"と"createdialog" はUIを作るうえで最低限のセットで、myUIはこのウィンドウ(ロールアウト)の名前です。どんな名前でも付けれます。
"simpleUI"の部分はこのUIに表示する名札のようなものです。

 "createdialog" は"rolleout"で定義したダイアログを作るメソッドで、サイズも指定できます。
上の例では、幅240高さ80です。

次にここに押したら何かが起きるボタンを作ってみましょう。



----------------------------------------------
rollout myUI "simpleUI"
(
 button myBtn "Do!!" width:200 height:50
)
createdialog myUI  240 80

----------------------------------------------

 "button"は2つのパラメータが必要で、このボタンの名前と表示するテキストです。
widthとheigthは必ずしも必要では無いです。無ければ、デフォルト値が設定されます。

これで、UIは完成しましたが、ボタンを押しても何もおきません。
では、ボタンをおしたら何かの処理が行われるようにしましょう。
--------------------------------------------------------------------------------------------
rollout myUI "simpleUI"
(
    button myBtn "Do!!" width:200 height:50
    on myBtn pressed do
    (
        b = box()
        for i = 1 to 10 do
        (
            for j =1 to 10 do
            (
                for k=1 to 10 do
                (
                    ib = instance b
                    ib.pos = [i,j,k]*25
                )
            )   
           
        )
        delete b
    )
)
createdialog myUI  240 80

--------------------------------------------------------------------------------------------
 "on myBtn pressed do......".以下を足しました。
on myBtn pressed do から下の部分が、myBtnを押した時に行われる処理です。
処理の中身はforループを3回使用して少しトリッキーですが、前回の発展系です。

結果は以下のとおり。


今回は以上で。
次はこれの発展と他の機能を紹介でしたらと思います。
ではでは。

0 件のコメント :