tôi đang học vợt (trước đây là PLT Scheme, một phương ngữ LISP) và cố gắng khám phá làm thế nào để xử lý các sự kiện khác nhau hơn paint-callback
(có thể nó không phải là ngay cả một).vợt: sử dụng các sự kiện trong một cửa sổ khung%
Tôi hy vọng rất nhiều từ this part of the doc nhưng on-char
và on-event
dường như không làm gì có thể làm tôi quan tâm (hoặc không có gì cả).
Ngoài ra, tôi không hiểu các không gian sự kiện, gọi lại hàng đợi và cách sử dụng của chúng. Một ví dụ sẽ là một điều tuyệt vời! Tôi sẽ biết ơn người đàn ông tốt đẹp sẽ viết cho tôi một cái :).
Dưới đây là mã của tôi:
(define game (new frame%))
(define gameLay (class canvas% (super-new)))
(new gameLay
[parent game]
[paint-callback (λ (canvas dc) #|draw things|#)])
Tôi muốn sử dụng một cái gì đó như "on-chuột-nhấp chuột trái" (mà không tồn tại) cách tôi sử dụng "sơn-callback" nhưng tôi nghĩ rằng tôi cần phải thêm các bước (Tôi đã đọc về các sự kiện vv). Tôi biết nó không hoạt động nhưng đây là mã giả thuyết tôi đang tìm kiếm:
(new gameLay
[parent game]
[paint-callback (λ (canvas dc) #|draw things|#)]
[on-mouse-click-left (λ (canvas dc) #|do other things|#)])
Tôi nghĩ rằng một ví dụ về những gì bạn muốn thực sự sẽ giúp hiển thị cách thực hiện. – Svante
Đây là mã của tôi: '(xác định trò chơi (khung mới%)) (xác định gameLay (lớp vải% (siêu mới))) (gameLay mới [cha mẹ trò chơi] [sơn-callback (λ (canvas dc) ; vẽ mọi thứ )]})) ' Tôi muốn sử dụng một cái gì đó như" nhấp chuột trái-nhấp chuột "(không tồn tại) theo cách tôi sử dụng" gọi lại sơn " nhưng tôi nghĩ rằng tôi cần phải thêm các bước (tôi đã đọc về các sự kiện vv). – L01man
Tôi đã đặt thông tin đó vào câu hỏi của bạn. Vui lòng sửa mã; có dấu ngoặc đơn không khớp và niềng răng ở cuối, vì vậy nó có thể không phải là những gì bạn dự định. Để làm cho ví dụ rõ ràng hơn, chỉ cần đặt giả thuyết 'on-mouse-click' vào ví dụ chỉ theo cách bạn muốn sử dụng nó. – Svante