- 2007/08/03 12:08
- uncategorized
今日もmaxscriptのお勉強。
あーーー、なんつーか。なんつーか。
MELより強い。
でも難しい。
MELのいいところってやっぱり敷居が低いところだと思います。
他のソフトのスクリプトを触ってみて思いました。
ただしプログラミングに慣れてきて、
他の言語を知ってしまったりするとヤキモキしてしまうのも事実。
maxscriptはたぶん逆で、最初にとっつきにく過ぎて、
スクリプトに触ろうと思う人が極端に少なくなっちゃうんじゃないかなーと思ったんですが、
それでも世の中に出てるmaxscriptの数をみるとかなり多いのも事実で、
やっぱり慣れの問題なのかも。
今後はXSIみたいに自分の好きな言語で書けるようになってくるのかなぁ。
つーかXSIのスクリプト構造はそもそもどうなってんだろうかね。
APIを外部からたたける形にしてるんだったらどんな言語でもイケるってもんでもないのかね。
単純にCのライブラリだったりとかすんのか?
全くわからん。
確かXSIのマニュアルに書いてあった気もするので、今度見てみる。
まぁ今後はpythonで一本化してくれればそれでいいんですが。。
現状あれだけの機能があれば何も文句はないですし。
さてと、前置きが長くなりましたが一応調べたことを少し。
maxscriptにもクラスはあるが、新規作成は出来ない。
なのでユーザーは構造体を使ってOOPっぽい事をするしかないっぽい。
UIの記述も可能。フローティングウィンドウにするか、右側のやつ(なんていうんだあれ?)に
表示させるかを選べる。
rolloutっていう単語が良く出てくるので調べてみたら、わさわさ出てきた。
明示的に参照渡しが出来るっぽい。&とか使える。
これは値を複数返して欲しいときにすごく便利だよなー。
maxというコマンドがあり、これを使用するとGUIのメニューバーから操作したのと
そっくりそのまま同じ動作をさせることが出来る。
たとえば、
max file open
とか。
これは結構サクサク開発するためには便利かも。
とか言って実際使ってみたら使いどころがわからない、なんてこともありえる。。
グローバル変数はglobalで宣言。
global a = “a”
ローカル変数はlocalで宣言。
local b = 100
これらをつけないことも可能だけど、やはりスコープを明示的にする為に
つけておいたほうが良い、とのこと。
型が多い。めっちゃくちゃ多い。
MELだとint, float, string, vector, matrixってなもんだけど、
10倍以上ある気がする。
たぶんMELで言う型とはちょっとノリが違う気がする。
リファレンスには値と書いてある。
ちなみに値には、基本的なデータ値、時間データ値、特殊データ値、
ビットマップ値、ストリーム値、MAXKey値、ArrayParameter値などがある。
これってつまりインスタンスってこと?
コメントは–だけじゃなくて/* */も使えるらしい。
永続グローバル変数なるものがあるらしい。
これらは特定の型でのみ宣言可能で、なんと値がファイルに保存されるらしい!!
これ結構便利かも。使い方失敗すると面倒なバグの原因にもなりえるけどねー。
あと、コレクションだとかマッピングだとか、よく分からないものが多い。
これらは一体何のために使うのか。リファレンスでは結構頻繁に見かける。
max内にexcelの表とかを表示できるみたい。
maxscriptからActiveXたたけるっぽい。
この辺はwindows専用アプリとしての強みを生かしてる感じがする。
構造体のメンバーなどへのアクセスは、基本的にはドットシンタックス。
MEL以上に、いろんな書き方が出来るっぽい。
文字列リテラルがメモリを食うからこうやったら早いよ、みたいなサンプルが載ってたりするんだけど、
そんなもんスクリプト程度で考えさせんなww
ガベージコレクションも手動でやれる。
そんなもんスクリry
個人的に参照渡しがうれしいのは、
複数の値を返せることで構造がシンプルに出来る、ってことに尽きるんだけど、
うーん、、メモリが云々とか言われると正直メンドクセ。よくわかんねーし。
まぁいずれ勉強せねばならん領域ではあるんだけど、、
try,catch,throwもできる。
コンパイルできる。多分速度的な問題というよりも、
中身を見せたくないとか、内容変更されたくないような時に使うんだと思う。
配布されてるものってコンパイルされてることが多いような。
その辺も敷居の高さをあげてたりするのかも?
まだまだいろんなところを見逃してるとは思うんですが、
これ以上はとりあえず作ってみないことにはどうにもならんので、まずは簡単なものでも作ってみます。
maxscriptはアプリケーション然としたものが書ける言語だと思います。
あんまり面倒な方法を取らないようにやってみようと思います。
ヒーーーツカレタ
- Newer: わからん。
- Older: [ 調べ物 ] backburner再び
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://blog.taikomatsu.com/2007/08/03/%e7%b6%9a%e3%83%bbmaxscript%e5%8b%89%e5%bc%b7%e4%b8%ad/trackback/
- Listed below are links to weblogs that reference
- 続・maxscript勉強中… from memlog