Khi bắt đầu làm quen với Scratch, hai khái niệm mà người học sẽ thường xuyên gặp là Sprite và Stage. Nếu xem một dự án Scratch như một vở kịch, Sprite chính là những nhân vật và đối tượng tham gia vào câu chuyện, còn Stage là sân khấu nơi mọi hoạt động diễn ra.
Hiểu rõ sự khác nhau giữa Sprite và Stage không chỉ giúp bạn sử dụng Scratch dễ dàng hơn mà còn là nền tảng để xây dựng game, hoạt ảnh và các câu chuyện tương tác. Trong bài viết này, chúng ta sẽ lần lượt tìm hiểu Sprite, Stage, cách sử dụng từng thành phần và cách kết hợp chúng để tạo nên một dự án Scratch hoàn chỉnh.
1. Sprite và Stage trong Scratch là gì?
1.1. Sprite trong Scratch là gì?
Sprite là một nhân vật hoặc đối tượng có thể được lập trình để thực hiện các hành động trong Scratch. Đây có thể là một con người, con vật, phương tiện, đồ vật hoặc bất kỳ hình ảnh nào mà bạn muốn đưa vào dự án.

Khi tạo một dự án Scratch mới, bạn thường thấy một nhân vật mèo xuất hiện trên sân khấu. Đây chính là Sprite mặc định.
Sprite có thể thực hiện rất nhiều hành động khác nhau, chẳng hạn:
- Di chuyển đến một vị trí khác.
- Quay sang trái hoặc phải.
- Thay đổi kích thước.
- Hiện hoặc ẩn.
- Nói hoặc suy nghĩ.
- Phát âm thanh.
- Thay đổi trang phục.
- Phản ứng khi chạm vào một đối tượng khác.
- Nhận và gửi thông điệp giữa các thành phần trong chương trình.
Ví dụ, nếu bạn tạo một trò chơi bắt mèo, nhân vật mèo có thể là Sprite chính. Người chơi điều khiển Sprite này bằng bàn phím, trong khi các Sprite khác có thể đóng vai trò là vật phẩm, chướng ngại vật hoặc đối thủ.
Điểm thú vị của Scratch nằm ở chỗ bạn không cần viết mã lệnh theo cú pháp phức tạp. Thay vào đó, các hành động của Sprite được tạo bằng cách kéo và ghép các khối lệnh.
1.2. Stage trong Scratch là gì?
Stage có thể hiểu là sân khấu của dự án Scratch. Đây là khu vực hiển thị nơi Sprite xuất hiện và thực hiện các hoạt động.

Nếu Sprite là nhân vật thì Stage chính là không gian mà nhân vật đó hoạt động.
Stage có thể sử dụng các Backdrop, tức phông nền, để tạo ra bối cảnh cho dự án. Chẳng hạn, một trò chơi có thể sử dụng:
- Rừng cây làm màn chơi đầu tiên.
- Thành phố làm màn chơi thứ hai.
- Không gian vũ trụ làm màn chơi cuối.
Khác với Sprite, Stage không thể di chuyển trên sân khấu. Stage cũng không sử dụng Costume như Sprite mà sử dụng Backdrop để thay đổi bối cảnh.
1.3. Sprite và Stage có vai trò gì trong một dự án Scratch?
Có thể hình dung một dự án Scratch đơn giản như sau:
Sprite = Nhân vật/đối tượng
Stage = Sân khấu/bối cảnh
Sprite đảm nhận phần lớn các hành động và tương tác. Stage chịu trách nhiệm tạo không gian hiển thị, thay đổi bối cảnh hoặc điều khiển một số sự kiện chung của dự án.
Hai thành phần này không hoạt động hoàn toàn tách biệt. Chúng có thể giao tiếp với nhau thông qua các sự kiện và đặc biệt là Broadcast.
Đây cũng là lý do việc hiểu Sprite và Stage ngay từ đầu sẽ giúp bạn dễ dàng tiếp cận những dự án Scratch phức tạp hơn.
2. Tìm hiểu chi tiết về Sprite trong Scratch
2.1. Khu vực quản lý Sprite
Trong giao diện Scratch, danh sách các Sprite nằm ở khu vực quản lý Sprite, thường ở phía dưới hoặc bên cạnh Stage tùy phiên bản giao diện.

