Tải bản đầy đủ (.docx) (71 trang)

Xây dựng game 2d bắn phi thuyền vũ trụ với unity

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.35 MB, 71 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1

XÂY DỰNG GAME 2D BẮN PHI THUYỀN VŨ TRỤ
VỚI UNITY

GV HƯỚNG DẪN: ĐINH NGUYỄN ANH DŨNG
SV THỰC HIỆN:
Dín Hiền Dũng

-

20521205

Nguyễn Hồng Phúc

-

20521768

TP. HỒ CHÍ MINH, 2023


LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Đinh
Nguyễn Anh Dũng - giảng viên hướng dẫn Đồ án 1 đã hỗ trợ những thông tin cần
thiết và giải đáp những thắc mắc cho nhóm trong suốt q trình thực hiện đề tài.


Đồng thời nhóm em cũng muốn gửi lời cảm ơn đến các anh chị khóa trên,
đặc biệt là những anh chị trong khoa đã chia sẻ những kinh nghiệm quý báu về môn
học cũng như những kiến thức liên quan.
Vì kiến thức của chúng em vẫn cịn hạn hẹp nên khơng thể tránh khỏi những
thiếu sót trong q trình thực hiện đồ án. Vì vậy nhóm chúng em ln mong đợi
nhận được những ý kiến đóng góp quý báu từ phía giảng viên để qua đó có thể rút
kinh nghiệm, tự sửa chữa, hồn thiện bản thân mình trên tinh thần nghiêm túc, tự
giác học hỏi. Một lần nữa nhóm chúng em xin chân thành cảm ơn thầy.
Thành phố Hồ Chí Minh, 05 tháng 07 năm 2023
Sinh viên

DÍN HIỀN DŨNG
NGUYỄN HOÀNG PHÚC


MỤC LỤC

Chương 1. MỞ ĐẦU....................................................................................................................

1.1. Tổng quan đề tài................................................................................................................

1.2. Lý do chọn đề tài...............................................................................................................

1.3. Mục tiêu.............................................................................................................................

1.4. Phạm vi nghiên cứu...........................................................................................................

Chương 2. CƠ SỞ LÝ THUYẾT................................................................................................

2.1. Unity..................................................................................................................................


2.2. Aseprite..............................................................................................................................

2.3. C#......................................................................................................................................

2.4. Microsoft Visual Studio.....................................................................................................

Chương 3. THIẾT KẾ VÀ PHÁT TRIỂN.................................................................................

3.1. Tổng quan..........................................................................................................................

3.1.1. Tên game...................................................................................................................

3.1.2. Thể loại.....................................................................................................................

3.2. Gameplay...........................................................................................................................

3.2.1. Mục tiêu....................................................................................................................

3.2.2. Tiến trình...................................................................................................................

3.3. Thiết kế..............................................................................................................................

3.3.1. Game manager..........................................................................................................

3.3.2. Background...............................................................................................................

3.3.3. Base Class.................................................................................................................

3.3.4. Ship...........................................................................................................................


3.3.5. Ability.......................................................................................................................

3.3.6. Spawner.....................................................................................................................


3.3.7. Despawn....................................................................................................................

3.3.8. Bullet.........................................................................................................................

3.3.9. Laser..........................................................................................................................

3.3.10. Enemy.....................................................................................................................

3.3.11. Item.........................................................................................................................

3.3.12. WaveManager.........................................................................................................

3.3.13. LevelManager.........................................................................................................

3.3.14. User interface..........................................................................................................

Chương 4. THIẾT KẾ CLASS....................................................................................................

4.1. Class Diagram....................................................................................................................

4.1.1. Ship Class Diagram...................................................................................................

4.1.2. Enemy Class Diagram...............................................................................................


4.1.3. Bullet Class Diagram................................................................................................

4.1.4. Level and Wave Class Diagram................................................................................

4.1.5. Item Class Diagram...................................................................................................

4.1.6. Ability Class Diagram...............................................................................................

4.2. Danh sách class..................................................................................................................

