我正在为我的Comp-160课做一个项目,而我的on-key功能正在做一些奇怪的事情。
(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
是一个结构,它保存一个桶的位置,使其沿着场景的地平面左右移动。当我运行这个功能时,让我向前移动没有任何问题,但每当我离开时,我的水桶消失或一直移动到起点。
有谁知道为什么会这样?
答案 0 :(得分:1)
我意识到这可能为时已晚,但是当你说
时(- 15 (MOVEB-x W))
那就像15 - (MOVEB-x W)
;所以如果(MOVEB-x W)
是100,那么这会给你-85,这可能不是你想要的。您可能想要(- (MOVEB-x W) 15)
。