Lưu trữ thông tin game trong Unity với PlayerPrefs

add-database-xxl[1]

PlayerPrefs là một lớp tĩnh (static class) được Unity hỗ trợ để lập trình viên có thể lưu trữ và truy xuất thông tin ở những lần chơi khác nhau ở dạng key/value.

//Lưu trữ thông tin

PlayerPrefs.SetString(“username”, “STGame Guys”);
PlayerPrefs.Save();

//Truy xuất thông tin
string value = PlayerPrefs.GetString(“username”);

PlayerPrefs hỗ trợ các phương thức sau:

DeleteAll //Xóa tất cả các dữ liệu tương ứng với game của bạn.
DeleteKey //Xóa key và dữ liệu liên quan
GetFloat //Trả về giá trị float tương ứng nếu nó tồn tại.
GetInt //Trả về giá trị int tương ứng nếu nó tồn tại.
GetString //Trả về giá trị string tương ứng nếu nó tồn tại.
HasKey //Trả về true nếu key có tồn tại .
Save //Lưu trữ tất cả dữ liệu được chỉnh sữa xuống đĩa.
SetFloat //Lưu giá trị float theo key vào bố nhớ chính.
SetInt //Lưu giá trị int theo key vào bố nhớ chính.
SetString //Lưu giá trị string theo key vào bố nhớ chính.

Lưu ý: Mỗi khi thực hiện các hàm set thì dữ liệu chỉ thực sự được lưu xuống đĩa khi chúng ta gọi hàm Save().

Source: Unityviet

Bài 12: Sprite Collection và Sprite Animation trong Unity 2D Toolkit

Nếu bạn đã có trong tay bộ công cụ 2D Toolkit thì ta sẵn sàng cho bài hôm nay nhé.

Bài hôm nay mình sẽ giới thiệu với các bạn về Sprite và Animation trong 2D Toolkit, mục tiêu của bài hôm nay là giúp các bạn có thể thao tác với 2 cái trên.

Bước 1: tải source.

Bước 2: Tạo camera, thì ở đây 2D toolkit đã cũng cấp sẵn cho chúng ta công cụ là tk2dCamera, để tạo các bạn làm như bước sau.

Snap1

Sau khi tạo xong bạn hãy kéo source vào trong project của bạn nhé.

ok xong bước 2.

Bước 3: Ta tạo một folder đặt tên là FishCollection sau khi tạo xong các bạn tạo một Sprite Collection và đặt tên là Fish nhé, làm như hình dưới.

Snap2

Sau khi xong thì bạn làm tiếp như hình dưới, chọn Open editor…

Snap3

Ở đây bạn hãy kéo toàn bộ Source ảnh mà ban đầu mình đã cung cấp cho bạn vào của sổ SpriteCollection.

Snap4

Với những con cá màu xanh bạn hãy chọn nó và bên tab setting phần Collider type chọn Box Trimmed.

Snap5

Tương tụ với những con cá hình xương phần Collider type chọn Force None nhé.

Bước 4: Xong phần Sprite, sau đây ta sẽ tạo Animations.

Như với các bài trước việc tạo Animation khá phức tạp và bạn buộc phải thao tác bằng nhiều dòng lệnh khác nhau để xử lý va chạm hay bất cứ việc gì… Nhưng với 2D toolkit bạn có thể rút ngắn được rất nhiều thời gian.

Để tạo Animation bạn toạ 1 folder đặt tên là Animations , tạo Animation tương tự như tạo Sprite, làm như hình dưới.

Snap6

Chọn Animation vừa tạo rồi nhấn vào Open Editor nhé.

Chọn Create->Clip đặt tên là FishSwimming.

Tuỳ chỉnh các thông số như hình dưới

Snap7

Để tạo animation cho từng đối tượng bạn chỉ cần chọn Sprite mà bạn đã tạo ở các bước trước rồi chiến thôi, các bước trước mình đặt Sprite collection là Fish vì vậy chỗ Collection mình chọn là Fish. chọn đúng nhé.

