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

Project1

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

[讨论] 一种非常BT的想法....讨论下

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
100
在线时间
169 小时
注册时间
2007-8-12
帖子
203
1
发表于 2011-4-17 12:07:59 | 显示全部楼层
本帖最后由 心雪 于 2011-4-17 12:17 编辑
  1. class Window_Base
  2.   def setup_skinname(v)
  3.     self.windowskin = RPG::Cache.windowskin(v)
  4.   end
  5. end
  6. class Scene_Skin
  7.   def main
  8.     @tip = Window_Base.new(0,0,640,96)
  9.     @tip.contents = Bitmap.new(640-32,64)
  10.     @tip.contents.draw_text(0,0,640,32,"请将皮肤文件放入Graphics\\Windowskins文件夹下(JPG or PNG)")
  11.     @tip.contents.draw_text(0,32,640,32,"您要选择哪个窗口文件?")
  12.     @filelist = Dir["Graphics//Windowskins//*.png"]
  13.     @filelist += Dir["Graphics//Windowskins//*.jpg"]
  14.     @filelist.sort!
  15.     @filelist.each{|s|s["Graphics//Windowskins//"] = ""}
  16.     #p @filelist
  17.     #p Dir["Graphics//Windowskins//*.*"]
  18.     if @filelist.size != 0
  19.       @choose = Window_Command.new(640,@filelist)
  20.     else
  21.       @choose = Window_Command.new(640,["无文件"])
  22.       @choose.disable_item(0)
  23.     end
  24.     @choose.height = 480-96
  25.     @choose.x = 0
  26.     @choose.y = 96
  27.     @old_index = @choose.index
  28.     # 执行过渡
  29.     Graphics.transition
  30.     # 主循环
  31.     loop do
  32.       # 刷新游戏画面
  33.       Graphics.update
  34.       # 刷新输入信息
  35.       Input.update
  36.       # 刷新画面
  37.       update
  38.       # 如果画面切换的话的就中断循环
  39.       if $scene != self
  40.         break
  41.       end
  42.     end
  43.     Graphics.freeze
  44.     @choose.dispose
  45.     @tip.dispose
  46.   end
  47.   def update
  48.     @choose.update
  49.     if Input.trigger?(Input::C)
  50.       if @filelist.size == 0
  51.         $game_system.se_play($data_system.buzzer_se)
  52.         return
  53.       end
  54.       $game_system.se_play($data_system.decision_se)
  55.       @skin_name = @filelist[@choose.index]
  56.       $game_system.windowskin_name = @skin_name
  57.       @tip.setup_skinname(@skin_name)
  58.       @choose.setup_skinname(@skin_name)
  59.       $scene = Scene_Map.new
  60.     end
  61.     if Input.trigger?(Input::B)
  62.       # 演奏取消 SE
  63.       $game_system.se_play($data_system.cancel_se)
  64.       # 切换的地图画面
  65.       $scene = Scene_Map.new
  66.       return
  67.     end
  68.     if @old_index != @choose.index
  69.       @old_index = @choose.index
  70.       @skin_name = @filelist[@choose.index]
  71.       @tip.setup_skinname(@skin_name)
  72.       @choose.setup_skinname(@skin_name)
  73.     end
  74.   end
  75. end

复制代码
调用方法:事件第三页脚本$scene = Scene_Skin.new


原来小旅酱已经先咱一步了么> <
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-22 10:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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