Giới thiệu chung về Scratch và lý do học vẽ hình

Scratch là một ngôn ngữ lập trình trực quan được phát triển bởi MIT Media Lab, nhằm giúp người dùng, đặc biệt là trẻ em và người mới bắt đầu, học cách tư duy logic, giải quyết vấn đề và sáng tạo thông qua việc xây dựng các dự án tương tác. Bên cạnh việc lập trình, Scratch còn cung cấp một công cụ vẽ hình mạnh mẽ cho phép người dùng tạo ra các hình ảnh, hoạt ảnh và trò chơi một cách nhanh chóng.

Việc cách vẽ hình Scratch không chỉ giúp bạn làm đẹp giao diện dự án, mà còn nâng cao khả năng hiểu về hệ thống tọa độ, vòng lặp, và các khái niệm đồ họa cơ bản. Khi bạn nắm vững cách vẽ các hình cơ bản (đường thẳng, hình vuông, hình tròn, đa giác…), bạn sẽ dễ dàng mở rộng sang các dự án phức tạp hơn như trò chơi 2D, mô phỏng vật lý, hoặc các hoạt ảnh nghệ thuật.

Bài viết dưới đây sẽ hướng dẫn chi tiết, từng bước một, cách vẽ hình trong Scratch, từ những khái niệm cơ bản nhất đến các kỹ thuật nâng cao, kèm theo ví dụ thực tế, mẹo tối ưu và cách khắc phục lỗi thường gặp. Tổng cộng hơn 1500 chữ, bạn sẽ có một tài liệu tham khảo đầy đủ để tự tin tạo ra mọi hình ảnh bạn muốn trong môi trường Scratch.

1. Cấu trúc cơ bản của một sprite và khái niệm “pen”

1.1 Sprite là gì?

Trong Scratch, sprite (đối tượng) là thành phần chính để hiển thị hình ảnh, di chuyển và thực hiện các hành động. Mỗi sprite có:

Cách Vẽ Hình Scratch
Cách Vẽ Hình Scratch
  • Costume (trang phục): Hình ảnh hiển thị hiện tại.
  • Backdrop (nền): Hình nền của sân khấu.
  • Scripts (kịch bản): Các khối lệnh điều khiển hành vi.
  • Variables (biến) và Lists (danh sách): Dữ liệu lưu trữ.

1.2 Pen (bút) – Công cụ vẽ trong Scratch

Pen là một extension (tiện ích) được tích hợp sẵn trong Scratch 3.0, cho phép sprite “vẽ” trên nền. Các khối pen bao gồm:

Khối Mô tả
clear Xóa toàn bộ các vết vẽ trên nền.
pen down Bắt đầu vẽ khi sprite di chuyển.
pen up Dừng vẽ.
set pen color to color Đặt màu bút.
change pen size by (n) Thay đổi độ dày bút.
set pen size to (n) Đặt độ dày bút cố định.
stamp Dấu ấn hiện tại của sprite lên nền (không di chuyển).
pen color Lấy màu hiện tại của bút (đối với biến).

Lưu ý: Khi pen down, mọi chuyển động của sprite sẽ để lại vết trên nền, cho phép tạo ra các hình đồ họa phức tạp.

2. Chuẩn bị môi trường Scratch để vẽ

  1. Mở Scratch: Truy cập https://scratch.mit.edu hoặc mở phần mềm offline.
  2. Tạo dự án mới: Nhấn “Create”.
  3. Xóa sprite mặc định (Cat) nếu không cần: Click chuột phải → Delete.
  4. Thêm sprite “Pen”:
  5. Nhấn vào biểu tượng “Choose a Sprite”.
  6. Chọn “Paint” → vẽ một sprite đơn giản (có thể là một chấm tròn).
  7. Kích hoạt Extension Pen:
  8. Nhấn vào biểu tượng “Extensions” (nút hình bánh răng) ở góc dưới bên trái.
  9. Chọn “Pen”.

Bây giờ sprite của bạn đã sẵn sàng để vẽ.

3. Vẽ các hình cơ bản

3.1 Vẽ đường thẳng

Mục tiêu: Vẽ một đoạn thẳng dài 100 pixel, màu xanh dương, độ dày 3 pixel.

