1
我正在編寫一個plt-scheme中的井字遊戲作爲我的AI課程項目。 gui的想法是一個帶有9個框的網格,每個框都有一個畫布,使用窗格... 當用戶點擊畫布時,會相應繪製'X'或'O'...plt-scheme:在畫布上捕捉鼠標點擊事件
問題是我如何在畫布上捕捉鼠標點擊事件? 我發現我需要使用on-event,但仍不知道如何? 任何線索?
我正在編寫一個plt-scheme中的井字遊戲作爲我的AI課程項目。 gui的想法是一個帶有9個框的網格,每個框都有一個畫布,使用窗格... 當用戶點擊畫布時,會相應繪製'X'或'O'...plt-scheme:在畫布上捕捉鼠標點擊事件
問題是我如何在畫布上捕捉鼠標點擊事件? 我發現我需要使用on-event,但仍不知道如何? 任何線索?
好吧,我知道了......
(define canvas-box%
(class canvas%
(define/override (on-event e)
(when (equal? (send e get-event-type) 'left-down) (foobar-callback)))
(super-new)))
我得到了所有的鼠標和鍵盤命令用途的任何地方 這裏。
(define my-canvas%
(class canvas%
(define/override (on-event event)
(and
(send test reader (list (number->string (send event get-x))
(number->string (send event get-y))))
(send test reader (list (send event get-event-type)))))
(define/override (on-char event)
(define pressed (send event get-key-code))
(if (char? pressed) (send test reader (list (make-string 1 pressed))) '()))
(super-new)))
(define tester%
(class object%
(super-new)
(define command '())
(define/public (reader x)
(and (set! command x)
(display x))
)
(define/public (outer)
command)
))