[Thảo Luận] [Help] Cần hướng dẫn chỉnh sửa Scene_Battle?!
Em muốn làm mờ (trong suốt cái window skin) đi mấy cái window trong battle (status, skill, item, vvv).

p/s: tiện thể cho em hỏi làm sao để làm battleback như trong hình ợ.

p/s: tiện thể cho em hỏi làm sao để làm battleback như trong hình ợ.
Comments
Để biết chi tiết về thuộc tính của class Window này bạn có thể xem trong file Help mục: RGSS Reference Manual > Game Library > RGSS Built-in Classes > Window (Nói vậy để lần sau bạn có thể chủ động tìm, đỡ mất công hỏi và đợi chờ).
Nhìn chung thì vào chủ đề chính.
Class Window có 3 thuộc tính dùng cho việc làm mờ window.
Khi biết 3 thuộc tính ở trên rồi thì bạn chỉ việc tìm Biến lưu trữ cái Window đó ở trong class Scene tương ứng và đặt giá trị bạn muốn.
Ví dụ: Mình sẽ làm với @actor_command_window (Là cái window có các lựa chọn Attack, Skill, Guard, ...)
Ở trên nếu muốn làm mờ toàn bộ Window, mình sẽ dùng thuộc tính opacity.
[php]
def create_actor_command_window
@actor_command_window = Window_ActorCommand.new
@actor_command_window.viewport = @info_viewport
@actor_command_window.set_handler(:attack, method(:command_attack))
@actor_command_window.set_handler(:skill, method(:command_skill))
@actor_command_window.set_handler(:guard, method(:command_guard))
@actor_command_window.set_handler(:item, method(:command_item))
@actor_command_window.set_handler(:cancel, method(:prior_command))
@actor_command_window.x = Graphics.width
#Làm mờ Window
@actor_command_window.opacity = 100
end
[/php]
Cách trên sẽ thêm code trực tiếp vào code nguồn, điều này theo mình là không nên (ở trên chủ yếu là giúp bạn hiểu hơn).
Do đó có cách khác để thêm code vào mà không trực tiếp sửa code nguồn là sử dụng: alias.
Bạn có thể viết dòng code này ở 1 section khác, đặt tên là Custom Battle Window chẳng hạn (1 cái script mới, script này sẽ tác động vào script nguồn).
Ví dụ: Code ở trên có thể sửa thành:
[php]
alias sl_create_actor_command_window create_actor_command_window
def create_actor_command_window
sl_create_actor_command_window
#Làm mờ Window
@actor_command_window.opacity = 100
end
[/php]
Còn cái battle back kia mình nghĩ là dùng Photoshop, còn cách làm thì mình nghĩ là:
1. Vẽ tile map (chỉ vẽ nền thôi).
2. Chụp ảnh (có thể chạy game rồi chụp).
3. Dùng pts làm nghiêng cái ảnh
4. Chèn cây cỏ hoa lá vào (cái này ko cần làm nghiêng, để mặc định sẽ tạo cảm giác chúng dựng đứng, nhìn giống 3D hơn) :D
5. Xong rồi thì lưu ảnh lại bỏ vào làm battleback thôi