EventHandler可用於捕獲各種鼠標事件(鼠標向上,鼠標向下,鼠標點擊,鼠標拖動)。使用MousePosition添加一些智能。
實施例:
DynamicModule[{col1 = Green, col2 = Blue}, Graphics[
{
EventHandler[
Dynamic[{col1, Disk[]},
ImageSize ->
Tiny], {"MouseClicked" :> (col1 =
col1 /. {Red -> Green, Green -> Red})}],
EventHandler[
Dynamic[{col2, Disk[{1, 1}]},
ImageSize ->
Tiny], {"MouseClicked" :> (col2 =
col2 /. {Blue -> Yellow, Yellow -> Blue})}]
}
]
]
圓圈可以獨立地點擊。分別爲每個對象定義一個動作。
令人驚訝的是,這甚至適用於3D圖形:
DynamicModule[{col1 = Green, col2 = Blue},
Graphics3D[
{
EventHandler[
Dynamic[{col1, Sphere[]},
ImageSize ->
Tiny], {"MouseClicked" :> (col1 =
col1 /. {Red -> Green, Green -> Red})}],
EventHandler[
Dynamic[{col2, Sphere[{1, 1, 1}]},
ImageSize ->
Tiny], {"MouseClicked" :> (col2 =
col2 /. {Blue -> Yellow, Yellow -> Blue})}]
}
]
]
驚人。謝謝。 – 2011-05-31 15:32:06
@ ndroock1感謝您接受我的回答。下一次您可能再等一會以獲得更多回應。 – 2011-05-31 15:49:47
Sjoerd,我已經爲此投了票,但我會再次投票更新。我從來沒有見過,可旋轉和所有。 :-) – 2011-05-31 22:51:28