自作のJava3DアプレットがMacで動かないことに気付いて調べた結果、現時点でMac OS X向けに公式にリリースされているJava3Dのバージョンが1.4.2と古いことが原因だと判明した。
APIリファレンスにあるから使っていた、javax.vecmath.Vector3dとかのgetX(),getY(),getZ()がバージョン1.5以降にしかないのだ。
こういうメソッドは最初に無いものをなぜ後から追加するのだろう?最初から無いならずっと無いままでいいと思うのだが。互換性を考慮するのが面倒で仕方ない。そんなにメンバアクセスはメソッド呼び出しでできないと気が済まない人がいるのだろうか。
ともかく、仕方ないのでgetX()とかを使わないように書き直した。
・3Dカッチンアプレット
ソースコード
・J3DTest2アプレット
ソースコード
コメント