< Return to Video

More Mouse Interaction (Video Version)

  • 0:02 - 0:07
    Trong lần nói chuyện cuối cùng, ta đã chỉ ra cách làm quả bóng nảy dịch chuyển ra khỏi cạnh bằng cách sử dụng hàm vẽ và câu lệnh if.
  • 0:07 - 0:09
    Hãy xem lại.
  • 0:09 - 0:12
    Đầu tiên, ta thiết lập một số biến ban đầu dành cho vị trí và tốc độ của quả bóng.
  • 0:12 - 0:17
    Sau đó, trong hàm vẽ, đó là hàm đặc biệt được gọi đi gọi lại khi chương trình đang chạy,
  • 0:17 - 0:21
    ta vẽ lại nền và hình elip trên khung vẽ
  • 0:21 - 0:28
    và định vị hình elip đó dựa trên biến vị trí, tốc độ và cách chúng tương quan nhau.
  • 0:28 - 0:31
    Bây giờ, không có mệnh đề if, quả bóng sẽ tiếp tục di chuyển mãi,
  • 0:31 - 0:33
    hoặc cho đến khi ta nhấn chạy lại.
  • 0:33 - 0:36
    Vậy, ta đã thêm hai mệnh đề if dưới đây
  • 0:36 - 0:41
    để kiểm tra và xem bóng ở gần bên phải hay bên trái màn hình,
  • 0:41 - 0:45
    và nếu vậy, ta thay đổi tốc độ thành dương hoặc âm để bóng, về cơ bản, sẽ nảy trở lại.
  • 0:45 - 0:50
    Vậy, bây giờ ta chỉ có quả bóng này, nảy qua lại mãi.
  • 0:50 - 0:54
    Điều đó thật tuyệt, và có rất nhiều ảnh động thực sự thú vị mà ta có thể tạo ra với nó.
  • 0:54 - 0:58
    Nhưng bây giờ, tôi muốn thêm tương tác người dùng vào chương trình này.
  • 0:58 - 1:00
    Xem này, ngay bây giờ nó giống như một chương trình truyền hình.
  • 1:00 - 1:05
    nếu bạn đưa nó cho một người bạn và người đó không biết lập trình thì sẽ không thể thực sự tương tác với nó.
  • 1:05 - 1:08
    Tất cả những gì họ có thể làm là xem mà thôi, thật tuyệt,
  • 1:08 - 1:10
    nhưng sẽ tuyệt hơn rất nhiều nếu họ thực sự có thể làm gì đó.
  • 1:10 - 1:13
    Vậy, hãy cung cấp cho người dùng một số cách để điều khiển chương trình nhé.
  • 1:13 - 1:20
    Hãy nhớ trước đó ta đã biết về hai biến toàn cục đặc biệt gọi là mouseX và mouseY.
  • 1:20 - 1:26
    Các biến đó trả về các giá trị cho biết về vị trí hiện tại của con trỏ
  • 1:26 - 1:29
    và chúng là cách tuyệt vời để làm cho chương trình mang tính tương tác nhiều hơn.
  • 1:29 - 1:31
    Vậy, hãy xem. Làm thế nào ta có thể sử dụng chúng?
  • 1:31 - 1:34
    Chà, ta nên dùng bên trong hàm draw, ở đâu đó.
  • 1:34 - 1:40
    Bởi vì đó là mã duy nhất được gọi đi gọi lại khi chương trình chạy.
  • 1:40 - 1:45
    Tất cả mọi lệnh bên ngoài draw chỉ được gọi một lần, khi chương trình bắt đầu chạy lần đầu.
  • 1:45 - 1:48
    Vậy, việc sử dụng mouseX và mouseY ở đó là vô nghĩa.
  • 1:48 - 1:51
    Người dùng chưa có cơ hội tương tác với nó.
  • 1:51 - 1:57
    Trong draw, ta đang vẽ quả bóng 200 pixel ở dưới màn hình.
  • 1:57 - 2:01
    Sẽ ra sao nếu ta thay thế nó bằng mouseY?
  • 2:01 - 2:03
    Bởi vì đó là tọa độ y, phải không?
  • 2:03 - 2:09
    Vậy, theo cách này, nó sẽ chỉ thêm tọa độ y tùy theo vị trí y của người dùng. Đúng không nhỉ?
  • 2:09 - 2:14
    Vậy, hãy kiểm tra. Chỉ cần di chuyển con trỏ lên và xuống, tôi đã có thể thay đổi đường đi của bóng theo chiều dọc.
  • 2:14 - 2:18
    Điều đó thật tuyệt. Nhưng tôi cũng muốn sử dụng cả mouseX nữa.
  • 2:18 - 2:20
    Vậy, ta nên sử dụng nó như thế nào?
  • 2:20 - 2:22
    Chà, tại sao không tạo ra một quả bóng khác
  • 2:22 - 2:26
    và cho nó đi theo hướng ngược lại: lên và xuống.
  • 2:26 - 2:30
    Và ở đó ta sẽ cho người dùng điều khiển vị trí x của nó.
  • 2:30 - 2:33
    Vậy, ta cần làm gần như ngược lại.
  • 2:33 - 2:41
    Ta sẽ gõ ellipse mouseX vị trí 50 50. Ổn chứ?
  • 2:41 - 2:47
    Hãy kiểm tra! Giờ, tôi đã có hai quả bóng để điều khiển và đi theo hướng vuông góc.
  • 2:47 - 2:50
    Nhưng, tôi vẫn chưa vui.
  • 2:50 - 2:53
    Tôi muốn cho người dùng quyền kiểm soát nhiều hơn.
  • 2:53 - 2:57
    Tôi muốn cho người dùng sức mạnh để tạo ra quả bóng thứ hai.
  • 2:57 - 3:01
    Để thực sự cho nó tồn tại, chỉ bằng cách nhấn con trỏ.
  • 3:01 - 3:07
    Chà, sau đó tôi cần tìm ra cách để biết người dùng đang nhấn con trỏ.
  • 3:07 - 3:13
    Rất may, ta có một biến boolean rất đặc biệt cho điều đó.
  • 3:13 - 3:19
    Nó được gọi là mouseIsPression và ta có thể sử dụng nó trong câu lệnh if.
  • 3:19 - 3:22
    Vậy, hãy xem. Đây là quả bóng thứ hai .
  • 3:22 - 3:32
    Vậy, ta có thể nói if mouseIsPress, và sau đó ta sẽ di chuyển hình elip đến đó.
  • 3:32 - 3:41
    Vậy, những gì nó đang làm ở đây, là nói với chương trình rằng ta chỉ muốn vẽ hình elip nếu điều kiện là đúng
  • 3:41 - 3:46
    mouseIsPression sẽ chỉ đúng khi người dùng nhấn con trỏ.
  • 3:46 - 3:48
    Vậy, hãy thử xem.
  • 3:48 - 3:50
    Ta da!
  • 3:50 - 3:53
    Vậy, bây giờ ta có thể khiến quả bóng xuất hiện bất cứ khi nào nhấn chuột.
  • 3:53 - 3:58
    Vậy, nó đi vào từ vũ trụ song song này. Vào trong! Vào trong! Vào trong!
  • 3:58 - 4:00
    Thật tuyệt vời!
  • 4:00 - 4:05
    Vậy, điều thú vị về biến mouseIsPression
  • 4:05 - 4:09
    là nó thay đổi dựa trên những gì người dùng làm, không dựa trên những gì chương trình làm.
  • 4:09 - 4:13
    và vì hàm draw được gọi lặp đi lặp lại,
  • 4:13 - 4:16
    kết quả của chương trình sẽ thay đổi theo thời gian
  • 4:16 - 4:19
    chỉ với một chút tác động của người dùng.
  • 4:19 - 4:22
    Với sức mạnh kết hợp của câu lệnh if và mouseIsPress,
  • 4:22 - 4:26
    bạn có mọi thứ cần thiết để tạo ra những điều tuyệt vời như nút bấm (button) và chương trình vẽ.
  • 4:26 - 0:00
    Woo hoo!
Title:
More Mouse Interaction (Video Version)
Description:

more » « less
Video Language:
English
Duration:
04:29

Vietnamese subtitles

Incomplete

Revisions