おいしいAS3 -36ページ目

PaperVision3Dでルービックキューブを作ってみた…かった




個々のキューブに親のマトリックスを乗算してから
親のマトリックスをリセットすれば
元通りになるハズ・・なんだけどならない

3Dでは単純にいかないのだろうか・・・


仕方ないから親マトリックスで
座標を変換して移動させてる

だけど問題は回転の方

XYZのそれぞれの軸が
あっち向いたりこっち向いたりするから
親がY軸で回転したからって
ローカルでY軸で回転したことに
なってるとは限らない

どの軸がどっちをむいてるのか
調べてから回転させないといけない

面倒い、宿題にしときます

半分くらいUI付け完了

おいしいAS3

あと10ほどあるのですが
正直その時だけのためにつくったような
微妙なのが結構ありまして
残すべきかどうか・・というカンジです

JSFLにUIをつけるときの基本の話

ダイアログのSWFのコードから
JSFLを実行する時のOKボタンのコードです
(コピペしてもなにも動かないですよ)


with(addChild(new Button())as Button){
x=170
y=550
width=100
label="OK"
addEventListener(MouseEvent.CLICK,OK)
function OK(e:MouseEvent):void{
var path='fl.scriptURI.replace(".jsfl","/'+com+'.jsfl")'
MMExecute("fl.runScript("+path+',"'+func+'","'+param+'")')
MMExecute("fl.xmlui.accept()")
}
function get param(){
var rtn:Array=new Array()
for each(var ui in prmUI){
if(ui is Slider)rtn.push(ui.value)
if(ui is NumericStepper)rtn.push(ui.value)
if(ui is RadioButtonGroup)rtn.push(ui.selectedData)
}
return rtn.join('","')
}
}



JSFLのファイルを呼び出して関数実行させてるのはここ


MMExecute("fl.runScript("+path+',"'+func+'","'+param+'")')
MMExecute("fl.xmlui.accept()")


正確には、このSWFを配置するXULを呼び出したJSLFに
指定のJSFLのファイルを呼び出して関数を実行させるコードを
Stringで渡して実行させている、といった所です

そして、このMMExecuteでfl.runScriptのコードを渡すときに
ややこしいところはMMExecuteの引数がまずStringであり
かつfl.funScriptの引数も、それぞれ全てStringだという事です
(Numberもだめです、あくまでString)

つまり

MMExecute('fl.runScript("ファイル","関数","引数1","引数2")')

という感じでダブルクオートとシングルクオートが入れ子に
なってるようなカンジにしないといけないわけです

ワケがわからなくなります

3回位消し忘れとか入れ忘れとかしました