4.2.1. Danh sách class thuộc ShipPlayer.............................................................................

4.2.2. Danh sách class thuộc Enemy...................................................................................

4.2.3. Danh sách class thuộc Bullet.....................................................................................

4.2.4. Danh sách class thuộc Level and Wave.....................................................................

4.2.5. Danh sách class thuộc Item.......................................................................................

4.2.6. Danh sách class thuộc Ability...................................................................................

Chương 5. USE CASE.................................................................................................................

5.1. Sơ đồ USE CASE..............................................................................................................

5.1.1. Player........................................................................................................................


5.1.2. Enemy.......................................................................................................................


5.2. Danh sách tác nhân............................................................................................................

5.3. Danh sách USE CASE.......................................................................................................

5.4. Mơ tả chi tiết USE CASE..................................................................................................

5.4.1. Trở về màn hình chính..............................................................................................

5.4.2. Chọn phi thuyền........................................................................................................

5.4.3. Chọn màn chơi..........................................................................................................

5.4.4. Xem thơng tin nhà phát triển.....................................................................................

5.4.5. Di chuyển của người chơi.........................................................................................

5.4.6. Sử dụng kỹ năng........................................................................................................

5.4.7. Gây sát thương..........................................................................................................

5.4.8. Nhận sát thương........................................................................................................

5.4.9. Nhặt vật phẩm...........................................................................................................

5.4.10. Rơi vật phẩm...........................................................................................................
5.4.11. Di chuyển của Enemy.............................................................................................

Chương 6. TỔNG KẾT................................................................................................................


6.1. Kết quả đạt được................................................................................................................

6.2. Hạn chế..............................................................................................................................

6.3. Hướng phát triển................................................................................................................

DANH MỤC HÌNH
Hình 1.1 Một số game shoot ’em up phổ biến

3


Hình 2.1 Unity game engine

5

Hình 2.2 Giao diện unity

6

Hình 2.3 Sự khác biệt giữa phép chiếu perspective và phép chiếu orthographic

8

Hình 2.4 Logo Aseprite

10

Hình 2.5 Hình 2.5. C# Logo


11

Hình 2.6 Microsoft Visual Studio Logo

12

Hình 3.1 Spacewar! Trên hệ máy PDP-1

14

Hình 3.2 Code di chuyển cho background

16

Hình 3.3 Lớp cơ sở GameMonoBehaviour

17

Hình 3.4 Ảnh Ship_1

18

Hình 3.5 Cấu trúc của ShipController

19

Hình 3.6 Cấu trúc chung của GameObject Ship

19


Hình 3.7 Cấu trúc của Ability

20

Hình 3.8 Cấu trúc Component Script của một Spawner

21

Hình 3.9 Lớp Abstract Despawn

23

Hình 3.10 Hàm CanDespawn được triển khai trong lớp DespawnByDistance

24

Hình 3.11 Hàm CanDespawn được triển khai trong lớp DespawnByTime

24

Hình 3.12 Bullet Shuriken

25

Hình 3.13 Cấu trúc của lớp BullerController

26

Hình 3.14 Cấu trúc của GameObject Bullet


26

Hình 3.15 Laser

27

Hình 3.16 Enemy

28

Hình 3.17 Cấu trúc của lớp BullerController

29

Hình 3.18 Cấu trúc của GameObject Bullet

29

Hình 3.19 Asteroid

30

Hình 3.20 Boss Battlecruiser

30

Hình 3.21 Item

31


Hình 3.22 Cấu trúc của Script WaveManager

32

Hình 3.23 Từng vị trí trong Formation được xác định

33


Hình 3.24 Cấu trúc của LevelManager

34

Hình 3.25 Màn hình chính

36

Hình 3.26 Màn hình chọn phi thuyền

36

Hình 3.27 Màn hình thơng tin nhà phát

37

Hình 3.28 Màn hình chọn màn chơi

37

Hình 3.29 Màn hình GamePlay


38

Hình 3.30 Màn hình tạm dừng

