DrRacket按键错误/错误

问题描述:

我正在为我的Comp-160类做一个项目,我的按键功能正在做一些奇怪的事情。DrRacket按键错误/错误

(define (KEY-PRESS W key) 
(cond 
[(key=? key "left") (make-MOVEB 
        (- 15 (MOVEB-x W)) 
        (MOVEB-y W))] 

[(key=? key "right") (make-MOVEB 
         (+ 15 (MOVEB-x W)) 
         (MOVEB-y W))])) 

对于上下文我MOVEB是适用于移动左一斗,沿着我的场景的地面正确的位置的结构。当我运行这个功能时,我们可以毫无问题地向右移动,但是每当我离开时,我的水桶就会消失或者一直移动回到起始点。

有没有人知道为什么会发生这种情况?

我意识到,这可能是太晚啦,但是当你说

(- 15 (MOVEB-x W)) 

这就像15 - (MOVEB-x W);所以如果(MOVEB-x W)是100,那么这给你-85,这可能不是你想要的。你可能想要(- (MOVEB-x W) 15)