đây là hướng dẫn khá tốt ai muốn học thì đọc cho hết nha nó hướng dẫn cả làm game online nữa tui kiếm được và đang học
Sau khi tải về rồi, install phần mềm trong máy tính của bạn. Bạn sẽ thấy giao diện của chương trình như dưới đây:
Chương trình sáng tạo Game Maker.
Chương trình chạy trên nền Windows phiên bản 98 SE, 2000, ME, XP và cao hơn nữa. Muốn sử dụng phần mềm, bạn phải có card đồ hoạ tối thiểu là DirectX 8 và ít nhất là 16 MB bộ nhớ video (tốt hơn hết là 32 BM trở lên); card âm thanh cũng ít nhất là DirectX 8 (bản DirectX 8.0 có thể tải về tại đây).
Ở thư mục đầu tiên, bạn sẽ nhìn thấy chữ Sprites. Đây chính là phần thể hiện đồ hoạ các đối tượng mà bạn tạo ra trong game. Một sprite là hình ảnh đơn (tĩnh) hoặc một tập hợp các hình ảnh nối tiếp nhau để tạo thành hình động. Ví dụ như dưới đây là hình Pacman động đang quay mặt sang phải.
Khi làm game, thường thì bạn chọn những sprite xinh xắn ngay trên trang Game Maker hoặc trên mạng dưới dạng file gif động.
Để thêm vào một sprite mới, bạn hãy nhấn chuột phải vào chữ Sprite, kích vào Add Sprite. Hộp thoại Sprite sẽ hiện lên như sau:
Tại ô đầu tiên bạn sẽ xác định tên của sprite. Mặc dù điều này không đòi hỏi quá khắt khe, nhưng tốt hơn hết bạn hãy cho chúng những cái tên khác nhau và bắt đầu bằng chữ cái, không sử dụng phím space (phím cách).
Để tải một sprite, bạn hãy nhấn vào nút Load Sprite. Sau đó, bạn sẽ thấy hộp thoại chỉ dẫn nguồn sprite để bạn chọn lựa. Game Maker có thể tải rất nhiều loại file đồ hoạ khác nhau. Khi tải file gif động, những hình ảnh đơn khác nhau sẽ tạo thành sprite đó. Khi sprite này được tải về thì hình ảnh đơn đầu tiên sẽ xuất hiện ở bên phải. Tại hộp có tên Transparent, nếu có đánh dấu thì có nghĩa là nền (background) của sprite là "trong suốt" và hầu hết các sprite là trong suốt. Nền này bị quyết định bằng màu của điểm ảnh ở góc trái dưới cùng. Do đó, hãy đảm bảo không có điểm ảnh nào của hình ảnh thực sự có màu này. (Chú ý rằng các file gif thường xác định màu trong suốt của mình. Màu này không được dùng trong Game Maker). Với nút Edit Sprite, bạn có thể chỉnh sửa sprite hay thậm chí là tạo ra một sprite hoàn toàn mới. Những hình ngộ nghĩnh đó có thể quay ngược, quay xuôi, thêm màu mè mới... tuỳ theo ý bạn.
Mục thứ hai là Sound. Hầu hết các game đều có những hiệu ứng âm thanh và nhạc nền và bạn có thể tìm thấy các hiệu ứng rất hữu ích ngay trên trang của Game Maker và các trang web khác.
Để thêm một nguồn âm thanh cho trò chơi, bạn hãy dùng chức năng Add Sound (nhấn chuột phải vào mục Sound, chọn Add Sound hoặc ngay trên thanh công cụ) và bảng dưới đây sẽ hiện ra.
Để tải âm thanh, nhấn vào Load Sound. Sau đó một hộp thoại hiện ra để bạn có thể chọn file âm thanh. Ở đây có hai loại là file wave và midi. File wave được dùng cho những hiệu ứng ngắn còn file midi có khả năng thể hiện âm nhạc theo nhiều kiểu khác nhau.
Sau khi tải nhạc về, bạn có thể nhấn vào hình tam giác màu xanh bên cạnh để nghe và dùng chức năng Save Sound để lưu file nhạc hiện thời.
Mục thứ ba là Backgrounds. Đây là những phông nền làm nơi diễn ra trò chơi. Bạn có thể đưa vào vô số mẫu hình cho background.
Các chức năng Add và Load hình nền giống như các mục trên. Game Maker hỗ trợ rất nhiều định dạng ảnh, nhưng tất nhiên là hình nền thì không thể là hình động được. Ô Transparent nếu có đánh dấu thì có nghĩa là hình nền "trong suốt". Phần lớn các background đều "hiện hình" và có màu là màu điểm ảnh góc tận cùng bên trái được sử dụng. Bạn có thể thay đổi hay tạo mới hình nền bằng cách dùng chức năng Edit Background với giao diện khá giống phần mềm Paint trong Windows
Khái niệm object (đối tượng)
Những nguồn hình ảnh và âm thanh mà các bạn đã làm quen ở phần trước là yếu tố khởi đầu của Game Maker. Tuy nhiên, nguồn quan trọng nhất của chương trình chính là các object. Đây chính là những thực thể làm nên một trò chơi. Thường thì chúng được thể hiện bằng hình ảnh để bạn nhìn thấy; chúng có những "hành vi" vì phải "phản ứng" lại một số "sự kiện". Tất cả những gì bạn nhìn thấy trong game chính là các object (tất nhiên trừ background). Nói một cách chính xác hơn, background là khoảng cách giữa các object. Các nhân vật, những con quái vật, gờ tường, vũ khí... là các object. Có một số object bạn không nhìn thấy nhưng nó có chức năng điều khiển trong quá trình chơi.
Chúng ta hãy phân biệt sự khác nhau giữa sprite và object. Sprite là những hình ảnh (tĩnh hoặc động) nhưng không có "hành vi" nào. Object thì có cả sprite để thể hiện đồ hoạ và cả "hành vi" nữa. Nếu không có "hành vi" thì sẽ không có game.
Cũng cần phải phân biệt sự khác nhau giữa object và instance. Object mô tả cả một loại thực thể nào đó, ví dụ như một con quái vật. Và có rất nhiều trường hợp riêng lẻ (instance) của đối tượng này trong game. Do đó, khi nói đến instance là ám chỉ đến một đối tượng cụ thể của object.
Để thêm một object vào game, chọn chức năng Add Object và hộp thoại sau đây sẽ hiện ra.
Chức năng này khá phức tạp. Ở bên trái có một số thông tin chung về object. Ở giữa là danh sách các "sự kiện" có thể xảy ra với các object. Ở bên phải là những hành động khác nhau mà một object có thể thực hiện. các "sự kiện" và hành động sẽ được nói ở phần sau.
Trước hết, bạn hãy đặt tên cho object. Sau đó, chọn sprite cho object. Nhấp chuột trái vào hộp sprite hoặc biểu tượng bên cạnh đó thì bạn sẽ thấy một cửa sổ bé hiện lên để bạn chọn các sprite có sẵn. Nếu chưa có sprite nào, hãy nhấn nút New để thêm sprite mới. Cũng vậy, dùng chức năng Edit, bạn sẽ thay đổi được sprite và làm thế này thì nhanh hơn là chọn nguồn trong danh sách rồi chỉnh sửa ngay trong đó.
Ngay bên dưới có hai hộp trạng thái. Visible nếu được đánh dấu thì có nghĩa là instance của object này có thể nhìn thấy. Ví dụ như bạn có thể dùng chúng làm điểm di chuyển cho một con quái vật chẳng hạn. Những object không nhìn thấy sẽ "phản ứng" với các "sự kiện" và những instance khác sẽ "va chạm" với chúng. Hộp trạng thái Solid nếu được đánh dấu thì có nghĩa là object đó thuộc dạng "cứng" (như bờ tường chẳng hạn). Những va chạm đối với các object "cứng" được xử lý khác so với những object "mềm". Bạn nên dùng trạng thái solid đối với các object không di chuyển.
Khái niệm về event ('sự kiện')
Game Maker sử dụng phương pháp xử lý theo event và hoạt động như sau: Bất cứ khi nào có một điều gì đó xảy ra trong game, các instance của object có "sự kiện" (loại thông điệp cho biết có sự kiện xảy ra). Sau đó, những instance này có thể "phản ứng" với những thông điệp này bằng cách thực hiện một số hành động nào đó. Đối với mỗi object, bạn phải chỉ ra nó phải "phản ứng" với sự kiện nào và phải thực hiện hành động nào. Điều này nghe có vẻ phức tạp nhưng thực ra rất dễ dàng. Trước hết, đối với hầu hết các sự kiện thì object không phải làm gì cả, còn những sự kiện yêu cầu phải có hành động gì đó thì bạn chỉ cần sử dụng cách kéo-thả để xác định hành động là được.
Ở ô giữa là danh sách các sự kiện mà object phải phản ứng lại. Bạn có thể thêm vào bằng cách nhấn phím Add Event. Tại đây, bạn có thể chọn các loại sự kiện khác nhau như Alarm (báo động), Collision (va đập)... và mỗi mục lại có vô số lựa chọn khác nhau.
Tiếp theo là phần Actions tương ứng với các event. Để thêm các hành động vào danh sách, bạn hãy kéo biểu tượng bên phải và thả vào hộp Actions này. Chúng sẽ được đặt nối tiếp nhau với một mô tả ngắn ở bên cạnh. Đối với mỗi action, bạn sẽ phải chọn các thông số (điều này sẽ được thảo luận kỹ ở phần dưới). Như vậy, sau khi lựa chọn, bạn sẽ có kết quả ví dụ như thế này:
Lúc này bạn có thể bắt đầu thêm action cho những event khác. Dùng chuột trái nhấn vào đúng event cần thêm hành động rồi áp dụng các thao tác "kéo-thả".
Khi chọn Add Event, bạn sẽ thấy hiện ra hộp thoại sau:
Create event
Event này diễn ra khi một instance của object được tạo ra. Chức năng này thường được dùng để thiết lập instance chuyển động hoặc các trạng thái khác nhau của instance.
Destroy event
Event này được tạo ra khi instance bị phá huỷ. Nói chính xác hơn là nó xảy ra ngay trước khi instance bị phá huỷ, vì vậy trong quá trình xảy ra event này thì instance vẫn tồn tại. Thường thì event này không được sử dụng, nhưng bạn có thể dùng để thay đổi điểm số hay tạo object khác.
Alarm events
Mỗi instance có 12 đồng hồ báo động. Bạn có thể đặt các đồng hồ này bằng cách sử dụng những action (hành động) nào đó (xem phần sau). Đồng hồ báo động sau đó sẽ đếm ngược cho đến khi bằng 0 và tại thời điểm này, "sự kiện" báo động được tạo ra. Để xác định những hành động cho một đồng hồ báo động nào đó, bạn cần phải chọn từ menu. Đồng hồ này rất hữu dụng và bạn có thể dùng để tạo ra những hoạt động liên tục, ví dụ như làm cho một con quái vật cứ 20 bước lại đổi hướng đi một lần. (Trong trường hợp như vậy, mỗi hành động trong event phải thiết lập đồng hồ báo động lại).
Step events
'"Sự kiện" step diễn ra ở mỗi bước đi trong game. Tại đây bạn có thể thiết lập những hành động cần thực hiện liên tục. Ví dụ: nếu một object phải đi theo một object khác, bạn có thể áp dụng hướng chuyển động đối với object mà mình đang đi theo. Hãy cẩn thận với việc này. Bạn không nên thiết lập quá nhiều hành động phức tạp trong "sự kiện" step của những object có nhiều instance. Nếu làm như thế, tốc độ của game sẽ diễn ra rất chậm. Nói chính xác hơn là có 3 "sự kiện" step khác nhau là Step, Begin Step, End Step. Begin Step được thực hiện vào lúc bắt đầu step, trước khi bất kỳ sự kiện nào khác xảy ra. Step được thực hiện ngay trước khi các instance được đặt vào các vị trí mới. End Step được thực hiện vào cuối mỗi step và thường được dùng để thay đổi sprite tuỳ theo hướng chuyển động hiện thời.
Collision events
Bất cứ khi nào hai instance "đụng" nhau (thực chất là các sprite chồng lên nhau), thì "sự kiện" collision xuất hiện. Nói chính xác hơn là hai sự kiện collision xảy ra, mỗi collision cho một instance. Instance có thể phản ứng lại với sự kiện này. Trên thực đơn, bạn có thể chọn object mà bạn muốn áp dụng sự kiện này. Sau đó bạn có thể thiết lập các hành động tại đây.
Có một sự khác biệt giữa những gì diễn ra khi instance "đụng độ" với một object dạng "cứng" và dạng "mềm". Trước hết, khi không có hành động nào trong sự kiện collision thì không có gì xảy ra cả. Instance hiện thời đơn giản là cứ di chuyển, thậm chí khi object kia ở dạng "cứng". Còn khi sự kiện này có các hành động thì những điều sau đây sẽ xảy ra:
Khi object kia thuộc dạng "cứng", instance được đặt lại vị trí cũ (trước khi sự kiện collision diễn ra). Sau đó sự kiện được thực hiện. Cuối cùng, instance được di chuyển đến vị trí mới. Do đó, ví dụ nếu một sự kiện, chẳng hạn như quay ngược hướng chuyển động, thì instance cứ va vào tường mãi. Còn nếu có sự kiện collision thì instance vẫn ở vị trí trước đó và ngừng di chuyển.
Khi object kia thuộc dạng "mềm" thì instance không được đặt ngược lại. Sự kiện này đơn giản được thực hiện với instance ở vị trí hiện tại và không được kiểm tra lần hai. Có rất nhiều cách sử dụng sự kiện collision và các instance có thể dùng nó để va đập vào các gờ tường. Bạn cũng có thể sử dụng nó để phá huỷ các object khi chúng bị dính đạn chẳng hạn.
Keyboard events
Khi người chơi nhấn một phím nào đó, sự kiện keyboard diễn ra đối với tất cả các instance của mọi object. Đối với mỗi phím thì có một sự kiện. Trong thanh menu, bạn có thể chọn phím nào đó cho các object mà bạn muốn. Bạn có thể thiết lập sự kiện cho mỗi step miễn là người chơi nhấn phím liên tục. Ở đây có hai loại sư kiện keyboard đặc biệt là (Không nhấn phím) và (Nhấn bất kỳ phím nào). Khi người chơi nhấn nhiều phím, các sự kiện dành cho tất cả những phím được nhấn đó đều xảy ra. Chú ý một điều là những phím trong khoảng phím số trên keyboard chỉ tạo ra các sự kiện tương ứng khi đèn Numlock sáng.
Mouse events
Sự kiện về chuột diễn ra đối với một instance bất cứ khi nào con trỏ chuột nằm trong sprite thể hiện instance này. Tuỳ vào những phím chuột nào được nhấn, bạn có thể có sự kiện "không nhấn chuột", "chuột trái", "chuột phải" hay "chuột giữa". Các sự kiện phím chuột được tạo ra khi phím đó được nhấn. Còn các sự kiện "thả" chuột được tạo ra khi phím đó được nhả ra. Nếu bạn muốn phản ứng với các sự kiện nhấn chuột hay thả chuột ở một điểm tuỳ ý, hãy sử dụng chức năng "global mouse" ở thanh menu nhỏ.
Có hai sự kiện đặc biệt dành cho chuột. Một là sự kiện nhấn chuột xảy ra khi chuột được nhấp vào instance. Sự kiện thả chuột xảy ra khi chuột được thả khỏi instance. Những sự kiện này được áp dụng chủ yếu để thay đổi hình ảnh hoặc chơi nhạc. Các sự kiện di chuyển bánh xe chuột lên và xuống xảy ra khi người sử dụng quay bánh xe. Ngoài ra còn có rất nhiều sự kiện áp dụng cho bộ điều khiển (joystick) của máy chơi game chuyên dụng. Bạn có thể xác định các hành động cho 4 hướng hay 8 hướng của bộ điều khiển chính và phụ.
Các event khác
Ngoài ra có vô số event khác rất hữu dụng trong game và bạn có thể tìm thấy chúng trong menu này.
Outside: Sự kiện này xảy ra khi instance nằm hoàn toàn ngoài Room (không gian game - sẽ nói kỹ ở phần sau). Đây là thời điểm thích hợp để phá huỷ nó.
Boundary: Sự kiện này xảy ra khi instance cắt ranh giới của Room.
Game start: Điều này xảy ra với tất cả các instance ở Room đầu tiên khi trò chơi bắt đầu. Nó diễn ra trước khi sự kiện Room start (xem phần dưới). nhưng sau các sự kiên khởi tạo cho các instance trong Room. Sự kiện này thường được xác định trong một object "điều khiển" và được dùng để khởi động nhạc nền, tải dữ liệu...
Game end: Sự kiện này xảy ra đối với tất cả các instance khi game kết thúc. Thường thì chỉ một object xác định sự kiện này, ví dụ như để lưu trữ dữ liệu nào đó trong tậo tin.
Room start: Sự kiện diễn ra đối với tất cả các instance khi Room khởi động và sau các sự kiện khởi tạo.
Room end: Xảy ra đối với tất cả các instance đang tồn tại khi Room kết thúc.
No more lives: Có một hành động để thiết lập và thay đổi số "lần sống" của đối tượng game. Bất cứ khi nào con số nào ít hơn hay bằng 0 thì sự kiện này xảy ra. Chức năng không thêm lần sống xảy ra khi muốn kết thúc hoặc khởi động lại game.
No more health: Bất cứ khi nào "máu" giảm xuống bằng hoặc nhỏ hơn 0 thì sự kiện này xảy ra. Dùng chức năng không thêm máu khi muốn giảm số lần sống và khởi động lại trò chơi.
End of animation: Kết thúc hình ảnh động. Như đã nhắc đến ở trên, một hình ảnh động bao gồm rất nhiều hình ảnh nối tiếp nhau. Sự kiện này sẽ xảy ra đúng lúc hình cuối cùng kết thúc và có thể áp dụng để thay đổi hình ảnh động hay huỷ instance.
End of path: Kết thúc path (đường đi của đối tượng - sẽ nói ở phần sau). Sự kiện này diễn ra khi instance đi theo một quãng đường và đến tận cùng quãng đường đó.
User defined (do người dùng xác định). Có 16 sự kiện thuộc loại này và thường do người dùng tự thêm vào bằng các dòng mã.
Tạo action
Các hành động (action) chỉ ra những việc xảy ra trong một trò chơi mà Game Maker tạo nên. Những hành động này được đặt trong các “sự kiện” của object. Bất cứ khi nào sự kiện diễn ra, những hành động này được thực hiện và tạo ra “cách ứng xử” của các instance trong object. Có rất nhiều hành động khác nhau trong phần mềm này và điều quan trọng là chúng ta phải hiểu rõ về chức năng của chúng.
Bạn có thể tìm thấy tất cả các hành động ở bên tay phải bảng Object properties và có 6 loại action khác nhau. Cách chọn actions chúng ta đã thảo luận ở phần 2.
Khi bạn đã “kéo-thả” một action trong danh sách, một cửa sổ sẽ hiện lên và lúc này bạn có thể đưa vào các tham số cho hành động. Các tham số này sẽ được mô tả ở bên dưới các biểu tượng của actions; tuy nhiên có hai loại tham số phổ biến nhất mà chúng ta cần bàn luận kỹ hơn.
Ở phần đầu của bảng tham số bạn sẽ thấy mục Applies to và lúc này bạn phải chọn Self, Other hay Object. Phần mặc định Self sẽ quy định hành động thực hiện cho bản thân instance và phần lớn bạn sẽ chọn mục này. Trong trường hợp xảy ra sự kiện collision (đụng độ), bạn có thể xác định hành động cho instance khác tham gia vào vụ “đụng độ” đó, ví dụ như bạn có thể phá huỷ instance kia chẳng hạn. Cuối cùng, bạn có thể áp dụng hành động cho tất cả các instance của một object xác định.
Kiểu thứ hai là hộp trạng thái Relative. Nếu đánh dấu vào hộp này, giá trị mà bạn gõ vào sẽ tương ứng với những giá trị hiện thời. Ví dụ: bạn có thể thêm vào cho giá trị hiện tại chứ không thay đổi giá trị hiện tại thành một giá trị mới. Những tham số khác sẽ được mô tả dưới đây. Sau đó bạn có thể thay đổi các tham số bằng cách nhấn đúp vào biểu tượng hành động.
Bắt đầu di chuyển. Bạn có thể sử dụng action này để bắt đầu di chuyển instance theo một hướng nhất định với nút có mũi tên 8 hướng này. Tốc độ di chuyển được tính bằng số pixel cho mỗi step. Bạn cũng có thể xác định nhiều hướng khác nhau cho đối tượng.
Thiết lập hướng và tốc độ di chuyển. Đây là cách thứ hai để xác định một chuyển động với góc từ 0 và 360 độ. 0 có nghĩa là di chuyển về bên phải và hướng di chuyển là theo chiều ngược kim đồng hồ. Như vậy 90 độ có nghĩa là di chuyển thẳng đứng lên. Nếu bạn muốn tạo ra một hướng bất kỳ thì có thể nhập vào số ngẫu nhiên từ 0 đến 360. Bạn sẽ để ý thấy là máy sẽ cho kết quả ngẫu nhiên thấp hơn con số mà bạn chỉ ra. Do đó, hãy chú ý đến hộp Relative. Nếu đánh dấu vào đây thì chuyển động mới sẽ được thêm vào chuyển động trước. Ví dụ: nếu instance đang chuyển động lên trên và bạn thêm chuyển động sang trái nào đó thì nõ sẽ chuyển động lên về phía bên trái.
Di chuyển đến một điểm xác định. Bạn có thể chỉ ra một vị trí, tốc độ xác định cho một instance di chuyển đến. Ví dụ: nếu muốn một viên đạn bay tới con tàu vũ trụ chẳng hạn, bạn có thể dùng tới vị trí như (tau.x,tau.y). Nếu đánh dấu vào hộp Relative, bạn sẽ xác định được tương đối cho vị trí hiện thời của instance.
Thiết lập tốc độ di chuyển theo phương nằm ngang. Tốc độ của instance bao gồm chuyển động theo phương nằm ngang và thẳng đứng. Với action này, bạn có thể thay đổi tốc độ theo phương nằm ngang (nghĩa là chuyển động sang phải, còn đặt giá trị âm instance sẽ chuyển động sang trái).
Thiết lập tốc độ di chuyển theo phương nằm ngang. Cũng tương tự như trên.
Thiết lập trọng lực. Với action này, bạn có thể tạo ra trọng lực cho một object nhất định. Bạn xác định một hướng (góc từ 0 đến 360 độ) và một tốc độ, và trong mỗi step tốc độ này được kèm vào chuyển động hiện tại của object. Thường thì bạn chỉ cần một số gia tốc độ rất nhỏ (ví dụ như 0,01) và hướng chuyển động đi xuống (270 độ chẳng hạn). Nếu đánh dấu vào hộp Relative, bạn có thể tăng được tốc độ trọng lực và hướng. Chú ý một điều là, không giống như trong thực tế, object khác nhau có các hướng trọng lực khác nhau.
Đảo ngược hướng theo phương nằm ngang. Với action này bạn có thể thay đổi chuyển động của instance theo phương ngang. Ví dụ: bạn có thể dùng khi object đụng vào bờ tường chẳng hạn.
Đảo ngược hướng theo phương thẳng đứng. Ví dụ, bạn có thể dùng khi object đụng vào nền cứng nằm ngang.
Thiết lập va chạm. Va chạm làm cho các instance di chuyển chậm lại. Bạn hãy xác định mức độ của va chạm. Trong mỗi step mức độ này bị trừ đi cho đến khi tốc độ bằng 0. Thường thì bạn muốn con số rất nhỏ, ví dụ như 0,01.
Nhảy đến một vị trí cho trước. Khi dùng action này, bạn có thể đặt instance vào một vị trí xác định. Bạn chỉ cần xác định toạ độ (x,y) cho instance đó là được. Nếu đánh dấu vào hộp Relative, vị trí này tương ứng với vị trí hiện tại của instance. Hành động này thường được áp dụng để di chuyển liên tục một instance.
Nhảy đến vị trí bắt đầu. Hành động này giúp bạn đặt instance quay trở lại vị trí ban đầu mà nó được tạo ra.
Nhảy đến vị trí ngẫu nhiên. Bạn có thể dùng hành động này để di chuyển instance đến một vị trí ngẫu nhiên trong room. Những vị trí được chọn là nơi instance không "giao" với các instance "dạng rắn" nào cả.
Xuất hiện lại khi ra ngoài room. Với hành động này, bạn có thể để một instance đi xoay quanh room khi nó rời cạnh này của room rồi xuất hiện ở cạnh bên kia. Hành động này thường được dùng trong sự kiện Outside. Chú ý một điều là instance phải có tốc độ phù hợp để xuất hiện lại như vậy do hướng của nó dựa trên hướng của chuyển động (dọc, ngang hay cả hai).
Di chuyển đến vị trí tiếp xúc. Bạn có thể dùng action này để di chuyển instance theo một hướng cho trước cho tới khi tiến đến một vị trí tiếp xúc. Nếu đã có một sự kiện "đụng độ" tại vị trí hiện tại thì instance không di chuyển. Nói cách khác, instance được đặt ngay trước khi một "đụng độ" xảy ra. Bạn có thể xác định hướng với khoảng cách tối đa để di chuyển. Ví dụ: khi instance đang "rơi" bạn có thể di chuyển xuống dưới cho đến khi chạm vào một objưct nào đó. Bạn cũng có thể chỉ ra nó chỉ áp dụng cho những vật dạng "rắn" hay tất cả các đối tượng. Thường thì bạn dùng hành động này cho sự kiện "đụng độ" để đảm bảo rằng instance dừng lại khi va chạm với instance khác.
Bật vào các object khác.
Khi đặt hành động này vào sự kiện "đụng độ" với object khác, instance sẽ nảy ngược lại theo quy luật vật lý thông thường. Nếu đặt thông số là False thì hành động chỉ đúng với các "bức tường" nằm dọc và ngang. Khi đặt thông số bằng True thì hành động được áp dụng cho cả các "bức tường" dạng cong và "lởm chởm". Bạn cũng có thể xác định hành động cho các object dạng rắn hoặc với tất cả các object.
Tạo room
Sau khi đã hiểu sơ qua các khái niệm về object và các “ứng xử” của nó dưới hình thức “sự kiện” và “hành động”, bạn có thể bắt tay vào tạo room, hay còn gọi là các level cho game. Bất kỳ game nào cũng có ít nhất một room. Trong những room này, chúng ta hãy đặt vào các instance của các object. Khi game bắt đầu, room thứ nhất được thể hiện luôn và các instance trong đó được “thổi một luồng sinh khí” do các hành động được tiến hành.
Có rất nhiều khả năng lựa chọn khi tạo room. Ngoài việc đặt một loạt các thuộc tính và thêm instance của object, bạn còn có thể thêm vào các background, xác định các hình và thêm tiêu đề.
Trước hết, để tạo room, hãy chọn chức năng Add Room và bảng sau đây sẽ hiện ra:
Ở phần trên cùng là một thanh công cụ. Tại đây, bạn có thể xác định kích cỡ của bảng dùng để đặt vị trí các object. Bạn cũng có thể quyết định có để các đường kẻ ô hay không. Đôi khi bạn sẽ thấy rất hữu ích khi để ẩn một số thứ trong room; dù vậy khi các instance được thêm vào, chúng sẽ hiện ra và độc lập với phần thiết lập chế độ xem (view setting). Ở đây có các nút để xoá instance khỏi room và chuyển toàn bộ các instance lên số lượng pixel (điểm ảnh) khá lớn. Hãy dùng đến các số âm để dịch chuyển instance lên hoặc xuống. Điều này là rất hữu ích khi bạn muốn mở rộng room (thậm chí đặt các instance ra ngoài room). Nút Undo dùng để bỏ đi phần vừa chỉnh sửa, nút OK dùng để lưu chỉnh sửa.
Ở bên tay trái bạn sẽ thấy 3 mục chính là objects, settings và backgrounds. Với objects bạn có thể thêm instance vào room. Settings sẽ giúp bạn chỉ ra số thiết lập cho room. Trong mục backgrounds bạn có thể thiết lập các hình nền cho room.
Sau khi tải về rồi, install phần mềm trong máy tính của bạn. Bạn sẽ thấy giao diện của chương trình như dưới đây:
Chương trình sáng tạo Game Maker.
Chương trình chạy trên nền Windows phiên bản 98 SE, 2000, ME, XP và cao hơn nữa. Muốn sử dụng phần mềm, bạn phải có card đồ hoạ tối thiểu là DirectX 8 và ít nhất là 16 MB bộ nhớ video (tốt hơn hết là 32 BM trở lên); card âm thanh cũng ít nhất là DirectX 8 (bản DirectX 8.0 có thể tải về tại đây).
Ở thư mục đầu tiên, bạn sẽ nhìn thấy chữ Sprites. Đây chính là phần thể hiện đồ hoạ các đối tượng mà bạn tạo ra trong game. Một sprite là hình ảnh đơn (tĩnh) hoặc một tập hợp các hình ảnh nối tiếp nhau để tạo thành hình động. Ví dụ như dưới đây là hình Pacman động đang quay mặt sang phải.
Khi làm game, thường thì bạn chọn những sprite xinh xắn ngay trên trang Game Maker hoặc trên mạng dưới dạng file gif động.
Để thêm vào một sprite mới, bạn hãy nhấn chuột phải vào chữ Sprite, kích vào Add Sprite. Hộp thoại Sprite sẽ hiện lên như sau:
Tại ô đầu tiên bạn sẽ xác định tên của sprite. Mặc dù điều này không đòi hỏi quá khắt khe, nhưng tốt hơn hết bạn hãy cho chúng những cái tên khác nhau và bắt đầu bằng chữ cái, không sử dụng phím space (phím cách).
Để tải một sprite, bạn hãy nhấn vào nút Load Sprite. Sau đó, bạn sẽ thấy hộp thoại chỉ dẫn nguồn sprite để bạn chọn lựa. Game Maker có thể tải rất nhiều loại file đồ hoạ khác nhau. Khi tải file gif động, những hình ảnh đơn khác nhau sẽ tạo thành sprite đó. Khi sprite này được tải về thì hình ảnh đơn đầu tiên sẽ xuất hiện ở bên phải. Tại hộp có tên Transparent, nếu có đánh dấu thì có nghĩa là nền (background) của sprite là "trong suốt" và hầu hết các sprite là trong suốt. Nền này bị quyết định bằng màu của điểm ảnh ở góc trái dưới cùng. Do đó, hãy đảm bảo không có điểm ảnh nào của hình ảnh thực sự có màu này. (Chú ý rằng các file gif thường xác định màu trong suốt của mình. Màu này không được dùng trong Game Maker). Với nút Edit Sprite, bạn có thể chỉnh sửa sprite hay thậm chí là tạo ra một sprite hoàn toàn mới. Những hình ngộ nghĩnh đó có thể quay ngược, quay xuôi, thêm màu mè mới... tuỳ theo ý bạn.
Mục thứ hai là Sound. Hầu hết các game đều có những hiệu ứng âm thanh và nhạc nền và bạn có thể tìm thấy các hiệu ứng rất hữu ích ngay trên trang của Game Maker và các trang web khác.
Để thêm một nguồn âm thanh cho trò chơi, bạn hãy dùng chức năng Add Sound (nhấn chuột phải vào mục Sound, chọn Add Sound hoặc ngay trên thanh công cụ) và bảng dưới đây sẽ hiện ra.
Để tải âm thanh, nhấn vào Load Sound. Sau đó một hộp thoại hiện ra để bạn có thể chọn file âm thanh. Ở đây có hai loại là file wave và midi. File wave được dùng cho những hiệu ứng ngắn còn file midi có khả năng thể hiện âm nhạc theo nhiều kiểu khác nhau.
Sau khi tải nhạc về, bạn có thể nhấn vào hình tam giác màu xanh bên cạnh để nghe và dùng chức năng Save Sound để lưu file nhạc hiện thời.
Mục thứ ba là Backgrounds. Đây là những phông nền làm nơi diễn ra trò chơi. Bạn có thể đưa vào vô số mẫu hình cho background.
Các chức năng Add và Load hình nền giống như các mục trên. Game Maker hỗ trợ rất nhiều định dạng ảnh, nhưng tất nhiên là hình nền thì không thể là hình động được. Ô Transparent nếu có đánh dấu thì có nghĩa là hình nền "trong suốt". Phần lớn các background đều "hiện hình" và có màu là màu điểm ảnh góc tận cùng bên trái được sử dụng. Bạn có thể thay đổi hay tạo mới hình nền bằng cách dùng chức năng Edit Background với giao diện khá giống phần mềm Paint trong Windows
Khái niệm object (đối tượng)
Những nguồn hình ảnh và âm thanh mà các bạn đã làm quen ở phần trước là yếu tố khởi đầu của Game Maker. Tuy nhiên, nguồn quan trọng nhất của chương trình chính là các object. Đây chính là những thực thể làm nên một trò chơi. Thường thì chúng được thể hiện bằng hình ảnh để bạn nhìn thấy; chúng có những "hành vi" vì phải "phản ứng" lại một số "sự kiện". Tất cả những gì bạn nhìn thấy trong game chính là các object (tất nhiên trừ background). Nói một cách chính xác hơn, background là khoảng cách giữa các object. Các nhân vật, những con quái vật, gờ tường, vũ khí... là các object. Có một số object bạn không nhìn thấy nhưng nó có chức năng điều khiển trong quá trình chơi.
Chúng ta hãy phân biệt sự khác nhau giữa sprite và object. Sprite là những hình ảnh (tĩnh hoặc động) nhưng không có "hành vi" nào. Object thì có cả sprite để thể hiện đồ hoạ và cả "hành vi" nữa. Nếu không có "hành vi" thì sẽ không có game.
Cũng cần phải phân biệt sự khác nhau giữa object và instance. Object mô tả cả một loại thực thể nào đó, ví dụ như một con quái vật. Và có rất nhiều trường hợp riêng lẻ (instance) của đối tượng này trong game. Do đó, khi nói đến instance là ám chỉ đến một đối tượng cụ thể của object.
Để thêm một object vào game, chọn chức năng Add Object và hộp thoại sau đây sẽ hiện ra.
Chức năng này khá phức tạp. Ở bên trái có một số thông tin chung về object. Ở giữa là danh sách các "sự kiện" có thể xảy ra với các object. Ở bên phải là những hành động khác nhau mà một object có thể thực hiện. các "sự kiện" và hành động sẽ được nói ở phần sau.
Trước hết, bạn hãy đặt tên cho object. Sau đó, chọn sprite cho object. Nhấp chuột trái vào hộp sprite hoặc biểu tượng bên cạnh đó thì bạn sẽ thấy một cửa sổ bé hiện lên để bạn chọn các sprite có sẵn. Nếu chưa có sprite nào, hãy nhấn nút New để thêm sprite mới. Cũng vậy, dùng chức năng Edit, bạn sẽ thay đổi được sprite và làm thế này thì nhanh hơn là chọn nguồn trong danh sách rồi chỉnh sửa ngay trong đó.
Ngay bên dưới có hai hộp trạng thái. Visible nếu được đánh dấu thì có nghĩa là instance của object này có thể nhìn thấy. Ví dụ như bạn có thể dùng chúng làm điểm di chuyển cho một con quái vật chẳng hạn. Những object không nhìn thấy sẽ "phản ứng" với các "sự kiện" và những instance khác sẽ "va chạm" với chúng. Hộp trạng thái Solid nếu được đánh dấu thì có nghĩa là object đó thuộc dạng "cứng" (như bờ tường chẳng hạn). Những va chạm đối với các object "cứng" được xử lý khác so với những object "mềm". Bạn nên dùng trạng thái solid đối với các object không di chuyển.
Khái niệm về event ('sự kiện')
Game Maker sử dụng phương pháp xử lý theo event và hoạt động như sau: Bất cứ khi nào có một điều gì đó xảy ra trong game, các instance của object có "sự kiện" (loại thông điệp cho biết có sự kiện xảy ra). Sau đó, những instance này có thể "phản ứng" với những thông điệp này bằng cách thực hiện một số hành động nào đó. Đối với mỗi object, bạn phải chỉ ra nó phải "phản ứng" với sự kiện nào và phải thực hiện hành động nào. Điều này nghe có vẻ phức tạp nhưng thực ra rất dễ dàng. Trước hết, đối với hầu hết các sự kiện thì object không phải làm gì cả, còn những sự kiện yêu cầu phải có hành động gì đó thì bạn chỉ cần sử dụng cách kéo-thả để xác định hành động là được.
Ở ô giữa là danh sách các sự kiện mà object phải phản ứng lại. Bạn có thể thêm vào bằng cách nhấn phím Add Event. Tại đây, bạn có thể chọn các loại sự kiện khác nhau như Alarm (báo động), Collision (va đập)... và mỗi mục lại có vô số lựa chọn khác nhau.
Tiếp theo là phần Actions tương ứng với các event. Để thêm các hành động vào danh sách, bạn hãy kéo biểu tượng bên phải và thả vào hộp Actions này. Chúng sẽ được đặt nối tiếp nhau với một mô tả ngắn ở bên cạnh. Đối với mỗi action, bạn sẽ phải chọn các thông số (điều này sẽ được thảo luận kỹ ở phần dưới). Như vậy, sau khi lựa chọn, bạn sẽ có kết quả ví dụ như thế này:
Lúc này bạn có thể bắt đầu thêm action cho những event khác. Dùng chuột trái nhấn vào đúng event cần thêm hành động rồi áp dụng các thao tác "kéo-thả".
Khi chọn Add Event, bạn sẽ thấy hiện ra hộp thoại sau:
Create event
Event này diễn ra khi một instance của object được tạo ra. Chức năng này thường được dùng để thiết lập instance chuyển động hoặc các trạng thái khác nhau của instance.
Destroy event
Event này được tạo ra khi instance bị phá huỷ. Nói chính xác hơn là nó xảy ra ngay trước khi instance bị phá huỷ, vì vậy trong quá trình xảy ra event này thì instance vẫn tồn tại. Thường thì event này không được sử dụng, nhưng bạn có thể dùng để thay đổi điểm số hay tạo object khác.
Alarm events
Mỗi instance có 12 đồng hồ báo động. Bạn có thể đặt các đồng hồ này bằng cách sử dụng những action (hành động) nào đó (xem phần sau). Đồng hồ báo động sau đó sẽ đếm ngược cho đến khi bằng 0 và tại thời điểm này, "sự kiện" báo động được tạo ra. Để xác định những hành động cho một đồng hồ báo động nào đó, bạn cần phải chọn từ menu. Đồng hồ này rất hữu dụng và bạn có thể dùng để tạo ra những hoạt động liên tục, ví dụ như làm cho một con quái vật cứ 20 bước lại đổi hướng đi một lần. (Trong trường hợp như vậy, mỗi hành động trong event phải thiết lập đồng hồ báo động lại).
Step events
'"Sự kiện" step diễn ra ở mỗi bước đi trong game. Tại đây bạn có thể thiết lập những hành động cần thực hiện liên tục. Ví dụ: nếu một object phải đi theo một object khác, bạn có thể áp dụng hướng chuyển động đối với object mà mình đang đi theo. Hãy cẩn thận với việc này. Bạn không nên thiết lập quá nhiều hành động phức tạp trong "sự kiện" step của những object có nhiều instance. Nếu làm như thế, tốc độ của game sẽ diễn ra rất chậm. Nói chính xác hơn là có 3 "sự kiện" step khác nhau là Step, Begin Step, End Step. Begin Step được thực hiện vào lúc bắt đầu step, trước khi bất kỳ sự kiện nào khác xảy ra. Step được thực hiện ngay trước khi các instance được đặt vào các vị trí mới. End Step được thực hiện vào cuối mỗi step và thường được dùng để thay đổi sprite tuỳ theo hướng chuyển động hiện thời.
Collision events
Bất cứ khi nào hai instance "đụng" nhau (thực chất là các sprite chồng lên nhau), thì "sự kiện" collision xuất hiện. Nói chính xác hơn là hai sự kiện collision xảy ra, mỗi collision cho một instance. Instance có thể phản ứng lại với sự kiện này. Trên thực đơn, bạn có thể chọn object mà bạn muốn áp dụng sự kiện này. Sau đó bạn có thể thiết lập các hành động tại đây.
Có một sự khác biệt giữa những gì diễn ra khi instance "đụng độ" với một object dạng "cứng" và dạng "mềm". Trước hết, khi không có hành động nào trong sự kiện collision thì không có gì xảy ra cả. Instance hiện thời đơn giản là cứ di chuyển, thậm chí khi object kia ở dạng "cứng". Còn khi sự kiện này có các hành động thì những điều sau đây sẽ xảy ra:
Khi object kia thuộc dạng "cứng", instance được đặt lại vị trí cũ (trước khi sự kiện collision diễn ra). Sau đó sự kiện được thực hiện. Cuối cùng, instance được di chuyển đến vị trí mới. Do đó, ví dụ nếu một sự kiện, chẳng hạn như quay ngược hướng chuyển động, thì instance cứ va vào tường mãi. Còn nếu có sự kiện collision thì instance vẫn ở vị trí trước đó và ngừng di chuyển.
Khi object kia thuộc dạng "mềm" thì instance không được đặt ngược lại. Sự kiện này đơn giản được thực hiện với instance ở vị trí hiện tại và không được kiểm tra lần hai. Có rất nhiều cách sử dụng sự kiện collision và các instance có thể dùng nó để va đập vào các gờ tường. Bạn cũng có thể sử dụng nó để phá huỷ các object khi chúng bị dính đạn chẳng hạn.
Keyboard events
Khi người chơi nhấn một phím nào đó, sự kiện keyboard diễn ra đối với tất cả các instance của mọi object. Đối với mỗi phím thì có một sự kiện. Trong thanh menu, bạn có thể chọn phím nào đó cho các object mà bạn muốn. Bạn có thể thiết lập sự kiện cho mỗi step miễn là người chơi nhấn phím liên tục. Ở đây có hai loại sư kiện keyboard đặc biệt là
Mouse events
Sự kiện về chuột diễn ra đối với một instance bất cứ khi nào con trỏ chuột nằm trong sprite thể hiện instance này. Tuỳ vào những phím chuột nào được nhấn, bạn có thể có sự kiện "không nhấn chuột", "chuột trái", "chuột phải" hay "chuột giữa". Các sự kiện phím chuột được tạo ra khi phím đó được nhấn. Còn các sự kiện "thả" chuột được tạo ra khi phím đó được nhả ra. Nếu bạn muốn phản ứng với các sự kiện nhấn chuột hay thả chuột ở một điểm tuỳ ý, hãy sử dụng chức năng "global mouse" ở thanh menu nhỏ.
Có hai sự kiện đặc biệt dành cho chuột. Một là sự kiện nhấn chuột xảy ra khi chuột được nhấp vào instance. Sự kiện thả chuột xảy ra khi chuột được thả khỏi instance. Những sự kiện này được áp dụng chủ yếu để thay đổi hình ảnh hoặc chơi nhạc. Các sự kiện di chuyển bánh xe chuột lên và xuống xảy ra khi người sử dụng quay bánh xe. Ngoài ra còn có rất nhiều sự kiện áp dụng cho bộ điều khiển (joystick) của máy chơi game chuyên dụng. Bạn có thể xác định các hành động cho 4 hướng hay 8 hướng của bộ điều khiển chính và phụ.
Các event khác
Ngoài ra có vô số event khác rất hữu dụng trong game và bạn có thể tìm thấy chúng trong menu này.
Outside: Sự kiện này xảy ra khi instance nằm hoàn toàn ngoài Room (không gian game - sẽ nói kỹ ở phần sau). Đây là thời điểm thích hợp để phá huỷ nó.
Boundary: Sự kiện này xảy ra khi instance cắt ranh giới của Room.
Game start: Điều này xảy ra với tất cả các instance ở Room đầu tiên khi trò chơi bắt đầu. Nó diễn ra trước khi sự kiện Room start (xem phần dưới). nhưng sau các sự kiên khởi tạo cho các instance trong Room. Sự kiện này thường được xác định trong một object "điều khiển" và được dùng để khởi động nhạc nền, tải dữ liệu...
Game end: Sự kiện này xảy ra đối với tất cả các instance khi game kết thúc. Thường thì chỉ một object xác định sự kiện này, ví dụ như để lưu trữ dữ liệu nào đó trong tậo tin.
Room start: Sự kiện diễn ra đối với tất cả các instance khi Room khởi động và sau các sự kiện khởi tạo.
Room end: Xảy ra đối với tất cả các instance đang tồn tại khi Room kết thúc.
No more lives: Có một hành động để thiết lập và thay đổi số "lần sống" của đối tượng game. Bất cứ khi nào con số nào ít hơn hay bằng 0 thì sự kiện này xảy ra. Chức năng không thêm lần sống xảy ra khi muốn kết thúc hoặc khởi động lại game.
No more health: Bất cứ khi nào "máu" giảm xuống bằng hoặc nhỏ hơn 0 thì sự kiện này xảy ra. Dùng chức năng không thêm máu khi muốn giảm số lần sống và khởi động lại trò chơi.
End of animation: Kết thúc hình ảnh động. Như đã nhắc đến ở trên, một hình ảnh động bao gồm rất nhiều hình ảnh nối tiếp nhau. Sự kiện này sẽ xảy ra đúng lúc hình cuối cùng kết thúc và có thể áp dụng để thay đổi hình ảnh động hay huỷ instance.
End of path: Kết thúc path (đường đi của đối tượng - sẽ nói ở phần sau). Sự kiện này diễn ra khi instance đi theo một quãng đường và đến tận cùng quãng đường đó.
User defined (do người dùng xác định). Có 16 sự kiện thuộc loại này và thường do người dùng tự thêm vào bằng các dòng mã.
Tạo action
Các hành động (action) chỉ ra những việc xảy ra trong một trò chơi mà Game Maker tạo nên. Những hành động này được đặt trong các “sự kiện” của object. Bất cứ khi nào sự kiện diễn ra, những hành động này được thực hiện và tạo ra “cách ứng xử” của các instance trong object. Có rất nhiều hành động khác nhau trong phần mềm này và điều quan trọng là chúng ta phải hiểu rõ về chức năng của chúng.
Bạn có thể tìm thấy tất cả các hành động ở bên tay phải bảng Object properties và có 6 loại action khác nhau. Cách chọn actions chúng ta đã thảo luận ở phần 2.
Khi bạn đã “kéo-thả” một action trong danh sách, một cửa sổ sẽ hiện lên và lúc này bạn có thể đưa vào các tham số cho hành động. Các tham số này sẽ được mô tả ở bên dưới các biểu tượng của actions; tuy nhiên có hai loại tham số phổ biến nhất mà chúng ta cần bàn luận kỹ hơn.
Ở phần đầu của bảng tham số bạn sẽ thấy mục Applies to và lúc này bạn phải chọn Self, Other hay Object. Phần mặc định Self sẽ quy định hành động thực hiện cho bản thân instance và phần lớn bạn sẽ chọn mục này. Trong trường hợp xảy ra sự kiện collision (đụng độ), bạn có thể xác định hành động cho instance khác tham gia vào vụ “đụng độ” đó, ví dụ như bạn có thể phá huỷ instance kia chẳng hạn. Cuối cùng, bạn có thể áp dụng hành động cho tất cả các instance của một object xác định.
Kiểu thứ hai là hộp trạng thái Relative. Nếu đánh dấu vào hộp này, giá trị mà bạn gõ vào sẽ tương ứng với những giá trị hiện thời. Ví dụ: bạn có thể thêm vào cho giá trị hiện tại chứ không thay đổi giá trị hiện tại thành một giá trị mới. Những tham số khác sẽ được mô tả dưới đây. Sau đó bạn có thể thay đổi các tham số bằng cách nhấn đúp vào biểu tượng hành động.
Bắt đầu di chuyển. Bạn có thể sử dụng action này để bắt đầu di chuyển instance theo một hướng nhất định với nút có mũi tên 8 hướng này. Tốc độ di chuyển được tính bằng số pixel cho mỗi step. Bạn cũng có thể xác định nhiều hướng khác nhau cho đối tượng.
Thiết lập hướng và tốc độ di chuyển. Đây là cách thứ hai để xác định một chuyển động với góc từ 0 và 360 độ. 0 có nghĩa là di chuyển về bên phải và hướng di chuyển là theo chiều ngược kim đồng hồ. Như vậy 90 độ có nghĩa là di chuyển thẳng đứng lên. Nếu bạn muốn tạo ra một hướng bất kỳ thì có thể nhập vào số ngẫu nhiên từ 0 đến 360. Bạn sẽ để ý thấy là máy sẽ cho kết quả ngẫu nhiên thấp hơn con số mà bạn chỉ ra. Do đó, hãy chú ý đến hộp Relative. Nếu đánh dấu vào đây thì chuyển động mới sẽ được thêm vào chuyển động trước. Ví dụ: nếu instance đang chuyển động lên trên và bạn thêm chuyển động sang trái nào đó thì nõ sẽ chuyển động lên về phía bên trái.
Di chuyển đến một điểm xác định. Bạn có thể chỉ ra một vị trí, tốc độ xác định cho một instance di chuyển đến. Ví dụ: nếu muốn một viên đạn bay tới con tàu vũ trụ chẳng hạn, bạn có thể dùng tới vị trí như (tau.x,tau.y). Nếu đánh dấu vào hộp Relative, bạn sẽ xác định được tương đối cho vị trí hiện thời của instance.
Thiết lập tốc độ di chuyển theo phương nằm ngang. Tốc độ của instance bao gồm chuyển động theo phương nằm ngang và thẳng đứng. Với action này, bạn có thể thay đổi tốc độ theo phương nằm ngang (nghĩa là chuyển động sang phải, còn đặt giá trị âm instance sẽ chuyển động sang trái).
Thiết lập tốc độ di chuyển theo phương nằm ngang. Cũng tương tự như trên.
Thiết lập trọng lực. Với action này, bạn có thể tạo ra trọng lực cho một object nhất định. Bạn xác định một hướng (góc từ 0 đến 360 độ) và một tốc độ, và trong mỗi step tốc độ này được kèm vào chuyển động hiện tại của object. Thường thì bạn chỉ cần một số gia tốc độ rất nhỏ (ví dụ như 0,01) và hướng chuyển động đi xuống (270 độ chẳng hạn). Nếu đánh dấu vào hộp Relative, bạn có thể tăng được tốc độ trọng lực và hướng. Chú ý một điều là, không giống như trong thực tế, object khác nhau có các hướng trọng lực khác nhau.
Đảo ngược hướng theo phương nằm ngang. Với action này bạn có thể thay đổi chuyển động của instance theo phương ngang. Ví dụ: bạn có thể dùng khi object đụng vào bờ tường chẳng hạn.
Đảo ngược hướng theo phương thẳng đứng. Ví dụ, bạn có thể dùng khi object đụng vào nền cứng nằm ngang.
Thiết lập va chạm. Va chạm làm cho các instance di chuyển chậm lại. Bạn hãy xác định mức độ của va chạm. Trong mỗi step mức độ này bị trừ đi cho đến khi tốc độ bằng 0. Thường thì bạn muốn con số rất nhỏ, ví dụ như 0,01.
Nhảy đến một vị trí cho trước. Khi dùng action này, bạn có thể đặt instance vào một vị trí xác định. Bạn chỉ cần xác định toạ độ (x,y) cho instance đó là được. Nếu đánh dấu vào hộp Relative, vị trí này tương ứng với vị trí hiện tại của instance. Hành động này thường được áp dụng để di chuyển liên tục một instance.
Nhảy đến vị trí bắt đầu. Hành động này giúp bạn đặt instance quay trở lại vị trí ban đầu mà nó được tạo ra.
Nhảy đến vị trí ngẫu nhiên. Bạn có thể dùng hành động này để di chuyển instance đến một vị trí ngẫu nhiên trong room. Những vị trí được chọn là nơi instance không "giao" với các instance "dạng rắn" nào cả.
Xuất hiện lại khi ra ngoài room. Với hành động này, bạn có thể để một instance đi xoay quanh room khi nó rời cạnh này của room rồi xuất hiện ở cạnh bên kia. Hành động này thường được dùng trong sự kiện Outside. Chú ý một điều là instance phải có tốc độ phù hợp để xuất hiện lại như vậy do hướng của nó dựa trên hướng của chuyển động (dọc, ngang hay cả hai).
Di chuyển đến vị trí tiếp xúc. Bạn có thể dùng action này để di chuyển instance theo một hướng cho trước cho tới khi tiến đến một vị trí tiếp xúc. Nếu đã có một sự kiện "đụng độ" tại vị trí hiện tại thì instance không di chuyển. Nói cách khác, instance được đặt ngay trước khi một "đụng độ" xảy ra. Bạn có thể xác định hướng với khoảng cách tối đa để di chuyển. Ví dụ: khi instance đang "rơi" bạn có thể di chuyển xuống dưới cho đến khi chạm vào một objưct nào đó. Bạn cũng có thể chỉ ra nó chỉ áp dụng cho những vật dạng "rắn" hay tất cả các đối tượng. Thường thì bạn dùng hành động này cho sự kiện "đụng độ" để đảm bảo rằng instance dừng lại khi va chạm với instance khác.
Bật vào các object khác.
Khi đặt hành động này vào sự kiện "đụng độ" với object khác, instance sẽ nảy ngược lại theo quy luật vật lý thông thường. Nếu đặt thông số là False thì hành động chỉ đúng với các "bức tường" nằm dọc và ngang. Khi đặt thông số bằng True thì hành động được áp dụng cho cả các "bức tường" dạng cong và "lởm chởm". Bạn cũng có thể xác định hành động cho các object dạng rắn hoặc với tất cả các object.
Tạo room
Sau khi đã hiểu sơ qua các khái niệm về object và các “ứng xử” của nó dưới hình thức “sự kiện” và “hành động”, bạn có thể bắt tay vào tạo room, hay còn gọi là các level cho game. Bất kỳ game nào cũng có ít nhất một room. Trong những room này, chúng ta hãy đặt vào các instance của các object. Khi game bắt đầu, room thứ nhất được thể hiện luôn và các instance trong đó được “thổi một luồng sinh khí” do các hành động được tiến hành.
Có rất nhiều khả năng lựa chọn khi tạo room. Ngoài việc đặt một loạt các thuộc tính và thêm instance của object, bạn còn có thể thêm vào các background, xác định các hình và thêm tiêu đề.
Trước hết, để tạo room, hãy chọn chức năng Add Room và bảng sau đây sẽ hiện ra:
Ở phần trên cùng là một thanh công cụ. Tại đây, bạn có thể xác định kích cỡ của bảng dùng để đặt vị trí các object. Bạn cũng có thể quyết định có để các đường kẻ ô hay không. Đôi khi bạn sẽ thấy rất hữu ích khi để ẩn một số thứ trong room; dù vậy khi các instance được thêm vào, chúng sẽ hiện ra và độc lập với phần thiết lập chế độ xem (view setting). Ở đây có các nút để xoá instance khỏi room và chuyển toàn bộ các instance lên số lượng pixel (điểm ảnh) khá lớn. Hãy dùng đến các số âm để dịch chuyển instance lên hoặc xuống. Điều này là rất hữu ích khi bạn muốn mở rộng room (thậm chí đặt các instance ra ngoài room). Nút Undo dùng để bỏ đi phần vừa chỉnh sửa, nút OK dùng để lưu chỉnh sửa.
Ở bên tay trái bạn sẽ thấy 3 mục chính là objects, settings và backgrounds. Với objects bạn có thể thêm instance vào room. Settings sẽ giúp bạn chỉ ra số thiết lập cho room. Trong mục backgrounds bạn có thể thiết lập các hình nền cho room.