(Lưu ý: chọn đúng Fish, có 2 loại các là cá màu xanh và cá xương, để tránh bị nhầm lẫn nhấn vào Sprite để chọn nhé)

Làm tương tự với những con cá xương, ở trên mình đặt tên nó là FriedFish.

Bước 5: Sau khi tạo xong Animation ta tiến hành tạo các đối tượng cho nó hiển thị trên màn hình chính.

Các bạn tạo 2 Sprite là con cá và một cái hình mình đặt nó là Thức ăn.

Snap8

Ok bây giờ ta tiến hành add Animator script cho con cá, bạn chọn chon cá rồi chọn Add component->2D Toolkit->Sprite->tk2dSpriteAnimator.cs

Snap9

Tiếp theo ta add thêm Rigidbody vào cho con cá vào thức ăn ( Add component->Phisics)

Snap10

tương tự như các Sprite thức ăn nhé.

Bước 6: Add tag cho thức ăn, mình đặt tên nó là “Cham” cái này để xử lý khi có va chạm

Snap12

 

Bước 7: Chọn Sprite con cá và add Script mới đặt tên là Fish.cs

 

 

Snap11

Mở tool lên để code thôi, gõ đoạn code sau vào rồi chạy chương trình nhé.

Snap13Snap14

 

Ok vậy là ta đã xong, ở bài này bạn sẽ hiểu làm như thế nào để tạo một Sprite Collection, Sprite Animation và làm sao để gọi Animation và xử lý khi có va chạm.

 

 

 

Giới thiệu bộ công cụ 2D Toolkit dành cho dân Unity3D

Chào các bạn! do mấy tháng vừa rồi mình bận vì nhiều việc phải giải quyết thì tháng này mình đã quay trở lại với Unity3D và sẽ tiếp tục viết các bài hướng dẫn đều đặn cho các bạn quan tâm :).

Hôm nay mình xin giới thiệu với các bạn bộ công cụ rất rất tuyệt vời mà mình mới bỏ tiền ra mua nó, thực sự cái gì bỏ tiền ra thì mới cảm nhận được hết những lợi ích của nó mang lại :D, nói hơi quá ^^!

2D Toolkit là một tập hợp các công cụ để phát triển game 2D, nó được tích hợp sẵn các collider và hệ thống các văn bản tương thích với Unity. như với các bài trước mình có làm thì việc căn chỉnh các GuiText, tạo hiệu ứng, tạo Camera để tương thích với từng thiết bị hay tạo Animation khá phức tạp, nhưng với công cụ này nó đã hỗ trợ cho bạn khoảng 80% năng lượng và thời gian :D. Bạn có thể xem một số hình ảnh và video demo ở dưới để thấy rõ lợi ích mà nó mang lại.

Collider demo
[​IMG]

Sprite workflow Part 1

Sprite workflow Part 2

-Vậy là bạn đã biết được một chút ít về bộ công cụ 2D Toolkit, để hiểu rõ và lắm bắt được toàn bộ chức năng của nó bạn bắt buộc phải mua bản Full thôi, mình cũng như các bạn trước đó mình cũng đắn đo lắm mới quyết định mua tuy giá của nó không rẻ cho lắm, hiện tại giá của bộ công cụ này là 75$ bạn có thể xem tại đây.

Nếu bạn nào không đủ 75$ để mua chính chủ thì có thể liên hệ mình, mình sẽ để rẻ cho các bạn với giá 10$, việc mua theo hình thức này sẽ giúp các bạn giảm thiểu được chi phí tốn kém nhưng bạn sẽ không được support từ nhà phát triển của bộ công cụ này, vì vậy hãy cân nhắc trước khi lựa chọn :).

liên hệ qua mail cho mình nhé!

email: tuananhict365@gmail.com

-Chúc các bạn thành công!

Bài 11: Phát triển Tools trong Unity3d