Bước thực hiện:

  1. Cài đặt màu và độ dày:
    scratch when green flag clicked clear set pen color to #0099FF set pen size to (3)
  2. Đặt vị trí bắt đầu (để tránh vẽ ra ngoài sân khấu):
    scratch go to x: (-150) y: (0) pen down
  3. Di chuyển để tạo đường thẳng:
    scratch move (100) steps pen up

Giải thích: move (100) steps di chuyển sprite về phía trước mà không thay đổi hướng. Nếu muốn vẽ góc, sử dụng turn cw (90) degrees hoặc turn ccw (45) degrees.

Cách Vẽ Hình Scratch
Cách Vẽ Hình Scratch

3.2 Vẽ hình vuông

Mô tả: Hình vuông cạnh 80 pixel, màu đỏ, độ dày 4 pixel.

Kịch bản:

when green flag clicked
clear
set pen color to #FF0000
set pen size to (4)
go to x: (-40) y: (-40) // Đặt góc trái dưới ở vị trí trung tâm
pen down
repeat (4) { move (80) steps turn cw (90) degrees
}
pen up

Mở rộng: Để vẽ hình vuông đã được “điền màu”, bạn có thể sử dụng khối fill của extension “Pen” (có trong Scratch 3.0 mới) hoặc vẽ nhiều đường song song để tạo hiệu ứng tô.

3.3 Vẽ hình tròn

Scratch không có khối draw circle mặc định, nhưng chúng ta có thể mô phỏng bằng cách di chuyển sprite theo vòng tròn bằng lệnh move kết hợp turn. Hai cách phổ biến:

Cách 1: Dùng vòng lặp lớn (độ mịn cao)

when green flag clicked
clear
set pen color to #00AA00
set pen size to (2)
go to x: (0) y: (0)
pen down
repeat (360) { move (1) steps turn cw (1) degrees
}
pen up
  • Giải thích: Mỗi lần di chuyển 1 pixel và quay 1 độ, tạo ra vòng tròn mịn. Bạn có thể tăng move lên 2 pixel và giảm vòng lặp xuống 180 để vẫn được hình tròn, nhưng độ mịn sẽ giảm.

Cách 2: Dùng công thức hình học (bán kính r)

when green flag clicked
clear
set pen color to #00AA00
set pen size to (2)
go to x: (0) y: (-r) // Bắt đầu ở đáy vòng tròn
pen down
repeat (360) { move (2 pi r / 360) steps // Độ dài cung tròn mỗi bước turn cw (1) degrees
}
pen up

Trong Scratch, không có hằng số pi, bạn có thể tạo biến pi và đặt giá trị 3.1416.

3.4 Vẽ tam giác đều

when green flag clicked
clear
set pen color to #FF6600
set pen size to (3)
go to x: (-50) y: (-30)
pen down
repeat (3) { move (100) steps turn cw (120) degrees
}
pen up

Mẹo: Thay đổi góc quay để vẽ các tam giác không đều (ví dụ 60°-120°-180°).

3.5 Vẽ đa giác N-gia (ví dụ: ngôi sao 5 cánh)

Để vẽ ngôi sao 5 cánh, chúng ta cần tính góc quay là 180 - 360/N. Với N = 5, góc = 144°.

Cách Vẽ Hình Scratch
Cách Vẽ Hình Scratch
when green flag clicked
clear
set pen color to #FFD700
set pen size to (2)
go to x: (0) y: (0)
pen down
repeat (5) { move (150) steps turn cw (144) degrees
}
pen up

Bạn có thể tạo biến n để cho phép người dùng nhập số cạnh và tự động tính góc.

4. Sử dụng biến và vòng lặp để vẽ hình phức tạp

4.1 Vẽ lưới (grid) – nền cho các trò chơi

when green flag clicked
clear
set pen color to #CCCCCC
set pen size to (1) // Vẽ các đường dọc
repeat (10) { go to x: ((-240) + (48) (repeat count - 1)) y: (180) pen down go to x: ((-240) + (48) (repeat count - 1)) y: (-180) pen up
} // Vẽ các đường ngang
repeat (8) { go to x: (-240) y: ((180) - (45) (repeat count - 1)) pen down go to x: (240) y: ((180) - (45) (repeat count - 1)) pen up
}

