RACKET pause/continue 游戏按钮
RACKET pause/continue button for game
我有一个学校项目要在 racket 中创建一个版本的俄罗斯方块,我必须
实现一个我一直坚持的 pause/continue 按钮。我的尝试:
(define *my-timer*
(new timer%
[notify-callback (lambda () (send *my-game-canvas* refresh))]))
(define *pause*
(new button%
[parent *my-window*]
[label "Pause"]
[callback (lambda ()
(send *my-timer* stop))]))
目前只实现了暂停功能,没有实现。我在第二个定义中收到一条错误消息。
*my-game-canvas * 是 canvas 游戏图形发生的地方。
感谢所有的回答。
/卡斯帕
编辑:
我得到的错误:
initialization for button%: contract violation
expected: (procedure-arity-includes/c 2)
given: #<procedure:...0160511/game.rkt:61:17>
这个子句有问题:
[callback (lambda ()
(send *my-timer* stop))]
回调需要两个参数:按钮和事件。
试试这个:
[callback (lambda (button event)
(send *my-timer* stop))]
我有一个学校项目要在 racket 中创建一个版本的俄罗斯方块,我必须 实现一个我一直坚持的 pause/continue 按钮。我的尝试:
(define *my-timer*
(new timer%
[notify-callback (lambda () (send *my-game-canvas* refresh))]))
(define *pause*
(new button%
[parent *my-window*]
[label "Pause"]
[callback (lambda ()
(send *my-timer* stop))]))
目前只实现了暂停功能,没有实现。我在第二个定义中收到一条错误消息。
*my-game-canvas * 是 canvas 游戏图形发生的地方。
感谢所有的回答。
/卡斯帕
编辑:
我得到的错误:
initialization for button%: contract violation
expected: (procedure-arity-includes/c 2)
given: #<procedure:...0160511/game.rkt:61:17>
这个子句有问题:
[callback (lambda ()
(send *my-timer* stop))]
回调需要两个参数:按钮和事件。
试试这个:
[callback (lambda (button event)
(send *my-timer* stop))]