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

Project1

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

[原创发布] 一个实用的提示脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
465 小时
注册时间
2011-4-13
帖子
174
跳转到指定楼层
1
发表于 2012-9-22 21:34:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 heiwang1997 于 2013-12-8 14:02 编辑

做游戏衍生出的东西,现在献丑拿出来发布一下


功能:显示提示框(与得失物品提示脚本不同的是,该对话框可以随着地图刷新,不影响游戏流畅)
使用方法:在事件中输入脚本    tip("提示内容") 即可

  1. $提示框弹出时间 = 20
  2. class Window_Tip < Window_Base
  3.   def initialize
  4.     super(0,300,128,64)
  5.     self.contents_opacity = 0
  6.     self.opacity = 0
  7.     self.contents = Bitmap.new(width - 32, height - 32)
  8.     self.z = 9999
  9.     @p = 0
  10.   end
  11.   def refresh
  12.     text = $game_temp.tipping
  13.     self.x = (580-(text.to_s.size / 3 * 32))/2
  14.     self.width = (text.to_s.size / 3 * 32)+32
  15.     self.contents = Bitmap.new(width - 32, height - 32)
  16.     self.contents.draw_text(0, -2, (text.to_s.size / 3 * 32), 32, text,1)
  17.     case @p
  18.     when 0..40
  19.       self.opacity += 30
  20.       self.contents_opacity += 30
  21.     when (40 + $提示框弹出时间)..(80 + $提示框弹出时间)
  22.       self.opacity -= 30
  23.       self.contents_opacity -= 30
  24.     when (81 + $提示框弹出时间)
  25.       $game_temp.tipping = nil
  26.       self.opacity = 0
  27.       self.contents_opacity = 0
  28.       @p = -1
  29.     end
  30.     @p += 1
  31.   end
  32. end
  33. class Game_Temp
  34.   attr_accessor :tipping
  35. end
  36. class Interpreter
  37.   def tip(text)
  38.     $game_temp.tipping = text
  39.   end
  40. end
  41. class Scene_Map
  42.   alias b_m main
  43.   def main
  44.     @tip = Window_Tip.new
  45.     b_m
  46.     @tip.dispose
  47.   end
  48.   alias u update
  49.   def update
  50.     @tip.refresh if $game_temp.tipping
  51.     u
  52.   end
  53. end
复制代码

点评

无图无真相  发表于 2012-9-22 21:36

Lv2.观梦者

梦石
0
星屑
760
在线时间
580 小时
注册时间
2012-6-3
帖子
363
2
发表于 2012-9-23 01:40:46 | 只看该作者
我测试了一下,真的可以啊,就是在途中有一个信息,可以用来做游戏中获得奖品提示不错
小白狐一只~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
433 小时
注册时间
2010-5-13
帖子
116
3
发表于 2012-9-26 12:13:52 | 只看该作者
本帖最后由 005020671 于 2012-9-26 12:16 编辑

refresh方法可以这么写、减少计算量、
  1. @text_temp #存储信息临时变量
  2. text = $game_temp.tipping
  3.    
  4.     if @text_temp != text #如果提示信息和上次信息不相等才重新计算               
  5.       @text_temp = text
  6.       self.x = (580-(text.to_s.size / 3 * 32))/2
  7.       self.width = (text.to_s.size / 3 * 32)+32
  8.       self.contents = Bitmap.new(width - 32, height - 32)
  9.       self.contents.draw_text(0, -2, (text.to_s.size / 3 * 32), 32, text,1)
  10.     end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1820
在线时间
360 小时
注册时间
2012-12-10
帖子
427
4
发表于 2012-12-17 21:22:07 | 只看该作者
很实用,顶一下。
『我对你矢志不渝。』
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
63 小时
注册时间
2013-7-24
帖子
26
5
发表于 2013-12-10 05:20:19 | 只看该作者
会出错,加我QQ454664075
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-16 11:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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