Hôm nay tôi sẽ hướng dẫn các bạn phát triển Tool trong Unity3d, như các bạn tìm hiểu thì trên trang chủ Unity3d có khá nhiều các tool hỗ trợ khác nhau được giao bán với những mức giá khác nhau, vậy họ làm như nào và quy trình ra sao, ngoài những tiện ích của nó các bạn cũng có thể tạo cho mình một số tool giúp ích cho mình sau này, giúp bạn có thể làm việc nhanh hơn và hiệu quả hơn. Không nói nhiều bắt đầu.

-Để tạo một Menuitem và tạo các Folder thì làm như hình dưới

Snap1

Sau khi tạo xong thì bạn quay lại Unity và xem trên Menubar đã có item là Project Tools/Make Folders

Snap2

Sau khi nhấn vào Make folders thì ở project của bạn nó sẽ tự động tạo cho bạn các folder đã chỉ định sẵn

Snap3

-Tương tự với việc tạo Prefab, tham khảo đoạn code dưới

Snap4

 

Nhanh đúng không nào, bây giờ chỉ cần 1 click là bạn đã bớt đi rất nhiều thời giản và giúp công việc trở lên hiệu quả hơn rất nhiều.

Bài tập thực hành làm game với Unity3d

Sau những bài học hôm trước thì hôm nay tôi sẽ có một bài tập nho nhỏ dành cho các bạn.

-Yêu cầu như hình dưới.

Snap2

Snap3

Snap4

Snap5

-Chúng ta sẽ có 4 màn hình như trên, yêu cầu:

+Khi nhấn vào Start game thì bắt đầu chơi game, nhấn vào Exit game thì thoát

+Khi người dùng chơi, nhấn vào các biểu tượng hình tròn và vuông thì sẽ tiêu diệt đối tượng này và phát ra hiệu ứng đẹp, đồng thời cộng điểm cho mỗi lần tiêu diệt.

+Thời gian chơi là 20s

+điểm để win là 5, dưới 5 thì thua cuộc

-Đây là bài tập bắt buộc các bạn phải tự giải quyết, tôi sẽ không trả lời bất cứ bạn nào và cũng không cung cấp source cho bất kỳ ai, nếu bạn làm bài tập này xong có thể gửi Source cho tôi tôi có thể kiểm tra và nhận xét giúp bạn.

Email: tuananhict365@gmail.com

 

Bài 10: Cơ bản về Events Animation trong Unity3D

Các bài đầu tôi đã thực hành cho các bạn một số bài về Animation của một đối tượng, để đi xâu hơn hôm nay tôi sẽ giới thiệu thêm phần Events animation.

yêu cầu: là tạo 1 đối tượng di chuyển, mỗi lần di chuyển khi quay trở lại thì phát ra một âm thanh.

Bài này thì cần chuẩn bị 1 Cube thôi

Snap1

Tiếp đên chúng ta chọn Cube và nhấn vào tab Animation(Nếu không hiện bạn chọn Windows->Animation)

Đầu tiên là bạn cần phải tạo 1 Clip, chọn Add Curve và save với tên là Slide

Snap2

tiếp đến ta cần di chuyển cái Cube sang ngang, vậy thì ra add Position transform thôi

Snap3

Phần còn lại là bạn tạo Animation cho Cube thôi, bạn tự tạo tôi sẽ không hướng dẫn phần này.

Sau khi tạo xong thì tôi có được như sau

Snap4

Tiếp theo là ta sẽ code, các bạn code như dưới

Snap5

Sau khi code xong thì ném nó vào Cube nhé, đừng quên ném cả file audio vào nhé

Quay trở lại Animation của Cube, bây giờ ta cần add Events cho nó, yêu cầu của đề bài là khi quay trở lại thì nó sẽ phát ra âm thanh, vậy nên ta cần add cái Play() vào thời gian đầu, làm như hình dưới

Snap6

Snap7

