Hướng dẫn sử dụng game maker

     
Ở phần 2, tôi đã hướng dẫn các bạn cách chế tạo các event và hoàn thành xong một trò đùa né vật cản vật bên trên android. Ở phần này, bọn họ hãy cùng nhau khám phá sâu rộng về những tính năng không giống trong GMS2 mà bạn cũng có thể sử dụng để upgrade trò đùa lên một cột mốc chuyên nghiệp hóa hơn, hãy thuộc mình khám phá nhé.Trong phần 3 sẽ quăng quật qua một trong những định nghĩa cơ bản đã được trình bày, hãy chắc chắn là rằng các bạn hiểu phần 2 trước lúc thực hành phần 3 nhé.

Bạn đang xem: Hướng dẫn sử dụng game maker


*

Thay đổi font chữ hiển thị vào game

Ở phần trước mình được đặt theo hướng dẫn chúng ta sử dụng hàmdraw_text()để ghi thông tin về điểm số và cấp độ lên màn hình, nhưng mà nếu chỉ áp dụng hàm này sẽ không mà chưa setup font thì cái chữ hiển thị ra GUI sẽ tương đối xấu và quan sát không bắt mắt, đó cũng là nguyên nhân mình phía dẫn các bạn cách thay đổi font chữ vào game.

1. Thêm font text (ẤN ALT+F)

*

Thêm và tùy chỉnh cấu hình font chữ mang đến hợp lý

2.Sử dụng các hàm build-in để chuyển đổi font chữ hiển thị thành font vừa cài đặt, làm việc ví dụ dưới mình sẽ sửa đổi lại font cho màn hìnhoGameOvermà chúng ta đã làm ở đoạn 2

//Căn lề: FONTdraw_set_halign(fa_center);//Cài font2draw_set_font(gameFont2);//Chuyển color đỏdraw_set_color(c_red); //Ghi game overdraw_text(360,310,"GAME OVER");//Cài font1draw_set_font(gameFont1);//Chuyển màu trắngdraw_set_color(c_white);//Thông báo điểmdraw_text(360,510,"FINAL SCORE "+string(oCircle.myscore));3.Chạy thử

Sau khi chỉnh màu, mẫu mã chữ trong game và điều khiển xe trên PC vẫn ra tác dụng như chũm này

Thêm âm thanh cho trò chơi

Một thành phần quan trọng đặc biệt không nhát trong game chính là âm thanh, các bạn có thể tự xây cất âm thanh mang đến game hoặc tải các âm thanh vẫn được tạo sẵn miễn phítại đây(không bạn dạng quyền)

1. Thêm sound (ẤN ALT+U)

*

Import music của chúng ta tại vùng khoanh đỏ, sau đó hãy để tên mang lại phù hợp

2.Sau lúc thêm âm thanh, nhằm phát music khi xẩy ra mộteventnào kia (vd: ấn nút, va chạm, nhạc nền, ...) chúng ta hãy thực hiện hàmaudio_play_sound(sound>,,). Ở ví dụ bên dưới mình sẽ thêm chiếc lệnh sau vàoCollision EventcủaoCircle(quả bóng)

//Khi quả bóng va chạm với chướng xấu hổ vật, phát âm thanh xong trò chơiaudio_play_sound(overSound,1,false);3.Tương tự các bạn cũng có thể chèn mẫu lệnh như trên vào bất kỳeventnào các bạn có nhu cầu phát ra âm thanh

Làm mang đến chướng ngại vật trở nên đa dạng chủng loại hơn

Các bạn biết rằng, đối tượngoWallcủa chúng ta chỉ sử dụng duy tuyệt nhất 1spritevà thời gian nào nó cũng mở ra với size như nhau, như vậy thì thật là buồn rầu đúng không? Vậy làm cố gắng nào để objectoWallcủa chúng ta mang nhiều màu sắc trong game để fan chơi hứng thú hơn.

1.Import tất cả các hình hình ảnh (sprite) mà bạn có nhu cầu chướng ngại thiết bị sử dụng, chuyển vận tốc khung hình(Speed)về0.

*

Ở trên đây mình áp dụng 9 hình hình ảnh (kích thước như nhau) để làm những chướng ngại vật vật khác nhau

2.Chỉnh sửa Step event củaoFunction(nếu bạn chần chờ oFunction là gì, xem lạiphần 2)

//1000 điểm = 1 level uplevel=floor(oCircle.myscore/1000)+1;//Tính vận tốc dịch rời của oWalllevelSpeed=8+level*1.3;//Khi hết thời hạn đếm ngượcif (delay==0)//Reset thời hạn đếm ngược, min=40delay=max(40,100-level*10);//Lấy địa chỉ ngẫu nhiênvar xx=random_range(0,520); //Tạo oWallwith (instance_create_layer(xx,-200,"Instances",oWall))//Lấy hình hình ảnh ngẫu nhiên: CHỨC NĂNG MỚIimage_index=random_range(0,8);//Kích thước object ngẫu nhiên (tăng theo cấp): CHỨC NĂNG MỚIimage_xscale=random_range(0.3+oFunction.level/10,0.8+oFunction .level/10);image_yscale=image_xscale;//Tốc độ của oWallspeed=oFunction.levelSpeed;//Hướng đi: bên trên -> dướidirection=point_direction(0,0,0,1); else delay--;3.Mỗi khi khởi động trò chơi,GMS2sẽ cung cấp cho họ mộtseed, đầy đủ hàm random ở cách 2 đã dựa vàoseedđể trả về mọi giá trị ngẫu nhiên. Mặc dù nhiênseednày đang không đổi khác ngay cả khi chúng ta thoát trò đùa và vào lại, bởi vì vậy rất nhiều giá trị bỗng nhiên là hệt nhau ở mọi thời gian chơi trò đùa này. Nhằm mục tiêu tránh hiện tượng lạ trên, tạiCreate event của oFunction,các các bạn hãy thêm dòngrandomize();

