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

Project1

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

[已经解决] 帮忙简化一下脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
761
在线时间
7 小时
注册时间
2012-10-14
帖子
4
跳转到指定楼层
1
发表于 2012-10-27 12:03:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Louf.D.Rubu 于 2012-10-27 14:41 编辑

   这个嗯    求简化一下 ........
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_TitleCommand
  3. #------------------------------------------------------------------------------
  4. #  标题画面中,增加指令"制作名单"
  5.  
  6. #==============================================================================
  7. class Window_TitleCommand < Window_Command
  8.  
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对象
  11.   #--------------------------------------------------------------------------
  12.   def initialize
  13.     super(0, 0)
  14.     update_placement
  15.     select_symbol(:continue) if continue_enabled
  16.     self.openness = 0
  17.     open
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取窗口的宽度
  21.   #--------------------------------------------------------------------------
  22.   def window_width
  23.     return 160
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 更新窗口的位置
  27.   #--------------------------------------------------------------------------
  28.   def update_placement
  29.     self.x = (Graphics.width - width) / 2
  30.     self.y = (Graphics.height * 1.6 - height) / 2
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 生成指令列表
  34.   #--------------------------------------------------------------------------
  35.   def make_command_list
  36.     add_command(Vocab::new_game, :new_game)
  37.     add_command(Vocab::continue, :continue, continue_enabled)
  38.     add_command(Vocab::shutdown, :shutdown)
  39.     add_command("制作名单", :制作名单)
  40.     end
  41.   #--------------------------------------------------------------------------
  42.   # ● 获取“继续游戏”选项是否有效
  43.   #--------------------------------------------------------------------------
  44.   def continue_enabled
  45.     DataManager.save_file_exists?
  46.   end
  47. end
  48.  
  49. #==============================================================================
  50. # ■ Scene_Title
  51. #------------------------------------------------------------------------------
  52. #  标题画面
  53. #==============================================================================
  54.  
  55. class Scene_Title < Scene_Base
  56.   #--------------------------------------------------------------------------
  57.   # ● 开始处理
  58.   #--------------------------------------------------------------------------
  59.   def start
  60.     super
  61.     SceneManager.clear
  62.     Graphics.freeze
  63.     create_background
  64.     create_foreground
  65.     create_command_window
  66.     play_title_music
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # ● 获取渐变速度
  70.   #--------------------------------------------------------------------------
  71.   def transition_speed
  72.     return 20
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 结束处理
  76.   #--------------------------------------------------------------------------
  77.   def terminate
  78.     super
  79.     SceneManager.snapshot_for_background
  80.     dispose_background
  81.     dispose_foreground
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 生成背景
  85.   #--------------------------------------------------------------------------
  86.   def create_background
  87.     @sprite1 = Sprite.new
  88.     @sprite1.bitmap = Cache.title1($data_system.title1_name)
  89.     @sprite2 = Sprite.new
  90.     @sprite2.bitmap = Cache.title2($data_system.title2_name)
  91.     center_sprite(@sprite1)
  92.     center_sprite(@sprite2)
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 生成前景
  96.   #--------------------------------------------------------------------------
  97.   def create_foreground
  98.     @foreground_sprite = Sprite.new
  99.     @foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  100.     @foreground_sprite.z = 100
  101.     draw_game_title if $data_system.opt_draw_title
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 绘制游戏标题
  105.   #--------------------------------------------------------------------------
  106.   def draw_game_title
  107.     @foreground_sprite.bitmap.font.size = 48
  108.     rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)
  109.     @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # ● 释放背景
  113.   #--------------------------------------------------------------------------
  114.   def dispose_background
  115.     @sprite1.bitmap.dispose
  116.     @sprite1.dispose
  117.     @sprite2.bitmap.dispose
  118.     @sprite2.dispose
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● 释放前景
  122.   #--------------------------------------------------------------------------
  123.   def dispose_foreground
  124.     @foreground_sprite.bitmap.dispose
  125.     @foreground_sprite.dispose
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 执行精灵居中
  129.   #--------------------------------------------------------------------------
  130.   def center_sprite(sprite)
  131.     sprite.ox = sprite.bitmap.width / 2
  132.     sprite.oy = sprite.bitmap.height / 2
  133.     sprite.x = Graphics.width / 2
  134.     sprite.y = Graphics.height / 2
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● 生成指令窗口
  138.   #--------------------------------------------------------------------------
  139.   def create_command_window
  140.     @command_window = Window_TitleCommand.new
  141.     @command_window.set_handler(:new_game, method(:command_new_game))
  142.     @command_window.set_handler(:continue, method(:command_continue))
  143.     @command_window.set_handler(:shutdown, method(:command_shutdown))
  144.     @command_window.set_handler(:制作名单, method(:command_制作名单))
  145.     end
  146.   #--------------------------------------------------------------------------
  147.   # ● 关闭指令窗口
  148.   #--------------------------------------------------------------------------
  149.   def close_command_window
  150.     @command_window.close
  151.     update until @command_window.close?
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 指令“开始游戏”
  155.   #--------------------------------------------------------------------------
  156.   def command_new_game
  157.     DataManager.setup_new_game
  158.     close_command_window
  159.     fadeout_all
  160.     $game_map.autoplay
  161.     SceneManager.goto(Scene_Map)
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 指令“继续游戏”
  165.   #--------------------------------------------------------------------------
  166.   def command_continue
  167.     close_command_window
  168.     SceneManager.call(Scene_Load)
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● 指令“退出游戏”
  172.   #--------------------------------------------------------------------------
  173.   def command_shutdown
  174.     close_command_window
  175.     fadeout_all
  176.     SceneManager.exit
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 指令“制作名单”
  180.   #--------------------------------------------------------------------------
  181.   def command_制作名单
  182.     close_command_window
  183.     fadeout_all
  184.     $game_map.setup (12)
  185.     SceneManager.goto(Scene_Map)
  186.   end
  187.   #--------------------------------------------------------------------------
  188.   # ● 播放标题画面音乐
  189.   #--------------------------------------------------------------------------
  190.   def play_title_music
  191.     $data_system.title_bgm.play
  192.     RPG::BGS.stop
  193.     RPG::ME.stop
  194.   end
  195. end

