0

我正在为我的 Comp-160 课程做一个项目,而我的按键功能正在做一些奇怪的事情。

(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))]))

就上下文而言,myMOVEB是一个结构,它为一个桶在我的场景的地面左右移动的位置提供一个位置。当我运行这个函数时,它让我向右移动没有问题,但每当我向左移动时,我的桶就会消失或一直移动回到起点。

有谁知道为什么会这样?

4

1 回答 1

1

我意识到这可能为时已晚,但当你说

(- 15 (MOVEB-x W))

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

于 2012-12-17T18:55:22.007 回答