Project1

标题: 关于在地图界面直接显示文字 [打印本页]

作者: 判约之轮    时间: 2015-4-14 15:49
标题: 关于在地图界面直接显示文字
本帖最后由 判约之轮 于 2015-4-14 16:50 编辑

纠结了老半天果然还是关键词不对,原来喵5已经写过一个基于window模板的脚本了,看起来即使功能冗余了点也足够使用
结果→https://rpg.blue/home.php?mod=sp ... o=blog&id=12023
很抱歉占用了多余的版面,结贴
[line]2[/line]
非常喜欢elona那样的角色生成页面,但是在地图界面直接绘制文字的时候卡住了
我的想法是以help窗口为蓝本,改造一个文字窗口,由于背景和边框都被隐藏掉了,所以也就和sprite绘制文字无异了
但现在的问题是每次调用启动脚本只能维持显示1-4秒不等,并行处理循环的话,有时候会窗口重叠,有时候会完全消失,所以来此问一下大神们有什么可以解决的办法?由于是在事件内调用脚本,也不知道是否需要换个思路
RUBY 代码复制
  1. $wt_link = nil     #追踪指针
  2.   class Window_Text < Window_Base
  3.     #--------------------------------------------------------------------------
  4.     # ● 初始化对象
  5.     #--------------------------------------------------------------------------
  6.     def initialize(x = 0, y = 0, text = "")
  7.       super(x, y, Graphics.width, text.size * 50)
  8.       self.back_opacity = 0
  9.       self.windowskin = Bitmap.new("Graphics\\System\\noframe.png")   #无边框窗口皮肤
  10.       set_text(text)
  11.       @link = self
  12.     end
  13.     #--------------------------------------------------------------------------
  14.     # ● 设置内容
  15.     #--------------------------------------------------------------------------
  16.     def set_text(text)
  17.       if text != @text
  18.         @text = text
  19.         refresh
  20.       end
  21.     end
  22.     #--------------------------------------------------------------------------
  23.     # ● 清除
  24.     #--------------------------------------------------------------------------
  25.     def clear
  26.       set_text("")
  27.     end
  28.     #--------------------------------------------------------------------------
  29.     # ● 刷新
  30.     #--------------------------------------------------------------------------
  31.     def refresh
  32.       contents.clear
  33.       draw_text_ex(4, 0, @text)
  34.     end
  35.   end


补充,这是我在事件中的调用方式:
RUBY 代码复制
  1. a = Window_Text
  2. a.new(50,50,"调用成功")
   
作者: 喵呜喵5    时间: 2015-4-14 17:32
前辈诈尸2333……

一般显示窗口推荐的做法是作为实例变量显示在scene中,要用在事件脚本里的话,看这个帖子:

https://rpg.blue/thread-329085-1-1.html




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