2012-04-29 9 views
0

私のComp-160クラス用のプロジェクトを行っています。私のオンキー機能は何か奇妙なことをしています。コンテキストの場合DrRacket On-Key Error/Bug

(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は私のシーンのグランドレベルに沿って左右に移動するためバケットの位置を保持する構造体です。私がこの機能を実行すると、私は問題なく右に動かされます。しかし、私が残っているときはいつでも、私のバケツが消えたり、出発点までずっと動いています。

これはどうして起こっているのでしょうか?

答えて

1

は、私は、これはあまりにも遅事項おそらくあることを認識していますが、15 - (MOVEB-x W)ようなものだ

(- 15 (MOVEB-x W)) 

を言うとき。したがって(MOVEB-x W)が100の場合、これは-85を与えます。これはおそらくあなたが望むものではありません。おそらく(- (MOVEB-x W) 15)が欲しかったでしょう。

関連する問題