[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00578] Re^2: KeyEventからのAnimation2



★★ 新聞記事自動出力サービスの1週間無料体験募集中(原則法人向)★★
 当日朝刊28紙から貴方の指定したテーマの記事が朝一番でFAXされます
 メールで担当の辻宛お申し込み下さい(d07686@xxxxxxxxxx)
 必須記入項目1.会社名2.会社住所3.部署名4.電話番号5.FAX番号
           6.希望する記事の内容(できるだけ具体的に)
 (株)電通 エレクトロニック・ライブラリー事業局(03-5551-7047) 辻
===================== http://www.elnet.co.jp ======================



> 
> >物体を複数生成して、一つ一つにKeyを割り当てて動かしたんですが、
> >一つの物体は最後まで見えるんですが、他の物体は一度動かすと見えなくな
って
> >しまいます。
> >
> >以下はソースですが、キーボードのAをPressしたら、Cubeを下に回転さ
せ
> >て、Release
> >したら上に上げて、同様にキーボードのSでもう一つのCubeを同じ動き
をさ
> >せようと
> >しています。
> >
> >何がぬけてるんでしょう?
> 
> 物体を一つにして、消えてしまう方の物体だけにしても同じですか?
> 
> まだ詳しく見ていないので原因は分かりませんが、
> もしかしたらクリップアウトされているだけかもしれません。
> 
> ・SimpleUniverseで表示できる範囲
>  http://www.trilogy.co.jp/~tomoyuki/java3djp_ml/archive/0261.html
> 
> これの解決方法を以前今野さんが投稿されていましたが、
> まだアーカイブが公開されていないようです。(よろしくお願いします>根津
さん)
> 
> たしか
> simpleUniverse.getViewer().getView().setBackClipDistance(double)
> を使ったような気がします。
> 
> ざっと見た感じですが、
> コードがけっこう複雑になっているので、
> シーケンスをもっと整理した方が良いのではないかと思いました。
> 
> たとえばキーイベントの処理の中でフラグのセットだけでなく
> startInterpolator_do() や startInterpolator_re() を呼んでいる
> ようですが、フラグを使うならキーイベントはフラグのオン/オフだけを
> やった方が良いような気がします。
> 
> それから、複雑な処理の場合は KeyListener を使うより Behavior を書く方
が
> 良いかもしれません。
> -- 
> えんどう やすゆき <yasuyuki@xxxxxxxxxx>
> http://www.javaopen.org/jfriends/ (Java互助会ホームページ)
> 

現象としては、始めにcreateSceneGraph()を呼び出した時に、
TransformGroup	tg_do,tg_re
が描画されて、KeyEventを発生させると、
tg_reが消えてしまいます。だからSimpleUniverseの領域には入っていると思い
ます。

y	      (0,0,-9)	(1,0,-9)
↑		tg_do	tg_re
→x		↑↓	↑↓

		
ということをやりたいんですが、tg_reを↓にするKeyEvent(キーボードの
SをPress)を発生させると、
tg_reがtg_doの下に一瞬現れて、消える。
またSをPressすると、tg_doの下に現れて消えるといった感じです。

RotationInterpolatorのAxisOfLotaionの設定をまちがえてるのでしょうか?

> たとえばキーイベントの処理の中でフラグのセットだけでなく
> startInterpolator_do() や startInterpolator_re() を呼んでいる
> ようですが、フラグを使うならキーイベントはフラグのオン/オフだけを
> やった方が良いような気がします。

他の方法があんまり思い付かないんですが
StartInterpolator_do()
を
While(true)
でloopしてフラグのON/OFFで切り替えるっていう方法ですか?
試してみます。

Behaviorの使い方は良く分からないんで ^^;)

Jun Sakurai