38

Hình 3.31 Màn hình thua cuộc

39

Hình 3.32 Màn hình thắng màn chơi

39

Hình 4.1 Ship Class Diagram

40

Hình 4.2 Enemy Class Diagram

41

Hình 4.3 Bullet Class Diagram

42

Hình 4.4 Level and Wave Class Diagram

43


Hình 4.5 Item Class Diagram

44

Hình 4.6 Ability Class Diagram

45

Hình 5.1 Player Use Case Diagram

51

Hình 5.2 Enemy Use Case Diagram

52

DANH MỤC BẢNG


Bảng 4.1 Bảng danh sách class thuộc ShipPlayer

46

Bảng 4.2 Bảng danh sách class thuộc Enemy

47

Bảng 4.3 Bảng danh sách class thuộc Bullet


48

Bảng 4.4 Bảng danh sách class thuộc Level and Wave

49

Bảng 4.5 Bảng danh sách class thuộc Item

49

Bảng 4.6 Bảng danh sách class thuộc Ability

50

Bảng 5.1 Bảng danh sách tác nhân

53

Bảng 5.2 Bảng danh sách USE CASE

54

Bảng 5.3 Bảng mô tả chi tiết use case trở về màn hình chính

54

Bảng 5.4 Bảng mô tả chi tiết use case chọn phi thuyền

55


Bảng 5.5 Bảng mô tả chi tiết use case chọn màn chơi

56

Bảng 5.6 Bảng mô tả chi tiết use case xem thông tin nhà phát triển

56

Bảng 5.7 Bảng mô tả chi tiết use case di chuyển của người chơi

57

Bảng 5.8 Bảng mô tả chi tiết use case sử dụng kỹ năng

57

Bảng 5.9 Bảng mô tả chi tiết use case gây sát thương

58

Bảng 5.10 Bảng mô tả chi tiết use case nhận sát thương

59

Bảng 5.11 Bảng mô tả chi tiết use case nhặt vật phẩm

60

Bảng 5.12 Bảng mô tả chi tiết use case rơi vật phẩm


60

Bảng 5.13 Bảng mô tả chi tiết use case di chuyển của Enemy

61

TÓM TẮT ĐỒ ÁN


Ngày nay, ngành cơng nghiệp trị chơi điện tử là một trong những ngành lớn
nhất và phát triển nhanh nhất. xung quanh, cung cấp việc làm cho nhiều người và có
một thị trường rất lớn. Từ những năm 1950 cho đến nay, nhiều thể loại trò chơi điện
tử khác nhau đã được tạo ra phù hợp với thị hiếu của nhiều người khác nhau. Trong
số đó, trị chơi Shoot 'em up chủ yếu bao gồm một người chơi cố gắng hồn thành
trị chơi trong khi tránh các chướng ngại vật khác nhau có thể bao gồm kẻ thù, vật
thể mơi trường hoặc các loại đạn khác nhau. Chúng em luôn quan tâm đến việc tự
mình phát triển một thứ, điều đó đã dẫn chúng em cân nhắc thực hiện dự án này:
một trò chơi điện tử 2D thuộc thể loại bắn súng, mà chúng em đã đặt tên là Space
Invader UT2D.
Đồ án này tập trung vào việc phát triển một trò chơi 2D bắn phi thuyền vũ
trụ với giao diện người dùng hấp dẫn, hệ thống gameplay phong phú và đồ họa đẹp
mắt. Trò chơi này được phát triển trên nền tảng Unity, một công cụ phổ biến trong
lĩnh vực phát triển trò chơi.
Bằng cách tạo ra Space Invader UT2D, chúng em đã học được cách thiết kế
trò chơi điện tử và được phát triển. Quá trình này bao gồm việc sử dụng các các
công cụ thiết kế đồ họa Aseprite, cũng như công cụ Unity và ngôn ngữ lập trình C#
để kết hợp chúng thành một trị chơi hoạt động trơn tru. Sử dụng các asset 2D miễn
phí trên mạng cũng như một số được chúng em tự thiết kế bằng Aseprite, chúng đã
thiết kế nhiều đối tượng đồ họa cho trị chơi này trong đó bao gồm các phi thuyền
không gian khác nhau, phi thuyền Boss phức tạp và đa dạng các vật thể như là các

