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

Project1

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

[RMVX发布] 去框闪烁文字标题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-5-16
帖子
23
跳转到指定楼层
1
发表于 2009-11-15 23:19:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv2.观梦者

神隐的主犯

梦石
0
星屑
283
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

2
发表于 2009-11-17 19:53:22 | 只看该作者
能说明下用法,或者效果吗?

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
帖子
345
3
发表于 2009-11-18 15:40:03 | 只看该作者
本帖最后由 kula1900 于 2009-11-18 16:40 编辑

翻译了下
  1. $imported = {} if $imported.nil?
  2. $imported["Mm12MTUGTitle"] = true
  3. #==============================================================================
  4. module Mm12
  5.   #--------------------------------------------------------------------------
  6.   # ● 标题 按钮 文本 设置
  7.   #--------------------------------------------------------------------------
  8.   # 常量数组说明
  9.   COMMAND_TEXT = []
  10.   # 新游戏文字 描绘
  11.   COMMAND_TEXT[0] = "新 游 戏"
  12.   # 读取游戏文字 描绘
  13.   COMMAND_TEXT[1] = "读取进度"
  14.   # 退出程序文字 描绘
  15.   COMMAND_TEXT[2] = "退出游戏"
  16.   # 自己可以添加
  17.   #--------------------------------------------------------------------------
  18.   # ● 标题 按钮 命令设置
  19.   # 预先定义:
  20.   # * command_new_game(启动一个新的游戏)
  21.   # * command_continue(读取游戏进度)
  22.   # * command_shutdown(退出游戏程序)
  23.   # 你也可以把:
  24.   # $Scene = Scene_Name.new
  25.   # **所有这些都必须在引号!**
  26.   #--------------------------------------------------------------------------
  27.   # 常量数组说明
  28.   COMMAND_ACTION = []
  29.   COMMAND_ACTION[0] = "command_new_game"
  30.   COMMAND_ACTION[1] = "command_continue"
  31.   COMMAND_ACTION[2] = "command_shutdown"
  32.   # 可以自行添加
  33.   #--------------------------------------------------------------------------
  34.   # ● 标题 按钮 文本 字体 位置 等 杂项 设置
  35.   #--------------------------------------------------------------------------
  36.   # 字体
  37.   COMMAND_FONT = ["Times New Roman","黑体","宋体", "Courier New"]
  38.   # 字体大小
  39.   COMMAND_TEXT_SIZE = 28
  40.   # 阴影 ture 有 | 无 false
  41.   COMMAND_SHADOW = false
  42.   # 加粗 ture 是 | 不 false
  43.   COMMAND_BOLD = true
  44.   # 倾斜 ture 是 | 不 false
  45.   COMMAND_ITALIC = true
  46.   # 颜色 Color.new(0,0,0)
  47.   COMMAND_COLOR_NOT = Color.new(0,0,0)
  48.   # Color Command Text flashes when selected
  49.   COMMAND_COLOR_YES = Color.new(205,205,205)
  50.   # 文字坐标 常量数组
  51.   COMMAND_X = []
  52.   COMMAND_Y = []
  53.   # 新游戏的文本描绘 X 坐标值
  54.   COMMAND_X[0] = 90
  55.   # 读取进度文本描绘 X 坐标值
  56.   COMMAND_X[1] = 120
  57.   # 结束游戏文本描绘 X 坐标值
  58.   COMMAND_X[2] = 150
  59.   # 新游戏的文本描绘 Y 坐标值
  60.   COMMAND_Y[0] = 170
  61.   # 读取进度文本描绘 Y 坐标值
  62.   COMMAND_Y[1] = 210
  63.   # 结束游戏文本描绘 Y 坐标值
  64.   COMMAND_Y[2] = 250
  65.   # 标题背景图片名称 (默认为 "Title")
  66.   TITLE_GRAPHIC_NAME = "Title"
  67.   # 标题背景图片所在文件夹 (默认为 "System")
  68.   TITLE_GRAPHIC_FOLDER = "System"
  69. end
  70. #--------------------------------------------------------------------------
  71. #实际脚本开始在这里!
  72. #--------------------------------------------------------------------------
  73. module Cache
  74.   #------------------------------------------------------------------------
  75.   # 获取 标题背景图片 路径
  76.   #------------------------------------------------------------------------
  77.   def self.title(filename)
  78.     load_bitmap("Graphics/#{Mm12::TITLE_GRAPHIC_FOLDER}/", filename)
  79.   end
  80. end
  81. #==============================================================================
  82. # ** Scene_Title
  83. #------------------------------------------------------------------------------
  84. #    处理标题画面的类。
  85. #==============================================================================
  86. class Scene_Title < Scene_Base
  87.   #--------------------------------------------------------------------------
  88.   # * 主处理
  89.   #--------------------------------------------------------------------------
  90.   def main
  91.     # 如果是战斗测试
  92.     if $BTEST
  93.       # 执行战斗测试
  94.       battle_test
  95.     # 不是的情况下
  96.     else
  97.       # 执行原来的主处理
  98.       super
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # 开始
  103.   #--------------------------------------------------------------------------
  104.   def start
  105.     super
  106.     @com_wait = 1
  107.     @sel_index = 0
  108.     load_database                     # 载入数据库
  109.     create_game_objects               # 生成游戏对象
  110.     check_continue                    # 判断继续是否有效
  111.     create_title_graphic              # 生成标题画面图像
  112.     create_command_window             # 生成指令窗口
  113.     play_title_music                  # 播放标题画面音乐
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # 执行过渡
  117.   #--------------------------------------------------------------------------
  118.   def perform_transition
  119.     Graphics.transition(20)
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # 开始后处理
  123.   #--------------------------------------------------------------------------
  124.   def post_start
  125.     super
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # 结束前处理
  129.   #--------------------------------------------------------------------------
  130.   def pre_terminate
  131.     super
  132.   end
  133.   #--------------------------------------------------------------------------
  134.   # 结束处理
  135.   #--------------------------------------------------------------------------
  136.   def terminate
  137.     super
  138.     dispose_command_graphics
  139.     snapshot_for_background
  140.     dispose_title_graphics
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # 更新画面
  144.   #--------------------------------------------------------------------------
  145.   def update
  146.     super
  147.     update_com_graphics
  148.     if Input.trigger?(Input::DOWN)
  149.       pre_mvmt
  150.       if @sel_index == (Mm12::COMMAND_TEXT.size-1)
  151.         @sel_index = 0
  152.       else
  153.         @sel_index += 1
  154.       end
  155.       post_mvmt
  156.     elsif Input.trigger?(Input::UP)
  157.       pre_mvmt
  158.       if @sel_index == 0
  159.         @sel_index = (Mm12::COMMAND_TEXT.size-1)
  160.       else
  161.         @sel_index -= 1
  162.       end
  163.       post_mvmt
  164.     elsif Input.trigger?(Input::C)
  165.        eval(Mm12::COMMAND_ACTION[@sel_index])
  166.     end
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # 更新命令 (闪烁)
  170.   #--------------------------------------------------------------------------
  171.   def update_com_graphics
  172.     @com_wait -= 1
  173.     if @com_wait <= 0
  174.       @com_graphics[@sel_index].flash(Mm12::COMMAND_COLOR_YES,60)
  175.       @com_wait = 60
  176.     end
  177.     for sprt in @com_graphics
  178.       sprt.update
  179.     end
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # 选择命令后 画面音效处理(按下C键)
  183.   #--------------------------------------------------------------------------
  184.   def post_mvmt
  185.     Sound.play_cursor
  186.     @com_graphics[@sel_index].flash(Mm12::COMMAND_COLOR_YES,60)
  187.     @com_wait = 60
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # 预选命令后 画面音效处理(未按下C键)
  191.   #--------------------------------------------------------------------------
  192.   def pre_mvmt
  193.     @com_graphics[@sel_index].flash(Mm12::COMMAND_COLOR_NOT,60)
  194.   end
  195.   #--------------------------------------------------------------------------
  196.   # 继续游戏
  197.   #--------------------------------------------------------------------------
  198.   def check_continue
  199.     @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  200.   end
  201.   #--------------------------------------------------------------------------
  202.   # 创建标题画面
  203.   #--------------------------------------------------------------------------
  204.   def create_title_graphics
  205.    @back_sprite = Sprite.new
  206.    @back_sprite.bitmap = Cache.title(Mm12::TITLE_GRAPHIC_NAME)
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # 释放标题画面
  210.   #--------------------------------------------------------------------------
  211.   def dispose_title_graphics
  212.     @back_sprite.bitmap.dispose
  213.     @back_sprite.dispose
  214.   end
  215.   #--------------------------------------------------------------------------
  216.   # 生成指令窗口(新游戏,继续游戏,退出)
  217.   # 这里是重点我详细翻译下
  218.   # 这里 为什么说还是有框 其实他是把框和框背景图全部透明 这个脚本自己编写其实
  219.   # 也并不困难
  220.   #--------------------------------------------------------------------------
  221.   def create_command_graphics
  222.     # 生成指令窗口
  223.     @command_window = Window_Base.new(250, 350, 44, 50)
  224.     # 指令窗口 边框 透明
  225.     @command_window.opacity = 0
  226.     # 指令窗口 背景 透明
  227.     @command_window.back_opacity = 0
  228.     # 指令窗口 内容 透明
  229.     @command_window.contents_opacity = 0
  230.     # 窗口的开启程度
  231.     # 将此数值从 0(完全关闭)至 255(完全开启)之间变换,可以产生窗口打开
  232.     # 和关闭的动画效果。 openness 若低于 255,则不会显示其内容。默认值 255。
  233.     @command_window.openness = 0
  234.     # 变量数组声明
  235.     @com_graphics = []
  236.     # 循环 index(变量赋值) 范围 1 - (指令个数 - 1)
  237.     for index in 0..(Mm12::COMMAND_TEXT.size - 1)
  238.       #----------------------------------------------------------------------
  239.       # 这里有单独 让每个指令生成了 一个单独的 精灵类
  240.       # 作者可能 想让让他们 单独 刷新 不 影 响 外 体
  241.       # 所以 指令窗口 内容 透明 作者设置了 绝对透明
  242.       # 因此不需要 修改 Window_Base 类 即可让光标消失
  243.       # 可是有一疑团 如果 @command_window 根本就是没用到 又何必浪费经历呢?
  244.       #----------------------------------------------------------------------
  245.       # 时间关系不再 一一翻译
  246.       @com_graphics[index] = Sprite.new
  247.       @com_graphics[index].bitmap = Bitmap.new(200,200)
  248.       @com_graphics[index].bitmap.font.name = Mm12::COMMAND_FONT
  249.       @com_graphics[index].bitmap.font.size = Mm12::COMMAND_TEXT_SIZE
  250.       @com_graphics[index].bitmap.font.color = Mm12::COMMAND_COLOR_NOT
  251.       @com_graphics[index].bitmap.font.shadow = Mm12::COMMAND_SHADOW
  252.       @com_graphics[index].bitmap.font.bold = Mm12::COMMAND_BOLD
  253.       @com_graphics[index].bitmap.font.italic = Mm12::COMMAND_ITALIC
  254.       @com_graphics[index].ox = -(Mm12::COMMAND_X[index])
  255.       @com_graphics[index].oy = -(Mm12::COMMAND_Y[index])
  256.       rect = @com_graphics[index].bitmap.text_size(Mm12::COMMAND_TEXT[index])
  257.       @com_graphics[index].bitmap.draw_text(0,0,rect.width,rect.height,Mm12::COMMAND_TEXT[index])
  258.     end
  259.   end
  260.   #--------------------------------------------------------------------------
  261.   # 释放命令图形
  262.   #--------------------------------------------------------------------------
  263.   def dispose_command_graphics
  264.     for com in @com_graphics
  265.       com.dispose unless com.nil?
  266.     end
  267.     @command_window.dispose
  268.   end
  269.   #--------------------------------------------------------------------------
  270.   # 关闭指令窗口
  271.   #--------------------------------------------------------------------------
  272.   def close_command_window
  273.     return
  274.   end
  275. end
复制代码

点评

我仔細看了下 不大懂...是在Scene_Title裡面修改嗎?  发表于 2010-8-23 19:40
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 09:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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