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

[Java3Djp:00547] Re: MouseZoomとMouseTranslate



======== 免疫滋養 植物性醗酵食品 オリーゼ ==========

 朗報!! 糖尿・肝臓・腎臓・高血圧・便秘でお悩みの方!!
    初めてご応募の方全員にオリーゼ1箱(60包、3000円)を無料進呈

     創業昭和19年 オリーゼ本舗 http://www.matsuronet.ne.jp/ori-ze/
=====================================

>この前Java3DのデモのなかにあるSimpleCylinderを動かしていて,MouseZoom
>が効かないと思っていたのですが,
>com.sun.j3d.utils.behaviors.mouse.MouseTranslate
>と
>com.sun.j3d.utils.behaviors.mouse.MouseZoom
>のドキュメントの記述が逆なのだと自分で結論を出してしまいました.

確かにcom.sun.j3d.utils.behaviors.mouse.MouseTranslateのドキュメントでは

>MouseTranslate is a Java3D behavior object that lets users control
> the translation (X, Y) of an object via a mouse drag motion
> with the third mouse button (alt-click on PC). See MouseRotate for similar usage info. 

と書いてありますが、ソースコードでは

	    if ((id == MouseEvent.MOUSE_DRAGGED) &&
		!((MouseEvent)event[i]).isAltDown() && 
		((MouseEvent)event[i]).isMetaDown()){

となっています。

com.sun.j3d.utils.behaviors.mouse.MouseZoomのドキュメントは

>MouseZoom is a Java3D behavior object that lets users control
> the Z axis translation of an object via a mouse drag motion
> with the second mouse button. See MouseRotate for similar usage info. 

となっていますが、ソースコードでは

	    if ((id == MouseEvent.MOUSE_DRAGGED) &&
		((MouseEvent)event[i]).isAltDown() && 
		!((MouseEvent)event[i]).isMetaDown()){

となっています。

Windows の2ボタンマウスしかないので、3ボタンマウスでどうなるのか
良くわからないのと、

3ボタンマウスのマウスボタンの判定を isAltDown() や isMetaDown() で
やるのが一般的なのかどうかは良くわからないのですが、

>でも,ドキュメントが正しくて実装がおかしいということもありですよね.
>どちらなのか,ちょっと気になっています.
>環境はWindows98です.

私はソースコードが正しくてドキュメントが間違っているような気がします。

Windowsの3ボタンマウスや、Solarisの3ボタンマウスではどうなのでしょうか..
-- 
えんどう やすゆき <yasuyuki@xxxxxxxxxx>
http://www.javaopen.org/jfriends/ (Java互助会ホームページ)