Lv3.寻梦者

梦石
1
星屑
2078
在线时间
920 小时
注册时间
2012-10-18
帖子
428

开拓者

2
发表于 2012-10-27 14:11:20 | 只看该作者
本帖最后由 芙蕾娅 于 2012-10-27 14:20 编辑

这样?
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_TitleCommand
  3. #------------------------------------------------------------------------------
  4. #  标题画面中,增加指令"制作名单"
  5. #==============================================================================
  6. class Window_TitleCommand < Window_Command
  7.   #--------------------------------------------------------------------------
  8.   # ● 生成指令列表
  9.   #--------------------------------------------------------------------------
  10.   alias mcl_make_command_list make_command_list
  11.   def make_command_list
  12.     mcl_make_command_list
  13.     add_command("制作名单", :制作名单)
  14.   end
  15. end
  16.  
  17. #==============================================================================
  18. # ■ Scene_Title
  19. #------------------------------------------------------------------------------
  20. #  标题画面
  21. #==============================================================================
  22.  
  23. class Scene_Title < Scene_Base
  24.   #--------------------------------------------------------------------------
  25.   # ● 生成指令窗口
  26.   #--------------------------------------------------------------------------
  27.   alias ccw_create_command_window create_command_window
  28.   def create_command_window
  29.     ccw_create_command_window
  30.     @command_window.set_handler(:制作名单, method(:command_制作名单))
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 指令“制作名单”
  34.   #--------------------------------------------------------------------------
  35.   def command_制作名单
  36.     close_command_window
  37.     fadeout_all
  38.     $game_map.setup (12)
  39.     SceneManager.goto(Scene_Map)
  40.   end
  41. end

评分

参与人数 1梦石 +2 收起 理由
迷糊的安安 + 2 认可答案 附赠66RPG提供的精美好人卡一张^^.

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
761
在线时间
7 小时
注册时间
2012-10-14
帖子
4
3
 楼主| 发表于 2012-10-27 14:40:33 | 只看该作者
芙蕾娅 发表于 2012-10-27 14:11
这样?
#==============================================================================
# ■ Window_T ...

      嗯      感谢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2012-10-1
帖子
21
4
发表于 2012-10-27 15:34:59 | 只看该作者
Louf.D.Rubu 发表于 2012-10-27 14:40
嗯      感谢

什么叫制作名单?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 13:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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