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

Project1

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

[已经解决] 雾图形的效果请问能在标题界面里实现吗?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
跳转到指定楼层
1
发表于 2017-12-3 16:25:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
标题Scene_Title好像没有地图编号吧?
事件标题除外喔!
如果可以的话该怎么将应用脚本写入标题Scene_Title内。


一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2017-12-3 16:53:47 | 只看该作者
可以的,虽然没有看代码,但是雾的实现应该是
1. 在 main 的 loop 前新建一个 @fog = RPG::Spirte.new,
2. 在 update 方法里调用 @fog.x += 1和 @fog.update 方法
3. 在 main 的 loop 后释放:@fog.dispose

点评

谢谢,但是不太明白,怎么调用呢?图形、加减法、还有坐标等等。  发表于 2017-12-3 20:18
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

3
发表于 2017-12-3 20:33:59 | 只看该作者
本帖最后由 guoxiaomi 于 2017-12-3 20:35 编辑

刚刚说错了,实际上fog用的是Plane.new,这里对 Scene_Title 的 main 和 update 方法进行一些修改~
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================
  6.  
  7. class Scene_Title
  8.   #--------------------------------------------------------------------------
  9.   # ● 主处理
  10.   #--------------------------------------------------------------------------
  11.   def main
  12.     # 战斗测试的情况下
  13.     if $BTEST
  14.       battle_test
  15.       return
  16.     end
  17.     # 载入数据库
  18.     $data_actors        = load_data("Data/Actors.rxdata")
  19.     $data_classes       = load_data("Data/Classes.rxdata")
  20.     $data_skills        = load_data("Data/Skills.rxdata")
  21.     $data_items         = load_data("Data/Items.rxdata")
  22.     $data_weapons       = load_data("Data/Weapons.rxdata")
  23.     $data_armors        = load_data("Data/Armors.rxdata")
  24.     $data_enemies       = load_data("Data/Enemies.rxdata")
  25.     $data_troops        = load_data("Data/Troops.rxdata")
  26.     $data_states        = load_data("Data/States.rxdata")
  27.     $data_animations    = load_data("Data/Animations.rxdata")
  28.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
  29.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  30.     $data_system        = load_data("Data/System.rxdata")
  31.     # 生成系统对像
  32.     $game_system = Game_System.new
  33.     # 生成标题图形
  34.     @sprite = Sprite.new
  35.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  36.     # 生成命令窗口
  37.     s1 = "新游戏"
  38.     s2 = "继续"
  39.     s3 = "退出"
  40.     @command_window = Window_Command.new(192, [s1, s2, s3])
  41.     @command_window.back_opacity = 160
  42.     @command_window.x = 320 - @command_window.width / 2
  43.     @command_window.y = 288
  44.     # 判定继续的有效性
  45.     # 存档文件一个也不存在的时候也调查
  46.     # 有効为 @continue_enabled 为 true、无效为 false
  47.     @continue_enabled = false
  48.     for i in 0..3
  49.       if FileTest.exist?("Save#{i+1}.rxdata")
  50.         @continue_enabled = true
  51.       end
  52.     end
  53.     # 继续为有效的情况下、光标停止在继续上
  54.     # 无效的情况下、继续的文字显示为灰色
  55.     if @continue_enabled
  56.       @command_window.index = 1
  57.     else
  58.       @command_window.disable_item(1)
  59.     end
  60.     # 演奏标题 BGM
  61.     $game_system.bgm_play($data_system.title_bgm)
  62.     # 停止演奏 ME、BGS
  63.     Audio.me_stop
  64.     Audio.bgs_stop
  65.     #----------------------------------------------------
  66.     # fog 1. 新建 Plane 对象
  67.     #----------------------------------------------------
  68.     @fog = Plane.new
  69.     @fog.bitmap = RPG::Cache.fog('001-Fog01', 0)
  70.     @fog.opacity = 128
  71.     #----------------------------------------------------
  72.     # 执行过渡
  73.     Graphics.transition
  74.     # 主循环
  75.     loop do
  76.       # 刷新游戏画面
  77.       Graphics.update
  78.       # 刷新输入信息
  79.       Input.update
  80.       # 刷新画面
  81.       update
  82.       # 如果画面被切换就中断循环
  83.       if $scene != self
  84.         break
  85.       end
  86.     end
  87.     # 装备过渡
  88.     Graphics.freeze
  89.     # 释放命令窗口
  90.     @command_window.dispose
  91.     # 释放标题图形
  92.     @sprite.bitmap.dispose
  93.     @sprite.dispose
  94.     #----------------------------------------------------
  95.     # fog 2. 释放 Plane 对象
  96.     #----------------------------------------------------
  97.     @fog.bitmap.dispose
  98.     @fog.dispose
  99.     #----------------------------------------------------
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 刷新画面
  103.   #--------------------------------------------------------------------------
  104.   def update
  105.     # 刷新命令窗口
  106.     @command_window.update
  107.     # 按下 C 键的情况下
  108.     if Input.trigger?(Input::C)
  109.       # 命令窗口的光标位置的分支
  110.       case @command_window.index
  111.       when 0  # 新游戏
  112.         command_new_game
  113.       when 1  # 继续
  114.         command_continue
  115.       when 2  # 退出
  116.         command_shutdown
  117.       end
  118.     end
  119.     #----------------------------------------------------
  120.     # fog 3. 每次 update 改变位置
  121.     #----------------------------------------------------
  122.     @fog.ox += 1
  123.     @fog.oy += 1
  124.     #----------------------------------------------------
  125.   end
  126. end

评分

参与人数 3星屑 +50 +2 收起 理由
RyanBern + 50 认可答案
chd114 + 1 这个可以有(滑稽)
文雅夕露 + 1 感谢指教

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 13:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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