Khi chọn một Sprite, khu vực lập trình sẽ hiển thị các đoạn code gắn với Sprite đó.
Điều này rất quan trọng đối với người mới học. Nếu dự án có nhiều nhân vật, bạn cần chú ý mình đang chọn Sprite nào trước khi viết code.
Ví dụ, một game có ba Sprite:
- Player: nhân vật người chơi.
- Enemy: kẻ địch.
- Coin: đồng xu.
Khi chọn Player, các khối lệnh bạn tạo sẽ điều khiển Player. Nếu chuyển sang Enemy, bạn sẽ làm việc với các hành vi của Enemy.
2.2. Các thuộc tính cơ bản của Sprite
Mỗi Sprite có một số thuộc tính quan trọng mà bạn sẽ thường xuyên sử dụng:
Tên: giúp phân biệt các Sprite trong dự án.
Vị trí X và Y: xác định vị trí của Sprite trên Stage.
Size: xác định kích thước của Sprite.
Direction: xác định hướng mà Sprite đang quay.
Hiển thị/ẩn: cho phép Sprite xuất hiện hoặc biến mất khỏi Stage.
Ngoài ra, Sprite còn có thể sở hữu nhiều Costume và tạo ra các hiệu ứng hình ảnh khác nhau.
Ví dụ, một nhân vật có thể có hai Costume: một hình ảnh khi đứng yên và một hình ảnh khi chạy. Việc liên tục thay đổi giữa hai Costume có thể tạo cảm giác nhân vật đang chuyển động.

2.3. Cách thêm Sprite vào dự án
Scratch cung cấp nhiều cách để thêm Sprite.
Bạn có thể chọn một nhân vật có sẵn trong thư viện Sprite của Scratch. Đây là cách đơn giản nhất đối với người mới bắt đầu.
Ngoài ra, bạn có thể:
- Vẽ Sprite mới.
- Tải hình ảnh từ máy tính.
- Sử dụng các tùy chọn tạo Sprite được Scratch hỗ trợ trong phiên bản đang sử dụng.
Việc tự tạo Sprite cũng là một cách khá thú vị để làm quen với Scratch. Bạn không nhất thiết phải sử dụng những nhân vật có sẵn mà hoàn toàn có thể thiết kế nhân vật theo ý tưởng của mình.

2.4. Cách thay đổi trang phục cho Sprite
Costume là các hình ảnh khác nhau thuộc về một Sprite.
Một Sprite có thể có một hoặc nhiều Costume. Khi chuyển đổi giữa các Costume, bạn có thể tạo ra hiệu ứng hoạt ảnh.
Ví dụ, giả sử nhân vật có hai Costume:
Player1: nhân vật đứng.Player2: nhân vật bước về phía trước.
Bạn có thể sử dụng:
when green flag clicked
forever
next costume
wait 0.2 seconds
end
Khi chương trình chạy, Sprite liên tục chuyển đổi giữa các Costume. Đây là một kỹ thuật đơn giản nhưng rất hữu ích khi xây dựng hoạt ảnh trong Scratch.
2.5. Lập trình hành vi cho Sprite
Một trong những điểm hấp dẫn nhất của Scratch là bạn có thể biến một hình ảnh tĩnh thành một nhân vật có hành vi.
Sprite có thể sử dụng nhiều nhóm lệnh như:
- Motion: điều khiển chuyển động.
- Looks: thay đổi hình ảnh, kích thước, hiển thị hoặc lời thoại.
- Sound: phát âm thanh.
- Events: xử lý sự kiện.
- Control: tạo vòng lặp và điều kiện.
- Sensing: nhận biết tương tác với người dùng hoặc môi trường.
Ví dụ, để điều khiển nhân vật bằng phím mũi tên, bạn có thể tạo các đoạn lệnh tương ứng:
when green flag clicked
forever
if <key [right arrow] pressed?> then
change x by 10
end
if <key [left arrow] pressed?> then
change x by -10
end
end
Như vậy, Sprite không chỉ là một hình ảnh xuất hiện trên Stage mà thực sự trở thành một đối tượng có thể phản hồi hành động của người dùng.
3. Tìm hiểu Stage trong Scratch
3.1. Stage nằm ở đâu trong giao diện Scratch?
Stage là khu vực lớn dùng để hiển thị kết quả của chương trình Scratch. Đây là nơi bạn nhìn thấy Sprite di chuyển, nói chuyện, tương tác và thay đổi bối cảnh.
Trong quá trình lập trình, bạn có thể quan sát trực tiếp Stage để kiểm tra xem chương trình hoạt động đúng như mong muốn hay chưa.
Ví dụ, khi lập trình nhân vật di chuyển sang phải, bạn sẽ thấy Sprite thực sự thay đổi vị trí trên Stage.