vật phẩm và các loại đạn trong màn chơi.
Phần cuối cùng của khóa luận là trình bày kết quả đã thực hiện lên cuốn báo
cáo, đưa ra kết luận và hướng phát triển cho hệ thống trong tương lai.
Nội dung khóa luận được trình bày trong 6 chương:
-

Chương 01: MỞ ĐẦU

Trình bày sơ bộ về thực trạng, nhu cầu thực tế. Xác định mục tiêu và phạm vi đề tài.
-

Chương 02: CƠ SỞ LÝ THUYẾT


Giới thiệu, trình bày các kiến thức kỹ thuật, cơng nghệ mà nhóm sử dụng.
-

Chương 03: THIẾT KẾ VÀ PHÁT TRIỂN

Trình bày, phân tích và thiết kế các thành phần cốt lõi của trị chơi.
-

Chương 04: THIẾT KẾ CLASS

Trình bày chi tiết mơ hình các đối tượng được sử dụng trong trị chơi thơng qua các
CLASS DIAGRAM.
-

Chương 5: USE CASE


Trình bày chi tiết nội dung thiết kế USE CASE trong trị mơi.
-

Chương 6: TỔNG KẾT

Những kết quả đạt được sau khi kết thúc đồ án. Những hạn chế, khó khăn trong quá
trình phát triển đồ án và nêu ra hướng phát triển trong tương lai.

NỘI DUNG KHÓA LUẬN


Chương 1. MỞ ĐẦU
1.1.

Tổng quan đề tài
● Tên ứng dụng: Space Invader UT2D
● Chủ đề chính:
● Nền tảng phát triển: Android
● Công nghệ: Unity game engine

1.2.

Lý do chọn đề tài

Ngành cơng nghiệp trị chơi điện tử là một trong những ngành phát triển
nhanh nhất, cho phép mọi người từ khắp nơi trên thế giới để chơi trò chơi điện tử
thuộc nhiều thể loại khác nhau. Có hàng tá thể loại trò chơi điện tử dành cho mọi
người: từ game bắn súng góc nhìn thứ nhất đến game đua xe, từ game đối kháng
đến game thể thao, từ game chiến thuật đến game giải đố, v.v. họ, dự án này tập
trung vào thể loại bắn súng góc nhìn từ trên xuống còn được gọi là shoot 'em up,

đây là một trong những thể loại trò chơi rất phổ biến hiện nay với lối chơi đơn giản
nhưng hứng thú, dựa theo nhu cầu giải trí của người chơi, nhóm chúng em quyết
định chọn đề tài này.

Hình 1.1 Một số game shoot ’em up phổ biến


1.3.

Mục tiêu
Từ lúc nhỏ, chúng em đã dành vô số thời gian để chơi trò chơi điện tử.

Theo thời gian, chúng em bắt đầu phân tích các trị chơi và đặt ra những câu
hỏi: họ đã làm điều đó như thế nào?, em có thể tự làm được khơng?. Dần
dần, em từng bước phát triển được những trò chơi đơn giản và phát hiện ra
rằng lập trình game rất thú vị. Và chúng em đã ấp ủ tạo ra được một trị chơi
hồn chỉnh và phát hành trên cửa hàng ứng dụng.
Do đó, mục tiêu chính của dự án này là thiết kế và phát triển hồn
tồn một trị chơi điện tử 2D thuộc thể loại bắn súng, mang tên Space
Shooter U2TD, đồng thời dành thời gian để học các nguyên tắc và công cụ
khác nhau cần thiết để phát triển trị chơi. Để có thể đạt được mục tiêu chính
này, chúng em đã chia dự án thành một tập hợp của các mục tiêu khác nhau
mà từ đó các nhiệm vụ cụ thể được tạo ra sau đó. Những chỉ tiêu này bao
gồm:
● Tìm hiểu tổng quan về kiến trúc của Unity và phương pháp xây dựng
các ứng dụng trong Unity.
● Luyện tập khả năng phân tích, thiết kế cấu trúc của một ứng dụng trò
chơi điện tử.
● Ứng dụng toán học và vật lý để xây dựng logic cho trị chơi.
● Đóng góp cho cộng động một trị chơi để giải trí sau những giờ học

