Manipulate[EventHandler[
Row[{TableForm[Map[NumberForm[#, {6, 2}] &, {{x, y}, dir}, {2}],
TableHeadings -> {{"{x,y}", "dir"}, {"X", "Y"}}]
, Graphics[{Thick, Green, PointSize[.02], Point[{x, y}],
Line[{{x, y}, {x, y} + dir}]}
, ImageSize -> {200, 200}, PlotRange -> {{0, 10}, {0, 10}},
Background -> Gray]}]
, {"LeftArrowKeyDown" :> (dir = RotationTransform[.1][dir])
, "RightArrowKeyDown" :> (dir = RotationTransform[-.1][dir])
, "UpArrowKeyDown" :> (If[0 < x + dir[[1]] < 10, x += dir[[1]]];
If[0 < y + dir[[2]] < 10, y += dir[[2]]])
, "DownArrowKeyDown" :> (If[0 < x - dir[[1]] < 10, x -= dir[[1]]];
If[0 < y - dir[[2]] < 10, y -= dir[[2]]])}]
, {{x, 3.2}, ControlType -> None}, {{y, 4.8},
ControlType -> None}, {{dir, {0, 1}}, ControlType -> None}
]
在右边图形区动几下方向键,有时右边图形区就会失去焦点,焦点跑到左边的表区了,导致要想右边的图形区继续能响应方向键,就得鼠标点一下右边的图形区,动作很不连续!如何才能让右边的图形区不失去焦点呢?期待回答,谢谢。