3.2. Backdrop là gì?
Nếu Sprite sử dụng Costume thì Stage sử dụng Backdrop.
Backdrop chính là phông nền của Stage. Một dự án có thể có nhiều Backdrop và bạn có thể chuyển đổi giữa chúng trong quá trình chương trình chạy.
Ví dụ, một câu chuyện tương tác có thể sử dụng:
Classroom: lớp học.Park: công viên.Home: ngôi nhà.
Khi nhân vật chuyển từ lớp học đến công viên, chương trình có thể thay đổi Backdrop tương ứng.
Đây là cách đơn giản để tạo cảm giác dự án có nhiều cảnh khác nhau.

3.3. Cách thêm và thay đổi Backdrop
Tương tự Sprite, Scratch cung cấp thư viện Backdrop để bạn lựa chọn.
Bạn có thể:
- Chọn Backdrop có sẵn.
- Tự vẽ Backdrop.
- Tải hình ảnh từ máy tính để sử dụng làm nền.
Việc chuyển Backdrop có thể được thực hiện bằng khối lệnh.
Ví dụ:
when green flag clicked
switch backdrop to [Park]
Hoặc bạn có thể chuyển sang Backdrop tiếp theo:
next backdrop
Kết hợp với Events và Broadcast, việc thay đổi Backdrop có thể trở thành một phần quan trọng trong cơ chế chuyển màn chơi.

3.4. Stage có thể lập trình như Sprite không?
Có. Stage cũng có thể sử dụng code để thực hiện một số hành động.
Tuy nhiên, Stage có những điểm khác Sprite. Stage không có các lệnh chuyển động như move 10 steps, change x by hoặc change y by, bởi bản thân Stage không phải là một đối tượng di chuyển trên sân khấu.
Thay vào đó, Stage thường được sử dụng để:
- Chuyển đổi Backdrop.
- Phát âm thanh nền.
- Nhận sự kiện.
- Gửi Broadcast.
- Điều khiển các sự kiện liên quan đến bối cảnh.
Ví dụ:
when green flag clicked
switch backdrop to [Start]
start sound [background music]
Điều này giúp Stage đóng vai trò giống như bộ phận quản lý bối cảnh của dự án.
4. So sánh Sprite và Stage trong Scratch
4.1. Điểm giống nhau
Sprite và Stage đều là những thành phần quan trọng trong Scratch và đều có thể được lập trình bằng các khối lệnh.
Cả hai đều có thể:
- Phản hồi các sự kiện.
- Sử dụng nhóm lệnh Looks.
- Phát âm thanh trong những trường hợp phù hợp.
- Tham gia vào luồng hoạt động của chương trình.
- Giao tiếp với các thành phần khác thông qua Broadcast.
4.2. Điểm khác nhau giữa Sprite và Stage
| Tiêu chí | Sprite | Stage |
|---|---|---|
| Vai trò | Nhân vật hoặc đối tượng | Sân khấu, bối cảnh |
| Di chuyển | Có | Không |
| Costume | Có | Không |
| Backdrop | Không | Có |
| Lập trình | Có | Có |
| Vị trí X/Y | Có | Không áp dụng như Sprite |
| Tương tác | Có thể tương tác trực tiếp với đối tượng khác | Chủ yếu quản lý bối cảnh và sự kiện |
Một cách ghi nhớ khá đơn giản là: Sprite có Costume, Stage có Backdrop.
Chỉ cần nhớ được điểm này, bạn sẽ tránh được một trong những nhầm lẫn phổ biến nhất khi mới học Scratch.
4.3. Khi nào nên sử dụng Sprite và khi nào sử dụng Stage?
Nếu bạn muốn tạo một nhân vật có hành động riêng, hãy sử dụng Sprite.
Ví dụ:
- Nhân vật chạy.
- Quả bóng bay.
- Kẻ địch đuổi theo người chơi.
- Đồng xu biến mất khi được thu thập.
Ngược lại, nếu muốn thay đổi bối cảnh, chuyển cảnh hoặc xử lý một số sự kiện chung, Stage sẽ phù hợp hơn.
Trong một dự án thực tế, bạn thường không cần lựa chọn một trong hai. Sprite và Stage nên được sử dụng kết hợp, bởi mỗi thành phần đảm nhận một nhiệm vụ khác nhau.
5. Sprite tương tác với Stage như thế nào?
5.1. Sprite nhận biết và phản hồi bối cảnh
Sprite có thể thay đổi hành vi dựa trên bối cảnh mà Stage đang hiển thị.
Ví dụ, trong một game phiêu lưu, nhân vật có thể hoạt động ở nhiều khu vực khác nhau. Khi người chơi bước vào khu vực mới, Stage thay đổi Backdrop và Sprite có thể thực hiện một hành động tương ứng.
Để thực hiện điều này, Scratch thường sử dụng các sự kiện và Broadcast.
5.2. Stage điều khiển hoạt động của Sprite