*

randomize()sẽ đảm nhiệm tác dụng thay đổiseedmỗi lúc trò đùa bắt đầu.

4.Chạy thử

*

Các trang bị thể được xuất hiện với form size và kiểu dáng ngẫu nhiên

Nhập tên tín đồ chơi

Phần này thực hiện hàmget_string_async(,)để tạo thành cửa sổ cho người dùng nhập dữ liệutrên cả PC và androidvà trả về một list gần nhưlà maps trong Java.Chính do vậy bọn họ sử dụng mộtEventmới: Async - Dialognhằm phân tích danh sách này cùng trả về đúng dữ liệu mà người dùng nhập vào, các chúng ta có thể tìm gọi sâu hơntại đây.

1.Tạo thêm một nút (object) oChangeName (xem bí quyết tạo nút ở đoạn 1), và tiếp tế đó4 eventnhư sau

*

2.Create Event: tạo nên 2 biến, một biến lưu trữ tên bạn chơi, một biến chuyển tạm tàng trữ giá trị trả về

//BIẾN GLOBAL (có thể sử dụng trong đa số room): tạo giá trị mang định của tên fan chơiglobal.name="Defaut";//Biến tạm thời lưu quý giá của Mapmsg="";3.Draw Event: In tin tức người đùa ra màn hình

//Dòng này nhằm hiển thị nút "oChangeName"draw_self();//Chỉnh fontdraw_set_halign(fa_center);draw_set_font(gameFont1);//Ghi tin tức người chơi ra màn hìnhdraw_text(360,y-80,"Welcome, "+string(global.name));4.Left Pressed Event: Hiển thị cửa sổ nhập tên lúc ấn chuột trái

//Lưu quý hiếm nhập liệu vào đổi thay tạm trướcmsg=get_string_async("Type your name: ","Defaut name");5.Xử lí tài liệu trả về của bản đồ (Nâng cao cần không phải hiểu rõ)

//Xử lí giá trị ở bước 4var mapId = ds_map_find_value(async_load, "id");if mapId == msg if ds_map_find_value(async_load, "status") if ds_map_find_value(async_load, "result") != "" global.name = ds_map_find_value(async_load, "result");

*

Thành quả test trênAndroid

Bảng điểm

GMS2hỗ trợ một hàm build-in cho phép bạn lưu những giá trị tên người chơi cùng điểm số vào trong 1 table, và nó sẽ auto sắp xếp từ điểm trên cao tới thấp, để hiển thị table

1.Tạo một object để hiển thị table chứa list người chơi đứng top, sau khoản thời gian tạo kết thúc kéo thảobjectnày vàoroom HighScore

*

Create Eventđể đọc list người chơi mỗi một khi truy cậproomHighScore

*

Draw Eventđể vẽ bảng điểm trongroom HighScore

2.Tạo mộtobjectđể lưu list người chơi đứng đứng top vào file,object này sẽ tiến hành tạo mỗi khi trò nghịch kết thúcnhằm bảo quản điểm của người chơi hiện tại tại

*

Tạoobject SaveHighScore(không sử dụng Sprite)

Cuối cùng, trongCollision Eventcủa oCircle lúc va tiếp xúc với oWall, hãy thêm dòng kiểm soát sau nhằm lưu điểm số của tín đồ chơi

//Lưu điểm khi trò nghịch kết thúcif (!instance_exists(SaveHighScore))instance_create_layer(0,0,"GameOver",SaveHighScore);

Thành quả thử nghiệm trênAndroidkhi ấn vào room HighScore

Tạm Kết

Qua phần này, các bạn đã có thể gọi thêm được một số thành phần trongGMS2và phụ thuộc đó để bổ sung những tính năng không đủ trong trò chơi của mình, nếu chúng ta thấy chủ thể hay, hãy phân tách sẽ bài viết và reviews 5 sao để mình bao gồm thêm cồn lực phía dẫn chúng ta nhiều tính năng bài bản hơn nữa. Cuối cùng, cảm ơn chúng ta đã đọc bài viết và chúc các bạn thành công.

Xem thêm: Chơi Game Siêu Nhân Điện Quang 2 Người Đánh Nhau, Game Siêu Nhân Điện Quang 2

Demo phần 4 (phần cuối): ra mắt về shader, nâng cấp trò chơi để trái bóng rất có thể bắn vỡ chướng ngại vật vật, hiển thị thanh máu như vậy nào, ...

Game vẫn hoàn chỉnh:AndroidPC

Tài nguyên thực hiện trong game(Đã update phần 1+2+3):Resource

Project (GMS2_ProjectFile):Part 1+2(5000 views phần 4 mình vẫn update Project cuối cùng_bản đầy đủ tính năng)