tập, lao động căng thẳng.
1.4.

Phạm vi nghiên cứu

1.4.1. Phạm vi môi trường:
Ứng dụng trò chơi điện tử chạy trên Android.
1.4.2. Phạm vi chức năng:
● Cung cấp cho người chơi một trò chơi giải trí ngoại tuyến.
● Hệ thống giao diện thân thiện, dễ sử dụng.
● Hệ thống môi trường và đa dạng cấu trúc màn chơi.


● Hệ thống tương tác giúp người chơi di chuyển và điều khiển. thống tương tác giúp người chơi di chuyển và điều khiển.ng tương tác giúp người chơi di chuyển và điều khiển.ng tác giúp người chơi di chuyển và điều khiển.i chơng tác giúp người chơi di chuyển và điều khiển.i di chuyển và điều khiển.n và điều khiển.u khiển và điều khiển.n.
● Hệ thống tương tác giúp người chơi di chuyển và điều khiển. thống tương tác giúp người chơi di chuyển và điều khiển.ng kẻ địch và tương tác gây sát thương của kẻ địch. địch và tương tác gây sát thương của kẻ địch.ch và tương tác giúp người chơi di chuyển và điều khiển.ng tác gây sát thương tác giúp người chơi di chuyển và điều khiển.ng của kẻ địch.a kẻ địch và tương tác gây sát thương của kẻ địch. địch và tương tác gây sát thương của kẻ địch.ch.
● Hệ thống tương tác giúp người chơi di chuyển và điều khiển. thống tương tác giúp người chơi di chuyển và điều khiển.ng đồ họa pixel bắt mắt, hấp dẫn. họa pixel bắt mắt, hấp dẫn.a pixel bắt mắt, hấp dẫn.t mắt mắt, hấp dẫn.t, hấp dẫn.p dẫn.n.


Chương 2. CƠ SỞ LÝ THUYẾT
2.1.

Unity

Unity là game engine hoàn tồn miễn phí mạnh mẽ với lượng cơng cụ đa
dạng, đáp ứng gần như đầy đủ nhu cầu phát triển hoàn chỉnh một tựa game của các
studio indie. Unity hiện nay còn hỗ trợ triển khai lên đến 27 nền tảng khác nhau,
trong đó có cả nền tảng mục tiêu của nhóm là Android và iOS. Đặc biệt, những
cơng cụ xây dựng game 2D của Unity rất nổi trội khi so sánh với những engine khác
như Unreal. Ngoài ra, nguồn tài nguyên asset và plugin phong phú, bao gồm cả
miễn phí lẫn có phí, giúp nới rộng giới hạn sáng tạo.


Hình 2.1 Unity game engine


Hình 2.2 Giao diện unity
Unity [21] là một cơng cụ trò chơi (khung) được sử dụng để phát triển trò
chơi đa nền tảng, được tạo bởi Unity Technologies. Nó cung cấp một bộ công cụ
tiên tiến và API để giúp phát triển trò chơi dễ dàng hơn cho các nhà phát triển. Các
ngơn ngữ chính được sử dụng trong đó là C# và JavaScript. Các thành phần Unity
được sử dụng trong dự án này được trình bày chi tiết như sau:
GameObject: Nó là một lớp cơ sở cho tất cả các đối tượng Unity có trong trị
chơi.
Component: Component là những thành phần có chức năng riêng biệt, được
gán vào một hoặc nhiều Game Object . Component bổ sung, cấu thành chức năng
cho Game Object. Từ đó, giúp chúng ta xây dựng lên những Game Object theo từng
yêu cầu của game. Mỗi script kế thừa từ lớp MonoBehaviour đều được coi là một
component
Resources: lớp này cho phép bạn tìm và truy cập Đối tượng bao gồm cả
assets. Trong trình chỉnh sửa, có thể sử dụng Resources.FindObjectsOfTypeAll để
định vị nội dung và đối tượng Cảnh. Có thể truy cập tất cả nội dung trong thư mục
có tên "Resources" ở bất kỳ đâu trong thư mục Assets thông qua các hàm


