2005年02月20日

Shockwave Multiuser Serverで困った [Multiuser]
ログイン時のユーザ名に日本語を使うと、まれにログインできない名前があって
何でかなーと思っていたけどやっとわかった。
@や#は制御文字なので元々使っちゃいけないんですが、
Shift-JISで2バイト目に@を含む文字があるのでした。
「Аァ宗后叩拭法邸如院察掘機鼻諭...など」
これらを含むユーザ名ではログインできない。

回避策としてはURLencodeしちゃえばいい。
デコードはFlashのunescape()を使って。

2005年02月16日

Shockwave 3D メモ [Shockwave3D]
フレームレートをあげるために試行錯誤中です。

透過マップや反射マップは、低スペックマシンではけっこう負荷がかかる。
見落としがちなのがカメラの画角。
画角を大きくすると当然視界に入るオブジェクトが増えるのでフレームレートに影響します。
あとはやっぱり、modelsUnderRayとその対象となるポリゴン数だなぁ。

2005年02月14日

MD5 hash作成メモ [雑記]
Lingoで...
Mediamacros Inc. - MD5 algorithm
Mediamacros Inc. - MD5
上のほうが高速

ActionScriptで...
MD5 in ActionScript

Javascriptで(たぶんDirectorMX2004でも使える)...
JavaScript MD5

2005年02月10日

Flash Lite メモ [Flash Lite]
Flash LiteでMath関数使えたらなーとずっと思っていたんだけど、普通に使えた。
Flash Lite ではMath 関数がサポートされていません。Flash Lite の場合、Math オブジェクトのメソッドとプロパティは、近似を使用してエミュレートされます。したがって、Flash Player 5 以降でサポートされている、非エミュレート数学関数ほどには正確でないことがあります。
Math.acos()、Math.asin()、Math.atan()、Math.atan2()、Math.cos()、Math.pow()、Math.tan() の各Math 関数では変数を使用できず、定数のみを使用できます
だそうです。マニュアルで「sin」を検索して出てこないからMath関数自体無いものと思っていたら、Math.sin()が記述ミスで抜けてるだけでした。

マニュアルの書き方だと分かりにくいけど、要は
「本来のMath関数ではなく、エミュレートなので精度は低いけど、使えますよ」ということみたい。

ただ「Math.acos()....定数のみ使用できます」の意味が良くわからない。
パラメータとして変数を渡しても普通に返ってくるんだけどそういうことじゃなくて?

あと上述以外メソッドも使えるようです。Math.foorやMath.maxなど。

2005年02月02日

Flash Lite メモ [Flash Lite]
Flash Liteよ、早く2.0になってくれ。

■add
ストリングを連結

■call("LabelName")
指定のフレームラベルにあるフレームスクリプトを実行。function代わりに使えるが、戻り値はないのでグローバルな変数に入れておいて参照。

■eval("String")
変数名を文字列で指定すると、その変数の値が返ってくる。式の左辺では使えない。
eval("String" add i)として配列の代わりに使える。

■eqとne
文字列用の比較演算子。文字列比較の時は、==や!=は使わない。

■tellTarget("MC"){}
特定のムービークリップに指示を出す。
パスの指定は、/がルート。../が自分の一つ上の階層。