Để phù hợp với đặc điểm tâm lý trẻ thì việc sử dụng những ứng dụng tròchơi trên điện thoại di động hoặc máy tính đang đƣợc các bậc phụ huynh và giáo viênhết sức quan tâm. Việc thiết kế và xây dựng đƣợc những trò chơi trí tuệ (thuộc về toánhọc) trên các thiết bị di động là hết sức cần thiết. Qua đó, nâng cao chất lƣợng học tậpvà tiếp thu kiến thức mà không khiến trẻ cảm thấy nhàm chán với tính chất khó và khôkhan của toán vừa mang tính giải trí qua những ứng dụng có đồ họa đẹp, bắt mắt.Chính vì vậy, tôi đã lựa chọn vấn đề: “Thiết kế và xây dựng phần mềm tròchơi trên điện thoại di động Android nhằm hình thành biểu tượng toán cho trẻ mầmnon” để thực hiện đề tài nghiên cứu khoa học của mình
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM
BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC SINH VIÊN
NĂM HỌC: 2016- 2017
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM TRÒ CHƠI TRÊN ĐIỆN THOẠI DI ĐỘNG ANDROID NHẰM HÌNH THÀNH BIỂU TƯỢNG TOÁN CHO TRẺ MẦM NON
Sinh viên thực hiện: NGUYỄN THỊ THANH HUYỀN Người hướng dẫn: TH.S NGUYỄN THỊ THU HIỀN
Thái Nguyên, tháng 3 năm 2017
Trang 2ĐẠI HỌC THÁI NGUYÊN
Xác nhận của người hướng dẫn
Trang 3MỤC LỤC
Trang bìa phụ i
MỤC LỤC ii
DANH MỤC HÌNH VẼ v
LỜI NÓI ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 1
4 Phương pháp nghiên cứu 2
5 Cấu trúc đề tài 2
CHƯƠNG 1.TỔNG QUAN VỀ ENGINE UNITY 3
1.1 Unity là gì? 3
1.2 Sơ lược lịch sử hình thành và phát triển của unity 4
1.2.1 Lịch sử hình thành 4
1.2.2 Giải thưởng 5
1.2.3 Khách hàng 5
1.3 Tính năng của engine unity 5
1.4 Các khái niệm cơ bản trong unity 6
1.4.1 Asset 6
1.4.2 Scene 7
1.4.3 Game Object 7
1.4.4 Components 8
1.4.5 Scripts 8
1.4.6 Prefab 10
1.5 Giao diện của unity 10
1.5.1 Cửa sổ Scene và Hierarchy 11
1.5.2 Inspector 12
1.5.3 Cửa sổ Game 12
1.5.4 Cửa sổ Project 12
1.6 Tổng quan kiến trúc engine unity trên android 13
1.6.1 Kiến trúc tổng quan 13
1.6.2 Chu kỳ sống của thành phần script gắn trên đối tượng game 14
Trang 41.7 Build game từ unity sang android 15
CHƯƠNG 2.MỘT SỐ VẤN ĐỀ TRONG CHƯƠNG TRÌNH TOÁN MẦM NON 20
2.1 Chương trình giáo dục mầm non 20
2.2 Hình thành biểu tượng về số lượng, con số và phép đếm cho trẻ mầm non 22
2.2.1 Lứa tuổi 3-4 tuổi 22
2.2.2 Lứa tuổi 4-5 tuổi 23
2.2.3 Lứa tuổi 5-6 tuổi 24
2.3 Hình thành biểu tượng kích thước cho trẻ mầm non 25
2.3.1 Lứa tuổi 3-4 tuổi 25
2.3.2 Lứa tuổi 4-5 tuổi 26
2.3.3 Lứa tuổi 5-6 tuổi 27
2.4 Hình thành biểu tượng hình dạng cho trẻ mầm non 27
2.4.1 Lứa tuổi 3-4 tuổi 27
2.4.2 Lứa tuổi 4-5 tuổi 28
2.4.3 Lứa tuổi 5-6 tuổi 29
2.5 Vai trò, nhiệm vụ và những định hướng của việc hình thành biểu tượng toán học cho trẻ mầm non 30
2.5.1 Vai trò 30
2.5.2 Nhiệm vụ 31
2.5.3 Quan điểm định hướng cho việc đổi mới phương pháp hình thành biểu tượng toán cho trẻ mầm non 32
CHƯƠNG 3.XÂY DỰNG GAME TRÊN ĐIỆN THOẠI ANDROID NHẰM HÌNH THÀNH BIỂU TƯỢNG TOÁN HỌC CHO TRẺ MẦM NON 33
3.1 Nguyên tắc xây dựng game trên điện thoại di động android nhằm hình thành biểu tượng toán cho trẻ mầm non 33
3.1.1 Đảm bảo tính mục đích 33
3.1.2 Đảm bảo tính hấp dẫn 33
3.1.3 Đảm bảo tính vừa sức 33
3.2 Các bước xây dựng game trên điện thoại di động android nhằm hình thành biểu tượng toán học cho trẻ mầm non 34
3.2.1 Lựa chọn nội dung hình thành biểu tượng toán học phù hợp với trẻ mầm non 34
3.2.2 Chuẩn bị tư liệu 34
3.2.3 Tiến hành thiết kế 35
Trang 53.2.4 Build game ra Android 42 KẾT LUẬN 45 TÀI LIỆU THAM KHẢO 46
Trang 6DANH MỤC HÌNH VẼ
Hình 1.1: Hình minh họa đa nền 3
Hình 1.2: Asset trong Unity 6
Hình 1.3: Các Scenes của Unity 7
Hình 1.4: Game Object trong Unity 7
Hình 1.5: Các Component trong Game Object 8
Hình 1.6: Cách tạo một script mới 9
Hình 1.7: Lập trình trên Unity bằng C# trên Visual Studio 9
Hình 1.8: Một script đã đƣợc gắn vào một đối tƣợng 9
Hình 1.9: Prefab trong Unity 10
Hình 1.10: Giao diện Editor của Unity 11
Hình 1.11: Đối tƣợng trong Hierarchy 11
Hình 1.12: Cửa sổ Inspector 12
Hình 1.13: Tổng quan kiến trúc Unity 13
Hình 1.14: Chu kỳ sống của thành phần script 15
Hình 1.15: Unity Preferences 16
Hình 1.16: Platform trong unity 16
Hình 1.17: Các thuộc tính trong PlayerSettings 17
Hình 1.18: Resolution and presentation 17
Hình 1.19: Build game trong Unity 18
Hình 3.1: Main Menu 35
Hình 3.2: Tạo Animation trong Unity 35
Hình 3.3: Giới thiệu game 36
Hình 3.4: Trợ giúp trong game 36
Hình 3.5: Các lựa chọn trong game bài học 37
Hình 3.6: Game Đếm số 37
Hình 3.7: Gắn Audio vào trong game 38
Hình 3.8: Kéo Button vào Canvas 38
Hình 3.9: Sự kiện On Click 39
Hình 3.10: Game ghép cặp 42
Hình 3.11: Build game từ Unity ra Android 43
Hình 3.12: Xuất game ra file để cài đặt 43
Trang 7LỜI NÓI ĐẦU
1 Lý do chọn đề tài
Trong thời đại bùng nổ Internet cùng với sự phát triển vượt trội của công nghệ thông tin, việc vận dụng những ứng dụng công nghệ thông tin vào đời sống hàng ngày trở nên rất phổ biến, nhất là trong nghành giáo dục, từ cấp giáo dục mầm non đến cấp THPT hay Đại học, Cao đẳng
Đối với chương trình giáo dục mầm non, việc dạy trẻ hình thành biểu tượng toán học là một nhiệm vụ quan trọng, nó có thể được thực hiện bằng nhiều hình thức khác nhau Để phù hợp với đặc điểm tâm lý trẻ thì việc sử dụng những ứng dụng trò chơi trên điện thoại di động hoặc máy tính đang được các bậc phụ huynh và giáo viên hết sức quan tâm Việc thiết kế và xây dựng được những trò chơi trí tuệ (thuộc về toán học) trên các thiết bị di động là hết sức cần thiết Qua đó, nâng cao chất lượng học tập
và tiếp thu kiến thức mà không khiến trẻ cảm thấy nhàm chán với tính chất khó và khô khan của toán vừa mang tính giải trí qua những ứng dụng có đồ họa đẹp, bắt mắt
Chính vì vậy, tôi đã lựa chọn vấn đề: “Thiết kế và xây dựng phần mềm trò chơi trên điện thoại di động Android nhằm hình thành biểu tượng toán cho trẻ mầm non” để thực hiện đề tài nghiên cứu khoa học của mình
2 Mục tiêu nghiên cứu
Thiết kế được phần mềm trò chơi trên điện thoại di động Android nhằm hình thành biểu tượng toán học cho trẻ mầm non
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
- Phần mềm Unity
- Chương trình toán mầm non
Phạm vi nghiên cứu
- Tìm hiểu, nghiên cứu lý thuyết về nền tảng game Unity
- Hiểu được nhiệm vụ, nội dung của giáo dục mầm non, cụ thể là chương trình toán cho trẻ mầm non
- Thiết kế và xây dựng phần mềm trò chơi trên điện thoại di động Android
Trang 84 Phương pháp nghiên cứu
- Quan sát – điều tra: Điều tra thực trạng việc sử dụng trò chơi trên điện thoại
di động ứng dụng cho việc học của trẻ mầm non
- Thu thập, nghiên cứu, phân tích tài liệu: Nghiên cứu về nền tảng game Unity; nghiên cứu đặc thù và chương trình chuẩn của toán ở bậc học mầm non; nghiên cứu sách học toán cho trẻ mầm non,
- Tham khảo ý kiến chuyên gia: Tiếp thu ý kiến đóng góp của các thầy cô, những người có kinh nghiệm trong lĩnh vực tin học và ý kiến của bạn bè
5 Cấu trúc đề tài
Lời nói đầu: Nêu ra lý do chọn đề tài, phương pháp, nội dung tìm hiểu và mục
đích nghiên cứu, cấu trúc đề tài
Chương 1: Tổng quan về Engine Unity: Giới thiệu lịch sử của game Unity,
trình một số khái niệm cơ sở, các tính năng cơ bản, kiến trúc engine Unity trên Android và cách build game Unity sang Android
Chương 2: Một số vấn đề trong chương trình toán mầm non: Tìm hiểu về
nội dung, chương trình giáo dục mầm non nói chung và chương trình toán học cho trẻ mầm non nói riêng
Chương 3: Xây dựng game trên điện thoại di động Android nhằm hình thành biểu tượng toán cho trẻ mầm non
Kết luận: Nêu lên những vấn đề đã tìm hiểu, một số công việc chính đã thực hiện được và hướng phát triển tiếp theo của đề tài trong tương lai
Tài liệu tham khảo
Trong khuôn khổ thời gian cho phép để làm một đề tài nghiên cứu khoa học và với vốn kiến thức còn rất nhiều hạn chế, đề tài của em không thể tránh khỏi những thiếu sót Em rất mong nhận được sự đóng góp và chỉ bảo của quý thầy cô và các bạn
Em xin chân thành cảm ơn các thầy cô giáo trong Khoa đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa qua Đặc biệt em xin cảm ơn cô giáo ThS Nguyễn Thị Thu Hiền đã tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đề tài
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Thị Thanh Huyền
Trang 9Unity là một trong những engine đƣợc giới làm game không chuyên cực kì ƣa chuộng bởi khả năng tuyệt vời của nó là phát triển trò chơi đa nền Trình biên tập có thể chạy trên Windows và Mac OS, và có thể xuất ra game cho Windows, Mac, Wii, iOS, Android Game cũng có thể chơi trên trình duyệt web thông qua plugin Unity Web Player Unity mới bổ sung khả năng xuất ra game trên widget cho Mac, và cả Xbox 360, PlayStation 3
nh 1.1: Hình minh họa đa nền
Unity là một engine đƣợc thiết kế để hỗ trợ phát triển game 3D nhƣng hoàn toàn có thể phát triển game 2D trên engine này Việc xây dựng game 2D đƣợc thực hiện bằng cách xây dựng các đối tƣợng 2D trên nền 3D với camera đƣợc cố định ở trục Z
Chỉ với khoản tiền bỏ ra khá khiêm tốn (1.500 USD) là phiên bản pro đã nằm trong tay của chúng ta, dĩ nhiên tại Việt Nam số tiền này vẫn là quá lớn nhƣng thật may là đã có phiên bản Unity Free Tuy nhiên, nhiều tính năng quan trọng (Network)
Trang 10bị cắt giảm nhưng đó không phải là vấn đề quá lớn nếu muốn phát triển một tựa game tầm trung
Vào năm 2009, Unity nằm trong top 5 game engine tốt nhất cho việc sản xuất game với chỉ sau 4 năm phát triển Unity đứng thứ 4, xếp sau Unreal Engine 3, Gamebryo Engine (được VTC Studio mua về phát triển SQUAD) và Cry Engine2 Lượng tài liệu hướng dẫn Unity rất phong phú Hơn thế nữa nó còn có sẵn một cộng đồng cực lớn với diễn đàn riêng Bất cứ điều gì không hiểu chúng ta đều có thể thoải mái hỏi và nhận được câu trả lời nhanh chóng
Quá trình tạo địa hình cũng như truy xuất từ các phần mềm 3DSMax, Maya, Cinema4D… rất nhanh chóng Sức mạnh và sự tiện lợi của Unity là vô cùng to lớn
Sức mạnh: Unity có thể tạo ra được nhiều loại game 3D đa dạng, dễ sử dụng với người làm game chuyên nghiệp, chất lượng cao, chạy hầu hết trên các hệ điều hành
Sự tiện lợi: Nếu chúng ta là một người chuyên dùng 3Dmax, hay Maya hoặc phần mềm mã nguồn mở Blender thì quả là thật tuyệt, chúng ta sẽ có một lợi thế lớn khi viết game trên Unity này, bởi công việc tạo các mô hình 3D sẽ trở nên dễ dàng hơn rất nhiều, việc kết hợp giữa người lập trình và người thiết kế các mô hình sẽ nhanh và hiệu quả hơn Trong Unity chúng ta có thể import trực tiếp các file mô hình đang thiết
kế và sẽ thiết kế hoàn thiện nếu chưa xong trong khi đó công việc import chỉ diễn ra một lần Không như việc phải dùng các công cụ khác để thực hiện viết game chúng ta
sẽ phải xuất chúng ra một dạng nào đó và mỗi lần sửa lại phần mô hình chúng ta lại phải import lại, và như thế là quá mất thời gian trong việc tạo và chỉnh sửa các mô hình theo ý muốn Ngoài ra Unity còn cho chúng ta trực tiếp tạo các mô hình nếu muốn Việc đặt các thuộc tính vật lý trong Unity cũng cực kì dễ dàng và hỗ trợ sẵn nhiều chức năng [6]
1.2 SƠ LƯỢC LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA UNITY
1.2.1 Lịch sử hình thành
Phần lõi của Unity ban đầu được viết bởi Joachim Ante vào năm 2001 Sau đó công ty được hình thành vào năm 2005 và bắt đầu với phiên bản 1.0 Đến năm 2007, Unity được nâng lên phiên bản 2.0 Unity bắt đầu hỗ trợ iPhone vào năm 2008 Vào tháng 6/ 2010, Unity chính thức hỗ trợ Android và cho ra đời phiên bản 3.0 có hỗ trợ Android vào tháng 9/2010 Có thể thấy tốc độ phát triển của Unity khá nhanh
Trang 111.2.2 Giải thưởng
Unity đã đoạt được nhiều giải lớn với những giải chính sau:
- Năm 2006, Unity đạt “Best Use of Mac OS X Graphics” tại Apple’s WWDC Đây là lần đầu tiên một công cụ phát triển game đạt được chất lượng do giải thưởng uy tín này đưa ra
- Năm 2009, Unity Technologies có tên trong “Top 5 công ty game của năm”
1.3 TÍNH NĂNG CỦA ENGINE UNITY
Môi trường phát triển tích hợp với tính năng kế thừa, khả năng chỉnh sửa đồ họa, chức năng kiểm tra chi tiết, và đặc biệt tính năng xem trước game ngay trong lúc xây dựng (live game preview)
Triển khai được trên nhiều nền tảng:
- Chương trình độc lập trên Windows và Mac OS
- Trên web, thông qua Unity Web Player plugin cho Internet Explorer, Firefox, Safari, Opera, Chrome, cho cả Windows và Mac OS
- Trên Mac OS Dashboard widget
- Cho Nintendo Wii (cần mua license thêm)
- Cho iPhone, iPad application (cần mua license thêm)
- Cho Google Android (cần mua license thêm)
- Cho Mcrosoft Xbox 360 (cần mua license thêm)
- Cho Sony PlaySation 3 (cần mua license thêm)
Tài nguyên (model, âm thanh, hình ảnh…) được tải vào trong Unity và tự động cập nhật nếu tài nguyên có sự thay đổi Unity hỗ trợ các kiểu định dạng
từ 3DS Max, Maya, Blender, Cinema 4D và Cheetah 3D
Trang 12 Graphics engine sử dụng Direct3D (Windows), OpenGL (Mac, Windows), OpenGL ES (iPhone OS), và các API khác trên Wii
Hỗ trợ bump mapping, reflection mapping, parallax mapping, Screen Space Ambient Occlusion…
Unity Asset Server: Đây là một tính năng khá mới của Unity, theo đó Unity sẽ cung cấp một hệ thống quản lý theo dạng phiên bản cho tất cả các asset và script Đây là một kho chứa các tài nguyên cần thiết cho việc làm game Khi import cũng như sửa chữa, trạng thái của asset ngay lập tức được cập nhật Server chạy trên database opensourse PostgreSQL và có thể truy cập trên cả Mac và Windows, Linux Asset Server đòi hỏi một khoản phí phụ trội là $499 cho mỗi bản coppy Unity, và một license Unity Pro
1.4 CÁC KHÁI NIỆM CƠ BẢN TRONG UNITY
1.4.1 Asset
Asset là tài nguyên xây dựng nên một dự án trên Unity Những tài nguyên có thể là hình ảnh, âm thanh, mô hình 3D, chất liệu (material), texture… hoặc cả một project hoàn chỉnh Unity sẽ tham chiếu đến các tập tin chúng ta sẽ sử dụng để tạo ra các tài nguyên cho trò chơi Đây cũng là lý do tại sao trong bất kì thư mục chứa project
sử dụng Unity thì tất cả các tập tin tài nguyên phải được lưu trữ trong một thư mục con tên là Asset
nh 1.2: Asset trong Unity
Các asset do chính những nhà phát triển game tạo ra và có thể được download miễn phí hoặc trả phí trên Unity Asset Store Đây là một trong những tính năng rất hay của Unity Các asset này sẽ giúp giảm thiểu rất nhiều thời gian do việc thiết kế và lập trình game
Trang 131.4.2 Scene
Trong Unity, một cảnh chơi (hoặc một phân đoạn) là những màn chơi riêng biệt, một khu vực trong game hoặc thành phần có trong nội dung của trò chơi (các menu) Các thành phần này được gọi là Scene Bằng cách tạo ra nhiều scenes, chúng ta
có thể phân phối thời gian và tối ưu tài nguyên, kiểm tra các phân đoạn trong game một cách độc lập
nh 1.3: Các Scenes của Unity
1.4.3 Game Object
Khi Asset được sử dụng trong các Scene, Unity định nghĩa đó là Game Object Đây là một thuật ngữ thông dụng, đặc biệt trong mảng lập trình Tất cả các Game Object đều chứa ít nhất một thành phần cơ bản là Transform, lưu trữ thông tin về vị trí, góc xoay và tỉ lệ của đối tượng Thành phần Transform có thể tùy biến và thay đổi trong quá trình lập trình
nh 1.4: Game Object trong Unity
Trang 15nh 1.6: Cách tạo một script mới
Giao diện code C# rất dễ nhìn và quen thuộc khi edit trên Visual Studio 2015
nh 1.7: Lập trình trên Unity bằng C# trên Visual Studio
Đƣa đoạn script gắn vào một đối tƣợng để nó đƣợc thực thi
nh 1.8: Một script đã được gắn vào một đối tượng
Trang 161.4.6 Prefab
Prefabs là những Game Object, được định nghĩa ra để lưu trữ và tái sử dụng bằng cách nhân bản các Prefab ra thành nhiều Game Object Những Game Object được nhân bản sẽ giống nhau hoàn toàn, trừ thành phần Transform để dễ phân biệt và quản lý
Bên trong Prefab có thể chứa đựng các thành phần hay đối tượng khác nhau, chúng ta có thể viết kịch bản cho hành động của Prefab (khởi tạo, di chuyển hay hủy đối tượng) Chúng ta có thể sử dụng đối tượng này nhiều lần trong trò chơi, và cũng có thể sử dụng lại cho các project khác Prefab cho phép chúng ta lưu trữ các đối tượng, toàn bộ thành phần bên trong và cấu hình hiện tại
Cách tạo Prefab khá đơn giản, chỉ cần kéo Game Object vào cửa sổ Project, chúng ta đã chuyển từ Game Object thành Prefabs
nh 1.9: Prefab trong Unity
1.5 GIAO DIỆN CỦA UNITY
Giao diện của Unity gồm 5 phần chính như sau:
1 Cửa sổ Scene: nơi thiết kế, xây dựng trò chơi
2 Hierarchy: danh sách các Game Object trong một cảnh Game
3 Inspector: màn hình cài đặt cho tài nguyên/ đối tượng được chọn
4 Cửa sổ Game: cửa sổ xem trước game, nó chỉ hoạt động khi người dùng
Trang 17nh 1.10: Giao diện Editor của Unity
1.5.1 Cửa sổ Scene và Hierarchy
Cửa sổ Scene là nơi xây dựng toàn bộ các đối tượng trong game Cửa sổ này cung cấp các góc nhìn khác nhau, có thể nhìn dạng phối cảnh hay song song Ở đây, chúng ta có thể kéo thả các đối tượng hay di chuyển, xoay
Bên trên cửa sổ có thanh công cụ gồm bốn nút điều khiển Truy cập từ bàn phím bằng cách sử dụng các phím Q, W, E và R
- Hand (phím tắt Q): Cho phép di chuyển trong cửa sổ Scene, xoay góc góc nhìn, phóng to, thu nhỏ góc nhìn
- Translate (phím tắt W): Dùng để di chuyển đối tượng
- Rotate (phím tắt E): Xoay đối tượng
- Scale (phím tắt R): Phóng to, thu nhỏ, tăng giảm tỷ lệ kích thước của đối tượng
Trong cửa sổ Hierarchy cho phép hiển thị tất cả các đối tượng của Project theo dạng cây Khi chọn một đối tượng trong cửa sổ này thì đối tượng đó trên khung cảnh ở cửa sổ Scene cũng đồng thời được chọn
Trang 18nh 1.12: Cửa sổ Inspector
1.5.3 Cửa sổ Game
Cửa sổ Game cho phép hiển thị những gì có trong cửa sổ Scene và sẽ hoạt động khi nhấn nút Play Trong cửa sổ này, chúng ta có thể chọn các kích cỡ hiển thị khác nhau để build cho các loại máy khác nhau Chúng ta có thể chơi thử game trên cửa sổ này khi nhấn nút Play
Khi cửa sổ này hoạt động thì mọi chỉnh sửa trên cửa sổ Scene và cài đặt cho các đối tượng chỉ là tạm thời và khi nhấn nút Stop thì cửa sổ này về lại trạng thái tĩnh, mọi chỉnh sửa trước đó là không còn
1.5.4 Cửa sổ Project
Cửa sổ Project thể hiện nội dung bên trong thư mục Assets của project Khi thêm tài nguyên vào thư mục Assets ngay lập tức chúng sẽ tự động được cập nhật vào project Unity của chúng ta
Trang 19Các tài nguyên của game đều được chứa trong cửa sổ Project và được tổ chức theo các thư mục của dự án
Cửa sổ Project cũng cho phép chúng ta tạo ra một số tài nguyên cơ bản như Script, Material
1.6 TỔNG QUAN KIẾN TRÚC ENGINE UNITY TRÊN ANDROID
1.6.1 Kiến trúc tổng quan
Engine Unity hỗ trợ cho chúng ta UnityAPI để viết script game UnityAPI và API lập trình game trong Unity rất mạnh UnityAPI chứa các đối tượng và phương thức hỗ trợ hầu hết các đối tượng và các loại thành phần trong Unity
Trong một scene thường có nhiều đối tượng game Mỗi đối tượng đều có thể có hoặc không có đoạn script nào gắn lên đó Nếu muốn gắn script vào đối tượng, ta bắt buộc phải kế thừa class đó từ lớp MonoBehaviour của UnityAPI và tên class phải trùng với tên file script Mỗi script khi gắn lên đối tượng game đều được đối tượng game xem như một thành phần bên trong và được cấp phát vùng nhớ khi chạy game [5, 6]
nh 1.13: Tổng quan kiến trúc Unity
Bên trong UnityAPI chứa rất nhiều lớp hỗ trợ lập trình game, trong đó có một
số lớp quan trọng như:
Trang 20- MonoBehaviour: tất cả các script muốn gắn vào một đối tượng game bắt buộc phải kế thừa từ lớp này
- GameObject: lớp cha của tất cả các thực thể trong scene
- Component: lớp cha của tất cả các thành phần có thể gắn vào đối tượng
- Transform: giúp thay đổi vị trí, xoay, biến đổi tỷ lệ mô hình
- Input: hỗ trợ lập trình với chuột, cảm ứng đa điểm, cảm biến gia tốc
- Camera: giúp lập trình camera
- Light: giúp tạo ánh sáng trong game
- Projector: giúp chiếu texture lên bề mặt vật thể
- ParticleEmitter: hỗ trợ các hiệu ứng particle đẹp mắt
- Audio: hỗ trợ lập trình với âm thanh
- Animation: chạy chuyển động của mô hình nhân vật
- Rigidbody: giúp tạo hiệu ứng vật lý liên quan đến trọng lực như bóng nảy, lăn…
- CharacterController: giúp điều khiển nhân vật di chuyển theo độ cao địa hình
- Collider: hỗ trợ lập trình va chạm giữa các vật thể
- GUI: giúp lập trình giao diện người dùng trên Unity
1.6.2 Chu kỳ sống của thành phần script gắn trên đối tượng game
Chu kỳ sống của mỗi thành phần script được tính kể từ khi scene được chạy cho đến lúc scene bị tắt hoặc chuyển sang scene khác
Trang 21nh 1.14: Chu kỳ sống của thành phần script
Tùy theo trạng thái của scene mà sự kiện tương ứng sẽ được gọi
- Awake: được gọi khi script được load xong
- Start: được gọi khi script được load xong nếu thành phần script đó không bị disable
- Update: đây là sự kiện thường sử dụng nhất và được gọi liên tục từng frame
- OnDestroy: được gọi khi thành phần của script bị hủy khỏi bộ nhớ
1.7 BUILD GAME TỪ UNITY SANG ANDROID
Để thực hiện biên dịch được game cho Android trong Unity ta thực hiện như sau:
Bước 1: Tải file sdk và jdk về máy, cài đặt chúng với phiên bản đúng với hệ điều hành của máy mình là 32 bit hay 64 bit Sau khi download xong, giải nén và trỏ vào thư mục SDK và JDK trong Menu -> Edit -> Prefernces -> External Tools
Trang 22nh 1.15: Unity Preferences
Bước 2: Trong giao diện unity vào File -> BuildSettings Trong Platform chọn Android
nh 1.16: Platform trong unity
Bước 3: Chọn Player Settings, sau khi chọn xong xuất hiện cửa sổ Inspector
ở bên phía tay phải như sau:
Trang 23nh 1.17: Các thuộc tính trong PlayerSettings
Trong đó: Company Name là phần để điền tên công ty
Product Name là phần để điền tên sản phẩm
Default Icon là hình ảnh nhỏ sẽ đại diện cho game của bạn Default Cursor: là hình con trỏ chuột
Bước 4: Các thành phần trong cửa sổ Player Settings
Với thành phần Resolution and presentation
nh 1.18: Resolution and presentation
Trong hình này chúng ta thực hiện chọn chế độ tự động cho phép màn hình game của chúng ta tự động xoay hoặc đặt chế độ thẳng đứng hay nằm ngang
Màn hình thẳng đứng ta để là: Protrait
Màn hình nằm ngang ta để là: Landscape
Trang 24 Icon: Là phần biểu tượng cho game, có thể thay đổi theo kích thước đối với mỗi độ phân giải của điện thoại
Splash Image: Là ảnh hiển thị khi bắt đầu vào game, thông thường thì bản unity free khi vào game sẽ xuất hiện hình ảnh của unity, còn phiên bản có bản quyền hay crack ta có thể đặt ảnh của mình tại đây khi bắt đầu mở game
Với phần Other setting
Bundle Identifier: Chúng ta phải đặt tên identifier cho game chúng ta như trên trong đó không được có kí tự số ban đầu
Version: là phiên bản game mà chúng ta biên dịch
Device Filter: là thiết bị có hỗ trợ cho chip ARMv7 hay x86 có thể cài đặt được hay không, khi chọn hai chế độ này thì dung lượng game sẽ thay đổi
Bước 5: Thực hiện Build trong cửa sổ build setting
nh 1.19: Build game trong Unity
Trong đó:
Development Build: Dành cho nhà phát triển
Trang 25 Script Debugging: Dành cho debug game
Build: Build ra thƣ mục nào đó trên máy tính
Build And Run: Thực hiện build và chạy luôn (phải cắm một đầu dây lối tới điện thoại)
Trang 26CHƯƠNG 2
MỘT SỐ VẤN ĐỀ TRONG CHƯƠNG TRÌNH TOÁN MẦM NON
2.1 CHƯƠNG TRÌNH GIÁO DỤC MẦM NON [2]
-Nhận biết 1 và nhiều
- Đếm trên đối tượng trong phạm
vi 10 và đếm theo khả năng
- Nhận biết chữ số,
số lượng và số thứ
tự trong phạm vi 5
- Đếm trên đối tượng trong phạm
vi 5 và đếm theo khả năng
- Gộp các nhóm đối tượng và đếm
- Tách một nhóm thành hai nhóm nhỏ bằng các cách khác nhau
Nhận biết ý nghĩa các con số được sử dụng trong cuộc sống hàng ngày (số nhà, biển số xe…)
2 Xếp tương ứng Xếp tương ứng 1 – 1, ghép đôi Ghép thành cặp
những đối tượng có mối liên quan
3 So sánh, sắp xếp
theo quy tắc
So sánh hai đối tượng về kích thước
So sánh, phát hiện quy tắc sắp xếp và sắp xếp theo quy tắc
xếp
4 Đo lường - Đo độ dài một vật - Đo độ dài một vật