Giải thích: Sân khấu Scratch có kích thước 480×360 pixel (từ -240 đến 240 trên trục X, -180 đến 180 trên trục Y). Bằng cách dùng các vòng lặp, chúng ta nhanh chóng tạo ra lưới.

4.2 Vẽ hoa mẫu đơn (pattern) bằng công thức hình học

Một cách để tạo ra các mẫu hình nghệ thuật là sử dụng vòng lặp lồng nhau và thay đổi góc quay theo hàm lượng giác. Dưới đây là ví dụ vẽ “spiral flower”:

when green flag clicked
clear
set pen color to #FF00FF
set pen size to (2) go to x: (0) y: (0)
pen down repeat (100) { move (repeat count) steps turn cw (30) degrees change pen color by (10) // Tăng hue để thay đổi màu
}
pen up

Kết quả là một đường xoắn ốc đa màu sắc, có thể dùng làm nền hoặc hiệu ứng.

5. Kỹ thuật nâng cao: Vẽ hình bằng “stamps” và “costumes”

5.1 Dùng stamp để tạo hình ảnh lặp lại nhanh

Cách Vẽ Hình Scratch
Cách Vẽ Hình Scratch

Thay vì di chuyển sprite và để lại vết bút, bạn có thể dấu ấn (stamp) hình ảnh hiện tại của sprite lên nền. Điều này hữu ích khi muốn vẽ các hình có chi tiết phức tạp (ví dụ: hình trái tim, ngôi sao) mà không muốn vẽ bằng bút.

Cách thực hiện:

  1. Tạo costume: Vào tab “Costumes”, vẽ một hình (ví dụ: trái tim) bằng công cụ vẽ.
  2. Sử dụng stamp:
when green flag clicked
clear
go to x: (-200) y: (0)
repeat (5) { stamp change x by (100)
}

Bạn có thể kết hợp repeat với turn để tạo các mẫu vòng tròn.

5.2 Vẽ hoạt ảnh bằng cách thay đổi costume trong vòng lặp

Ví dụ: Vẽ một hình tròn đang di chuyển và thay đổi màu:

when green flag clicked
clear
set pen size to (0) // Không dùng bút
repeat (36) { next costume // Chuyển sang costume màu kế tiếp go to x: (0) y: (0) glide (0.2) secs to x: (cos (repeat count 10) 100) y: (sin (repeat count 10) 100)
}

Bạn cần tạo sẵn các costume với màu sắc khác nhau (có thể sao chép và thay đổi hue).

6. Thực hành: Dự án mini – Vẽ một khuôn mặt hoạt hình

6.1 Mô tả dự án

  • Mục tiêu: Dùng pen và stamp để vẽ một khuôn mặt gồm mắt, mũi, miệng, và tóc.
  • Yêu cầu: Người dùng có thể thay đổi màu sắc bằng các biến.

6.2 Các bước thực hiện

  1. Tạo biến màu:
  2. mauDa (skin color) = #FFE0BD
  3. mauMat (eye color) = #0000FF
  4. mauMui (mouth color) = #FF0000

  5. Vẽ đầu (hình tròn):

when green flag clicked
clear
set pen color to (mauDa)
set pen size to (3)
go to x: (0) y: (-80)
pen down
repeat (360) { move (1) steps turn cw (1) degrees
}
pen up
  1. Vẽ mắt (stamp):

  2. Tạo costume “eye” (hình tròn màu mauMat).

  3. Đặt vị trí và stamp:
go to x: (-30) y: (20)
stamp
go to x: (30) y: (20)
stamp
  1. Vẽ mũi (đường thẳng ngắn):
set pen color to (mauMui)
go to x: (0) y: (0)
pen down
move (10) steps
pen up
  1. Vẽ miệng (cung):
go to x: (-40) y: (-30)
set pen color to (mauMui)
pen down
repeat (180) { move (0.5) steps turn cw (1) degrees
}
pen up
  1. Thêm tóc (dòng stamp):