Resources.Load. Nhiều thư mục "Resources" có thể tồn tại và khi tải các đối tượng,
mỗi đối tượng sẽ được kiểm tra.
Prefab: Nó cho phép người dùng lưu trữ GameObject với tất cả các thành
phần kèm theo và thuộc tính của nó, đồng thời nó hoạt động giống như một khn
mẫu mà từ đó các đối tượng mới có thể được tạo ra với các thuộc tính có sẵn và
được đặt vào cảnh trị chơi.
Scene: Nó chứa các đối tượng của trị chơi, ví dụ mỗi cấp độ trong trị chơi là

một Scene.
Camera: Nó được sử dụng để hiển thị nội dung của cảnh và có hai loại các
phép chiếu (xem Hình 2.3): orthographic and perspective. Trong phép chiếu
orthographic, các đối tượng khơng cần phải có chiều sâu và chúng có vẻ bằng
phẳng. phép chiếu này là được sử dụng nhiều nhất trong các trị chơi 2D. Về phép
chiếu perspective, nó cho thấy thế giới theo giống cách mà chúng ta nhìn thấy.
Trong trường hợp này, các đối tượng có độ sâu cho chúng ta khả năng phân biệt
chúng một cách dễ dàng và chính xác đánh giá khoảng cách từ người quan sát đến
đối tượng. Loại hình chiếu này là phổ biến nhất thường được sử dụng trong các trò
chơi 3D. Ví dụ, cho hai đối tượng giống nhau kích thước nhưng ở các khoảng cách
khác nhau từ người quan sát, trong phép chiếu perspective đối tượng gần nhất có vẻ
lớn hơn đối tượng khác, trong khi ở dạng orthographic hình chiếu chúng dường như
có cùng kích thước bất kể khoảng cách.


Hình 2.3 Sự khác biệt giữa phép chiếu perspective và phép chiếu orthographic

Transform: Nó xác định vị trí, góc quay và tỷ lệ của từng đối tượng trong
Scene. Lưu ý rằng mọi GameObject đều có thành phần Transform.
RigidBody và RigidBody2D: Nó được gắn vào GameObject và đặt nó dưới
sự kiểm sốt của cơng cụ vật lý Unity, làm cho đối tượng có thể bị ảnh hưởng bởi
trọng lực và được điều khiển bằng các lực khác nhau như trọng lực chẳng hạn. Nó
cũng được sử dụng bởi các lớp Collider và Collider2D để phát hiện va chạm giữa
các đối tượng khác nhau.
Collider và Collider2D: Chúng được sử dụng để phát hiện va chạm giữa các
GameObject, có thành phần RigidBody hoặc Rigidbody2D được đính kèm đối với
nó. Lưu ý rằng một GameObject có thể có nhiều máy va chạm được gắn vào nó cho
các chức năng nâng cao.
Script: Nó là một thành phần được sử dụng để kiểm sốt logic trị chơi bằng
mã. Script trong Unity có thể được viết bằng ngơn ngữ lập trình C# hoặc JavaScript.

Texture: Đó là một hình ảnh bitmap, có thể ở các định dạng khác nhau,
chẳng hạn như PNG, BMP hoặc JPG.


