Mục lục:
- Ví dụ mã cho một sự kiện bàn phím lên để áp dụng lực lượng địa phương
- Để cho phép người chơi biến đối tượng, thêm Sự kiện bàn phím trái và phải. Để người chơi biến đối tượng sang trái, hãy làm theo các bước sau:
Video: The World Design of Castlevania: Symphony of the Night | Boss Keys 2025
Trong GameMaker: Studio, bạn nhận được đối tượng của bạn được xác định cho vật lý, bạn có thể muốn cho phép người chơi di chuyển đối tượng quanh phòng trong suốt trò chơi. Hai phần sau đây cho thấy làm thế nào để thêm chuyển động cho một đối tượng cũng như làm cho một đối tượng rẽ trái hoặc phải.
Ví dụ mã cho một sự kiện bàn phím lên để áp dụng lực lượng địa phương
Để áp dụng lực cho một đối tượng để làm cho nó di chuyển, hãy tạo một Sự kiện Bàn phím Lên như được mô tả trong quy trình sau. Chỉ cần thực hiện theo các bước sau:
Cửa sổ thuộc tính Object xuất hiện.
Chọn Thêm sự kiện → Bàn phím → Lên.
Sự kiện Keyboard An Up xuất hiện trong phần Events.
Kéo và thả Hành động Mã Execute từ tab Điều khiển đến cửa sổ Hành động.
Một cửa sổ mã rỗng xuất hiện.
Trong cửa sổ mã, nhập mã sau:
Nhấp vào dấu kiểm màu xanh lá cây.
Cửa sổ mã được lưu và đóng.
Mã này sử dụng
hệ tọa độ địa phương để thiết lập một vector cho động cơ đẩy. Các tọa độ địa phương được dựa trên Sprite, nơi các trục X và Y đáp ứng ở nguồn gốc. Vì vậy, không có vấn đề như thế nào đối tượng được xoay trong phòng, nguồn gốc của Sprite không bao giờ thay đổi. Theo cách đó, X = 0, Y = -1 sẽ luôn ở dưới Sprite, như thể hiện trong hình này.
Lực lượng được dựa trên giá trị, do đó, một số lớn hơn đặt lực lượng lớn hơn. Thử nghiệm với điều này bằng cách thay đổi giá trị từ -50 xuống -5000 để xem nó có gì khác biệt. Nếu bạn sử dụng một số dương (nói, 50) nhận thấy rằng tàu dường như di chuyển ngược trở lại thay vì chuyển tiếp.
Các tọa độ cục bộ dựa trên nguồn gốc của Sprite được biểu thị bởi vòng tròn màu đỏ.
Ví dụ mã cho các sự kiện bàn phím trái và phảiĐể cho phép người chơi biến đối tượng, thêm Sự kiện bàn phím trái và phải. Để người chơi biến đối tượng sang trái, hãy làm theo các bước sau:
Từ cây nguồn, nhấp đúp vào đối tượng obj_player hoặc một đối tượng liên quan khác.
-
Cửa sổ thuộc tính Object xuất hiện.
Chọn Thêm sự kiện → Bàn phím → Trái.
-
Sự kiện Bàn phím Còn lại xuất hiện trong phần Sự kiện.
Kéo và thả Hành động Mã Execute từ tab Điều khiển đến cửa sổ Hành động.
-
Một cửa sổ mã rỗng xuất hiện.
Trong cửa sổ mã, nhập mã sau:
-
phy_angular_velocity = 0; phy_rotation- = 10;
Nhấp vào dấu kiểm màu xanh lá cây.
-
Cửa sổ mã được lưu và đóng.
Trong quá trình chơi, người chơi có thể biến đối tượng sang trái. Mã này thêm hoặc trừ khỏi luân lý vật lý, điều này điều khiển hướng và góc ảnh của đối tượng khi người chơi bấm phím mũi tên trái.
Để người chơi biến đối tượng sang phải, hãy làm theo các bước sau:
Từ cây Resource, nhấp đúp vào đối tượng obj_player (hoặc một đối tượng khác có liên quan).
-
Cửa sổ thuộc tính Object xuất hiện.
Chọn Thêm sự kiện → Bàn phím → Phải.
-
Sự kiện Keyboard Right xuất hiện trong phần Events.
Kéo và thả Hành động Mã Execute từ tab Điều khiển đến cửa sổ Hành động.
-
Một cửa sổ mã rỗng xuất hiện.
Trong cửa sổ mã, nhập mã sau:
-
phy_angular_velocity = 0; phy_rotation + = 10;
Nhấp vào dấu kiểm màu xanh lá cây.
-
Cửa sổ mã được lưu và đóng. Mã này thêm hoặc trừ khỏi luân lý vật lý, điều này điều khiển hướng và góc ảnh của đối tượng khi người chơi bấm phím mũi tên phải.
Bạn có thể cho Object một sự chuyển đổi tự nhiên hơn bằng cách sử dụng physics_apply_torque để xoay vật thể bằng mô-men xoắn
, đó là lực quay. Torque có tính đến khối lượng của đối tượng và làm cho quay chậm hơn, giống như một đối tượng thực tế đời sống; tuy nhiên, trong một trò chơi, bạn không luôn luôn muốn nó là quá thực (đó là một trò chơi, sau khi tất cả). Sự khác biệt giữa thế giới vật lý trong GameMaker: Studio và các chức năng truyền thống thường là hướng và góc ảnh được tính ngược chiều kim đồng hồ, do đó thêm 10 vào biến hướng sẽ xoay đối tượng sang trái. Tuy nhiên, khi sử dụng vật lý, hướng và góc được tính theo chiều kim đồng hồ, do đó thêm 10 vào giá trị quay quay đối tượng sang phải.