Ok, sau khi add xong thì ta có thể nhấn Play để xem kết quả

Bài 9: Tìm hiểu về GUI Texture & Mouse Events

Để thực hành bài này chúng ta cần chuẩn bị 2 hình ảnh như dưới

1

2Sau khi tải về thì bạn ném nó vào Unity là xong, tiếp theo là chúng ta cần thực hiện tạo 1 Gui Texture đặt tên là Play

Snap1Ok tiếp theo là ta code

Snap2

sau khi code xong thì bạn chỉ cần kéo đoạn code vào Play và kéo tiếp 2 hình ảnh ban đầu vào ô trong Scripts là xong.

Snap3

Nhấn Play để xem kết quả.

 

Bài 8: Tạo hiệu ứng khi va chạm trong Unity3D

Hiệu ứng là một phần không thể thiếu trong các game, hôm nay tôi sẽ hướng dẫn các bạn thêm một hiệu ứng trong Unity3D

Tiếp với bài 7 tôi sẽ thêm một yêu cầu là khi Cube1 va chạm Cube2 thì sẽ có thêm hiệu ứng phát ra khi va chạm

Bạn cần chuẩn bị một hình ảnh, ở đây tôi lấy 1 ngôi sao

star

Bây giờ bạn hãy thêm một Particle System vào, xem như hình dưới

Snap1Tiếp theo thêm các hiệu ứng

Snap2

Tiếp đến bạn tạo thêm 1 Material sau đó add Star vào

Snap4

Snap5

Sau đó add thêm 1 Prefab rồi kéo Particle System  vào Prefab, sau khi kéo Particle System vào rồi thì bạn hãy xóa nó đi hoặc Uncheck nó đi.

Snap3

Tiếp đến là ta sẽ sử dụng Material vào trong Prefab Particle System, xem như hình dưới

Snap6Công đoạn tiếp theo là code, ta code một đoạn nho nhỏ

Snap8

Bây giờ quay lại Unity chọn Cube1, phần Scripts bạn kéo Prefab vào mục Stars là xong

Snap9

Bây giờ nhấn Play để thưởng thức nào, hãy thử check và uncheck phần Autodestruct xem có biểu hiện như nào nhé 🙂

Snap10

 

 

Bài 7: Loại bỏ một đối tượng trong Unity3D

Tiếp tục tôi sẽ hướng dẫn các bạn loại bỏ một đối tượng khỏi màn hình, cái này bạn sẽ có thể áp dụng vào game sau này tùy trường hợp.

Cần chuẩn bị 2 Cube, 1 Plane

Snap1

Việc của chúng ta phải làm là làm sao sau khi Cube1 va chạm với Cube2 thì Cube2 sẽ biến mất, các bạn chỉ cần 1 đoạn code nho nhỏ như dưới, để Remove 1 đối tượng bạn sử dụng hàm Destroy();

Snap2

Code xong thì bạn kéo file code vào đối tượng Cube1 và nhấn Play, giờ coi kết quả xem thế nào nhé 🙂

Bài 6: Thao tác với Audio trong Unity3D

Tiếp tục loạt bài về lập trình game với Unity3D, hôm nay mình sẽ hướng dẫn tiếp các bạn việc chơi Audio trong Unity3D

Ta vẫn lấy các Project trước để làm tiếp bài này, chuẩn bị hình như dưới

Snap1

Bây giờ ý định của tôi là khi Cube va chạm với Plane thì sẽ phát ra âm thanh, vậy chúng ta cần làm gì?

-Việc đầu tiên là bạn chọn Cube sau đó chọn Component->Audio->Audio Source.

-Tiếp theo ta viết code, bạn tạo 1 scripts C# đặt tên là PlaySourd và code như hình dưới

Snap3

Vậy là đã xong, ta kéo đoạn code này vào Cube và chọn Sound cho nó là xong

Snap4

Bây giờ bạn nhấn vào Play được rồi, thưởng thức những gì đã làm nào 🙂