设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3072|回复: 2
打印 上一主题 下一主题

[已经解决] 小段代码书写请教

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2014-11-12
帖子
50
跳转到指定楼层
1
发表于 2014-11-21 16:20:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我想创建一个窗口
显示位置是屏幕中央 高度为100
文字内容为自定义 脚本里是输入$tip="";$tip_imformation="";
也就是在事件编辑中输入脚本进行调用 但是每次调用3秒之后让窗口消失不太会

RUBY 代码复制
  1. class Window_Tip < Window_Base
  2.   def initialize
  3.     if $tip_information.is_a?(String) and $tip_information!=""
  4.       @temptext = $tip_information.gsub(/(\r\n)|\n/,"")
  5.       i = 1
  6.       p = 0
  7.       insert_list = []
  8.       while p+i<= @temptext.size
  9.         w = tb.text_size(@temptext[p,i]).width
  10.         if w > window_width
  11.           insert_list << p+i-2
  12.           p = p+i-2
  13.           i = 1
  14.         end
  15.         i+=1
  16.       end
  17.       insert_list.reverse!
  18.       insert_list.each{|k| @temptext.insert(k,"\n")}
  19.       tb.dispose
  20.       addheight = (insert_list.size+2) * 24
  21.     end
  22.     super(0,416/2+50, window_width, window_height)
  23.     refresh
  24.   end
  25.   def window_width
  26.     return 544
  27.   end
  28.  
  29.   def window_height
  30.     return 100
  31.   end
  32.   def refresh
  33.     contents.clear
  34.     if $tip.nil? or $tip==""
  35.       $tip=""
  36.       $tip_information=""
  37.     end
  38.     draw_text_ex(0,0,"\\c[1]#{$tip}")
  39.     text_color(2)
  40.     draw_text_ex(0,24,@temptext)
  41.   end
  42.   def tip
  43.     $tip
  44.   end
  45.   def open
  46.     refresh
  47.     super
  48.   end
  49. end

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-11-21 16:57:26 | 只看该作者
窗口有一个 update 方法,通常会每帧调用一次。

在窗口的 update 中,监控 $tip 的变化。

例:
RUBY 代码复制
  1. class Window_XXX
  2.  
  3.   def update
  4.     refresh unless @tip.equal? $tip
  5.     disappear if Graphics.frame_count - @frame > 180
  6.   end
  7.  
  8.   def refresh
  9.     @tip = $tip
  10.     @frame = Graphics.frame_count
  11.     # redraw the contents
  12.   end
  13.  
  14.   def disappear
  15.     # ...
  16.   end
  17.  
  18. end
回复 支持 反对

使用道具 举报

路路 该用户已被删除
3
发表于 2014-11-21 18:41:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 05:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表