我在一台AMD64机器上使用SBCL for Linux。
函数ANIMTEST使用画布小部件实例化LTK窗口。两个项目,障碍和追随者,生活在画布上。两者都在不断旋转,栅栏在画布的中心,追随者打算跟随鼠标,这不是预期的工作。我的第一次尝试(参见注释)导致鼠标的绝对屏幕坐标被解释为画布中的相对坐标,而没有考虑两者之间的偏移量。在搜索了ltk.lisp和文档之后,我找到了SCREEN-鼠标-X/Y(第二次尝试,参见注释)。我感觉我是在根据文档使用SCREEN- like X& -Y,但是为什么它不工作?=注意=包含ANIMTEST的文件和支持它的包加载和运行都没有错误。我定义的函数(UCT
类的目的是允许用户单击图像(即轴)并将其拖过图形。当检测到鼠标单击时,该函数检测鼠标位置在其中的哪个轴,并启动'windowbuttonmotionfcn‘,它调用一个函数'movit’。函数“movit”的目的是在鼠标按下按钮时拖动选定的轴。
function Mclicked(this, src, event)
% get location of mouse click on the gui
set(gca,'units','pix') ;
mousePositionData = g