go to x: (-70) y: (80)
repeat (5) { stamp change x by (35)
}

Kết quả là một khuôn mặt hoạt hình có thể tùy chỉnh màu bằng cách thay đổi giá trị biến mauDa, mauMat, mauMui.

7. Mẹo tối ưu và lỗi thường gặp

Cách Vẽ Hình Scratch
Cách Vẽ Hình Scratch
Lỗi Nguyên nhân Cách khắc phục
Vẽ bị “đứt” ở góc Không dùng pen down trước khi di chuyển Đặt pen down ngay trước lệnh move.
Hình không nằm ở trung tâm Không đặt go to x: 0 y: 0 trước khi bắt đầu vẽ Sử dụng go to x: (0) y: (0) để cân giữa sân khấu.
Độ dày bút không thay đổi Đặt set pen size sau lệnh pen down trong một vòng lặp Đặt set pen size trước pen down hoặc dùng change pen size trong vòng lặp.
Màu không thay đổi Sử dụng set pen color to (variable) mà biến chưa được khởi tạo Đảm bảo biến màu đã được gán giá trị màu hợp lệ (ví dụ #FF0000).
Vẽ quá chậm Sử dụng move quá nhỏ trong vòng lặp lớn (ví dụ 1 pixel, 360 lần) Tăng bước di chuyển hoặc giảm vòng lặp, hoặc sử dụng glide để di chuyển mượt mà hơn.

7.1 Tối ưu tốc độ vẽ

  • Dùng clone để tạo nhiều sprite vẽ đồng thời thay vì một sprite thực hiện mọi việc.
  • Sử dụng broadcast để tách các phần vẽ thành các script độc lập, cho phép chạy song song (trong giới hạn của Scratch).
when I receive draw grid v // code vẽ lưới
when I receive draw flower v // code vẽ hoa

Sau khi khởi động, chỉ cần broadcast draw grid v và broadcast draw flower v.

8. Ứng dụng thực tế của kỹ năng vẽ Scratch

  1. Thiết kế trò chơi: Tạo nền, vật thể, và hiệu ứng bằng pen để giảm phụ thuộc vào hình ảnh tĩnh.
  2. Giáo dục: Dạy học sinh về hình học (đoạn thẳng, góc, chu vi, diện tích) bằng cách để họ tự vẽ các hình và đo độ dài.
  3. Sáng tạo nghệ thuật: Tạo các bức tranh kỹ thuật số, hoạt ảnh lặp lại, hoặc các mô hình fractal đơn giản.
  4. Mô phỏng khoa học: Vẽ các biểu đồ, đường truyền động, hoặc hình học mô tả các hiện tượng vật lý.

9. Tài nguyên học tập bổ sung

  • Scratch Wiki – Pen Extension: https://en.scratch-wiki.info/wiki/Pen
  • Video tutorial “Drawing with Scratch Pen” trên YouTube (kênh Scratch Team).
  • Sách “Coding with Scratch for Kids” – phần về vẽ hình và đồ họa.
  • Cộng đồng Scratch: Tham gia các dự án “Drawing Challenge” để học hỏi từ người khác.

10. Kết luận

Việc cách vẽ hình Scratch không chỉ là một kỹ năng nghệ thuật mà còn là nền tảng để hiểu sâu hơn về lập trình, toán học và tư duy logic. Bằng cách nắm vững các khối pen, biến, vòng lặp và cách sử dụng costume, bạn có thể tạo ra mọi loại hình ảnh từ các hình cơ bản đến các mẫu phức tạp, hỗ trợ cho dự án game, giáo dục hoặc nghệ thuật số.

Hãy bắt đầu thực hành ngay hôm nay: mở Scratch, tạo một sprite, bật Pen, và thử vẽ một hình vuông. Từ đó, mở rộng sang hình tròn, đa giác, và cuối cùng là các mẫu nghệ thuật độc đáo. Khi gặp khó khăn, hãy quay lại các mục trong bài viết này, kiểm tra lại các bước, và không ngừng thử nghiệm. Chúc bạn sáng tạo và có những dự án Scratch thật ấn tượng!

Rate this post
Mục nhập này đã được đăng trong Blog. Đánh dấu trang permalink.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *