Video: The Witness Documentary 2025
Một vấn đề với các đối tượng vẽ trong GameMaker: Studio mà bạn có thể gặp là bóng tối không có xu hướng vuông với đường dây cứng nhắc. Các thủ tục sau đây chỉ cho bạn cách tạo bề mặt để vẽ bóng cho tường.
Để tạo một đối tượng mới cho hiệu ứng bề mặt, hãy làm theo các bước sau:
-
Với hướng dẫn Surfaces mở, từ cây Resource, kích chuột phải vào Objects và chọn Create Object.
Các thuộc tính đối tượng xuất hiện.
-
Trong trường Tên, gõ obj_Shadow_Surface.
-
Trong trường Độ sâu, gõ -900.
Độ sâu này sẽ vẽ bóng dưới tường Trường hợp để bạn sẽ không bao giờ nhìn thấy hiệu ứng bóng tối trên hoặc trên tường chính nó.
-
Chọn Thêm sự kiện → Tạo.
Sự kiện Tạo 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 sang phần Hành động.
Một cửa sổ mã xuất hiện.
-
Trong cửa sổ mã, nhập lệnh sau:
surf = -1;
Đoạn mã này tạo ra một biến cho bề mặt nhưng không tạo bề mặt chính nó.
-
Nhấp vào dấu kiểm màu xanh lá cây.
Cửa sổ mã được lưu và đóng.
Bạn sẽ tạo ra hiệu ứng bề mặt trong sự kiện Draw, được kích hoạt mỗi bước của trò chơi.
Trước tiên, tuy nhiên, thủ tục sau đây cho thấy làm thế nào để loại bỏ hiệu ứng bề mặt khi bạn không còn cần nó.
-
Từ tính năng Object obj_Shadow_Surface, chọn Add Event → Other → End Room.
Sự kiện Sự kiện ở phòng 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 sang phần Hành động.
Một cửa sổ mã sẽ xuất hiện.
-
Trong cửa sổ mã, nhập lệnh sau:
nếu surface_exists (surf) {surface_free (surf);}
-
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 giải phóng bộ nhớ mà bề mặt đang sử dụng.
Nếu bộ nhớ không được giải phóng khi bề mặt không còn cần thiết, trò chơi có thể phát triển sự rò rỉ bộ nhớ, điều này sẽ làm hỏng trò chơi của bạn.