Broadcast là một cơ chế quan trọng giúp các thành phần trong Scratch giao tiếp với nhau.
Ví dụ, Stage có thể gửi thông điệp:
broadcast [Start Game]
Sau đó, Sprite nhận thông điệp:
when I receive [Start Game]
go to x: (0) y: (0)
say [Let's go!] for 2 seconds
Như vậy, Stage không cần trực tiếp điều khiển từng hành động của Sprite. Thay vào đó, Stage gửi tín hiệu và Sprite tự xử lý hành vi của mình.
Cách tổ chức này đặc biệt hữu ích khi dự án có nhiều Sprite.
5.3. Sprite và Stage phối hợp trong một dự án thực tế
Hãy tưởng tượng bạn xây dựng một game phiêu lưu gồm ba màn chơi.
Stage đảm nhiệm:
- Hiển thị Backdrop của từng màn.
- Chuyển cảnh.
- Gửi Broadcast khi màn chơi bắt đầu.
Sprite Player đảm nhiệm:
- Di chuyển.
- Nhảy.
- Tương tác với vật phẩm.
- Kiểm tra điều kiện hoàn thành màn chơi.
Khi Player đến vị trí cuối màn, chương trình có thể gửi một thông điệp:
broadcast [Next Level]
Stage nhận thông điệp:
when I receive [Next Level]
next backdrop
Sau đó, Stage chuyển sang bối cảnh mới và có thể gửi tiếp một Broadcast để thông báo cho các Sprite bắt đầu màn chơi mới.
Đây chính là cách Sprite và Stage phối hợp để tạo nên một dự án có cấu trúc rõ ràng.
6. Hướng dẫn tạo một dự án Scratch đơn giản với Sprite và Stage
6.1. Xây dựng ý tưởng
Để dễ hình dung, hãy thử xây dựng một game nhỏ với ý tưởng nhân vật khám phá các bối cảnh.
Người chơi điều khiển nhân vật bằng phím mũi tên. Khi nhân vật đi đến khu vực quy định, bối cảnh sẽ chuyển sang màn chơi tiếp theo.
6.2. Chuẩn bị Sprite và Stage
Đầu tiên, chọn một Sprite làm nhân vật chính.
Sau đó thêm khoảng hai hoặc ba Backdrop để tạo các khu vực khác nhau.
Ví dụ:
- Backdrop 1: Khu rừng.
- Backdrop 2: Hang động.
- Backdrop 3: Lâu đài.
Đặt nhân vật ở vị trí bắt đầu trên Stage.
6.3. Lập trình chuyển động cho Sprite
Có thể sử dụng phím mũi tên để điều khiển nhân vật:
when green flag clicked
forever
if <key [right arrow] pressed?> then
change x by 5
end
if <key [left arrow] pressed?> then
change x by -5
end
if <key [up arrow] pressed?> then
change y by 5
end
if <key [down arrow] pressed?> then
change y by -5
end
end
Đây là cơ chế điều khiển cơ bản nhưng đủ để bạn bắt đầu thử nghiệm.

6.4. Lập trình chuyển cảnh cho Stage
Giả sử khi nhân vật đi đến bên phải màn hình, chúng ta muốn chuyển sang bối cảnh tiếp theo.
Có thể cho Sprite gửi Broadcast:
if <(x position) > 220> then
broadcast [Next Level]
end
Sau đó, Stage nhận thông điệp:
when I receive [Next Level]
next backdrop
Stage sẽ chuyển sang Backdrop tiếp theo khi nhận được tín hiệu.


6.5. Hoàn thiện tương tác
Sau khi cơ chế cơ bản hoạt động, bạn có thể tiếp tục bổ sung:
- Âm thanh nền.
- Hiệu ứng khi chuyển cảnh.
- Vật phẩm.
- Kẻ địch.
- Điểm số.
- Thời gian.
- Điều kiện thắng hoặc thua.
Điều quan trọng là nên xây dựng từng phần và kiểm tra trước khi ghép chúng lại. Cách làm này giúp bạn dễ tìm lỗi hơn và cũng hiểu rõ vai trò của từng đoạn code.
7. Những lỗi thường gặp khi làm việc với Sprite và Stage
7.1. Nhầm Costume với Backdrop
Đây là lỗi rất phổ biến đối với người mới.
Hãy nhớ:
Costume → Sprite
Backdrop → Stage
Nếu muốn thay đổi hình ảnh của nhân vật, hãy thay Costume. Nếu muốn thay đổi bối cảnh, hãy thay Backdrop.
7.2. Không chọn đúng đối tượng trước khi lập trình
Khi dự án có nhiều Sprite, việc chọn nhầm đối tượng có thể khiến chương trình hoạt động không như mong muốn.
Ví dụ, bạn muốn điều khiển Player nhưng lại đang chọn Enemy. Code chuyển động sẽ được gắn cho Enemy thay vì Player.
Vì vậy, trước khi lập trình, hãy kiểm tra xem bạn đang chọn đúng Sprite hay Stage.
7.3. Sử dụng sai loại khối lệnh
Không phải tất cả khối lệnh đều có thể sử dụng cho mọi đối tượng.
Đặc biệt, các khối Motion dành cho Sprite không áp dụng theo cách tương tự đối với Stage.
Nếu một khối lệnh không xuất hiện hoặc không thể sử dụng khi bạn chọn Stage, rất có thể đó là hành vi bình thường của Scratch chứ không phải lỗi phần mềm.
7.4. Chuyển cảnh nhưng Sprite không thay đổi hành vi
Một vấn đề khác thường xuất hiện khi xây dựng game nhiều màn là Stage đã chuyển Backdrop nhưng Sprite vẫn giữ hành vi của màn trước.
Trong trường hợp này, bạn có thể sử dụng Broadcast để thông báo cho Sprite.
Ví dụ:
when I receive [Level 2]
go to x: (-180) y: (0)
switch costume to [Player2]
Khi Stage chuyển sang màn thứ hai, nó có thể gửi Broadcast Level 2 để Sprite thiết lập lại vị trí và Costume.
8. Mẹo sử dụng Sprite và Stage hiệu quả khi học Scratch
8.1. Đặt tên Sprite rõ ràng
Khi dự án chỉ có một Sprite, tên mặc định có thể chưa gây ra vấn đề.
Nhưng khi dự án có hàng chục đối tượng, những cái tên như Sprite1, Sprite2, Sprite3 sẽ rất khó quản lý.
Bạn nên đặt tên theo chức năng, chẳng hạn:
PlayerEnemyCoinBulletButton
Điều này giúp code dễ hiểu hơn và tiết kiệm thời gian khi chỉnh sửa dự án.
8.2. Tách riêng phần điều khiển nhân vật và bối cảnh
Một nguyên tắc đơn giản nhưng rất hữu ích là để mỗi thành phần tập trung vào nhiệm vụ của mình.
Sprite xử lý:
- Chuyển động.
- Tương tác.
- Hoạt ảnh.
- Hành vi của nhân vật.
Stage xử lý:
- Backdrop.
- Chuyển cảnh.
- Một số âm thanh nền.
- Các sự kiện liên quan đến toàn bộ dự án.
Cách tổ chức này khiến chương trình dễ đọc và dễ sửa hơn.
8.3. Sử dụng Broadcast để kết nối các thành phần
Khi dự án bắt đầu phức tạp, Broadcast gần như trở thành một công cụ rất hữu ích.
Thay vì cố gắng viết toàn bộ logic trong một Sprite, bạn có thể chia nhiệm vụ:
Stage → gửi thông điệp → Sprite nhận thông điệp → thực hiện hành động
Ví dụ:
when I receive [Game Over]
show
say [Game Over!] for 2 seconds
Cách làm này giúp các thành phần giao tiếp với nhau rõ ràng hơn.
8.4. Thử nghiệm từng phần trước khi ghép toàn bộ dự án
Đừng cố hoàn thành toàn bộ game trong một lần.
Bạn có thể chia dự án thành các bước:
- Kiểm tra Sprite có di chuyển đúng không.
- Kiểm tra Backdrop có chuyển đúng không.
- Kiểm tra Broadcast có được gửi và nhận không.
- Sau đó mới thêm âm thanh, điểm số và các tính năng khác.
Đây cũng là cách làm quen với tư duy lập trình khá tốt: chia một bài toán lớn thành những phần nhỏ hơn và xử lý từng phần.
9. Kết luận: Hiểu Sprite và Stage để làm chủ Scratch
Sprite và Stage là hai thành phần nền tảng trong Scratch. Sprite đại diện cho nhân vật hoặc đối tượng có thể lập trình, trong khi Stage là sân khấu nơi các đối tượng xuất hiện và hoạt động.
Điểm quan trọng nhất cần ghi nhớ là:
- Sprite sử dụng Costume.
- Stage sử dụng Backdrop.
- Sprite có thể di chuyển trên Stage.
- Stage không di chuyển như Sprite.
- Cả Sprite và Stage đều có thể tham gia vào quá trình lập trình.
- Broadcast giúp các thành phần trong dự án giao tiếp với nhau.
Khi đã hiểu rõ vai trò của Sprite và Stage, bạn sẽ dễ dàng tiếp cận những khái niệm tiếp theo như Events, Broadcast, Variables, Costume và Backdrop. Từ một nhân vật biết di chuyển, bạn có thể từng bước phát triển thành một trò chơi, câu chuyện tương tác hoặc hoạt ảnh hoàn chỉnh.
Với tôi, điều thú vị nhất khi học Scratch không nằm ở việc ghi nhớ thật nhiều khối lệnh, mà là nhìn thấy cách những khối lệnh đơn giản kết hợp với nhau để tạo ra một sản phẩm thực sự hoạt động. Và Sprite cùng Stage chính là hai mảnh ghép đầu tiên để bắt đầu hành trình đó.
Tài liệu tham khảo
[1] OpenDev, “Tìm hiểu về Scratch,” OpenDev. Available: https://opendev.vn/tim-hieu-ve-scratch/. [Truy cập: 24-09-2026].
[2] Scratch, “Scratch Wiki,” Scratch Foundation. [Trực tuyến]. Available: https://en.scratch-wiki.info/. [Truy cập: 24-09-2026].
[3] Scratch, “Create a Project,” Scratch Foundation. [Trực tuyến]. Available: https://scratch.mit.edu/projects/editor/. [Truy cập: 24-09-2026].
[4] OpenDev, “Tìm hiểu về Scratch,” OpenDev. [Trực tuyến]. Available: https://opendev.vn/tim-hieu-ve-scratch/. [Truy cập: 24-09-2026].