Sprite: Là đối tượng đồ họa 2D tương đương với mơ hình 3D trong mơi
trường 3D, nhưng đơn giản hơn vì Sprite chỉ là một Texture. Một Sprite duy nhất
cũng có thể chứa các phần khác nhau của cùng một đối tượng có thể được lắp ráp
trong Scene Unity và được sử dụng để làm các hoạt ảnh động cho nó.
SpriteRenderer: Mỗi Sprite cần một đối tượng SpriteRenderer để có thể kết
xuất nó trong một Scene. SpriteRenderer cũng cung cấp một API đặc biệt để kiểm
soát Sprite, cho phép thay đổi màu sắc của nó và chia nó thành nhiều phần.
Canvas: Nó là một đối tượng đại diện cho khu vực trong đó tất cả các phần
tử giao diện người dùng được đặt trong nó, chẳng hạn như menu trị chơi hoặc
thơng tin liên quan cho người chơi.
LineRenderer: Nó được sử dụng để tạo và vẽ một đường nối giữa hai hoặc
nhiều điểm trong không gian 2D hoặc 3D.
Tag and Name: Để xác định GameObject trong tập lệnh, mỗi đối tượng có
một Tag and Name.
PlayerPrefs: Đây là một lớp tĩnh vừa lưu trữ vừa truy cập các tùy chọn của
người chơi và dữ liệu giữa các phiên trò chơi. Giá trị của chúng có thể được lưu vào
một trong ba loại: int, float và string. Trong mã, chúng được truy xuất bằng cách sử
dụng dictionaries.


2.2.

Aseprite

Hình 2.4 Logo Aseprite
Aseprite là một phần mềm đồ họa chuyên nghiệp được sử dụng để tạo và

chỉnh sửa đồ họa Pixel Art. Được phát triển bởi David Capello, Aseprite cung cấp
một loạt các cơng cụ và tính năng được thiết kế đặc biệt để làm việc với hình ảnh
pixel.
Với Aseprite, bạn có thể tạo ra các hình ảnh pixel độc đáo và tạo ra hiệu ứng
chuyển động cho game, hoạt hình và nhiều dự án sáng tạo khác. Giao diện sử dụng
đơn giản và trực quan của phần mềm này giúp bạn dễ dàng điều khiển các công cụ
và tạo ra nội dung pixel tuyệt đẹp.
Một số tính năng chính của Aseprite bao gồm:
● Cơng cụ vẽ: Bạn có thể vẽ, tơ màu và chỉnh sửa các hình ảnh pixel
theo ý muốn.
● Công cụ animation: Aseprite hỗ trợ tạo và chỉnh sửa các khung hình
để tạo hiệu ứng chuyển động mượt mà.
● Lớp và mask: Bạn có thể sử dụng các lớp và mask để tạo ra các hiệu
ứng phức tạp và dễ dàng chỉnh sửa các thành phần riêng lẻ của hình
ảnh.


● Palette và dithering: Aseprite cung cấp các công cụ để làm việc với
bảng màu và áp dụng kỹ thuật dithering để tạo ra hiệu ứng gradient và
sắc nét.
● Export và import: Bạn có thể xuất và nhập các hình ảnh và animation
vào nhiều định dạng file khác nhau, bao gồm GIF, PNG, và các định
dạng hỗ trợ cho game và ứng dụng di động.
● Aseprite đã trở thành công cụ phổ biến trong cộng đồng Pixel Art và
game phát triển viên. Nó cung cấp một nền tảng mạnh mẽ và linh hoạt
để tạo ra nội dung pixel đẹp mắt và chuyển động sống động.
2.3.

C#


Hình 2.5 Hình 2.5. C# Logo
C# (hay C sharp) là một ngơn ngữ lập trình đơn giản, được phát triển bởi đội
ngũ kỹ sư của Microsoft vào năm 2000. C# là ngơn ngữ lập trình hiện đại, hướng
đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và
Java.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được
biên dịch trực tiếp thành mã thực thi của hệ điều hành.
Trong các ứng dụng sử dụng .NET Framework, mã nguồn chương trình (C#,
VB.NET) được biên dịch thành mã ngơn ngữ trung gian MSIL (Microsoft



×