Project1

标题: 关于窗口类里面的一个问题 [打印本页]

作者: kvkv97    时间: 2026-2-4 23:58
标题: 关于窗口类里面的一个问题
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     x      : 窗口的 X 坐标
  #     y      : 窗口的 Y 坐标
  #     width  : 窗口的宽
  #     height : 窗口的宽
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super()
    @windowskin_name = $game_system.windowskin_name
    self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
  end
end

问题是,self.x = x,self.x =是 Window的内置脚本的方法
def x =(x)
  @x=x
end
我估计,还有个方法是
def x
  @x
end
那么,
窗口要显示,取得@x的值,它是怎么显示的?怎么实现x就是窗口的X坐标的?
作者: 百里_飞柳    时间: 2026-2-5 20:33
本帖最后由 百里_飞柳 于 2026-2-6 17:25 编辑

这就是封装在 dll 里面的 class Window,但是 dll 是用c++写的并封装,也没法获得源代码

如果你真的想了解原理,可以看看mv或mz的默认js脚本里的 js/rpg_core/Window.js ,里面也有 window 的实现


我在github里搜索 RMMV window,随便找到一个人家的mv扩展项目就有
https://github.com/rpgtkoolmv/co ... /rpg_core/Window.js
你可以参考看看


安装包可以直接在论坛里搜到的




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1