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

Project1

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

[已经过期] 怎样实现存档动画

[复制链接]

Lv2.观梦者

梦石
0
星屑
334
在线时间
371 小时
注册时间
2010-8-23
帖子
418
跳转到指定楼层
1
发表于 2010-12-7 17:00:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 勇敢的馒头 于 2010-12-7 17:02 编辑

很多游戏存档的时候都会提示说,请等待,然后存档上了~~请问除了用事件做存档外
脚本里怎么写可以实现存档动画?
  1. #==============================================================================
  2. # ■ Scene_File
  3. #------------------------------------------------------------------------------
  4. #  存档画面及读档画面的超级类。
  5. #==============================================================================

  6. class Scene_File
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     help_text : 帮助窗口显示的字符串
  10.   #--------------------------------------------------------------------------
  11.   def initialize(help_text)
  12.     @help_text = help_text
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 主处理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # 生成帮助窗口
  19.     @help_window = Window_Help.new
  20.     @help_window.set_text(@help_text)
  21.     # 生成存档文件查
  22.     @savefile_windows = []
  23.     for i in 0..3
  24.       @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
  25.     end
  26.     # 选择最后操作的文件
  27.     @file_index = $game_temp.last_file_index
  28.     @savefile_windows[@file_index].selected = true
  29.    #★★★★★★★★★★★★建立★★★★★★★★★★★★★
  30.    @viewportaaa = Viewport.new(0,0,640,480)
  31.    @ga = RPG::Sprite.new(@viewportaaa)
  32.    @ga.x = 320
  33.    @ga.y = 240
  34.    #@ga.z = @sprite.z + 1
  35.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  36.     # 执行过渡
  37.    Graphics.transition
  38.     # 主循环
  39.     loop do
  40.       # 刷新游戏画面
  41.       Graphics.update
  42.       # 刷新输入信息
  43.       Input.update
  44.       # 刷新画面
  45.       update
  46.       # 如果画面被切换的话就中断循环
  47.       if $scene != self
  48.         break
  49.       end
  50.     end
  51.     # 准备过渡
  52.     Graphics.freeze
  53.     # 释放窗口
  54.    #★★★★★★★★★★★★消失★★★★★★★★★★★★★
  55.    @ga.dispose
  56.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  57.     @help_window.dispose
  58.     for i in @savefile_windows
  59.       i.dispose
  60.     end
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 刷新画面
  64.   #--------------------------------------------------------------------------
  65.   def update
  66.     # 刷新窗口
  67.    #★★★★★★★★★★★刷新★★★★★★★★★★★★★★
  68.    @ga.update
  69.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  70.     @help_window.update
  71.     for i in @savefile_windows
  72.       i.update
  73.     end
  74.     # 按下 C 键的情况下
  75.     if Input.trigger?(Input::C)
  76.       # 调用过程 on_decision (定义继承目标)
  77.       on_decision(make_filename(@file_index))
  78.       $game_temp.last_file_index = @file_index
  79.       return
  80.     end  
  81.     # 按下 B 键的情况下
  82.     if Input.trigger?(Input::B)
  83.       # 调用过程 on_cancel (定义继承目标)
  84.       on_cancel
  85.       return
  86.     end
  87.     # 按下方向键下的情况下
  88.     if Input.repeat?(Input::DOWN)
  89.       # 方向键下的按下状态不是重复的情况下、
  90.       # 并且光标的位置在 3 以前的情况下
  91.       if Input.trigger?(Input::DOWN) or @file_index < 3
  92.         # 演奏光标 SE
  93.         $game_system.se_play($data_system.cursor_se)
  94.         # 光标向下移动
  95.         @savefile_windows[@file_index].selected = false
  96.         @file_index = (@file_index + 1) % 4
  97.         @savefile_windows[@file_index].selected = true
  98.         return
  99.       end
  100.     end
  101.     # 按下方向键上的情况下
  102.     if Input.repeat?(Input::UP)
  103.       # 方向键上的按下状态不是重复的情况下、
  104.       # 并且光标的位置在 0 以后的情况下
  105.       if Input.trigger?(Input::UP) or @file_index > 0
  106.         # 演奏光标 SE
  107.         $game_system.se_play($data_system.cursor_se)
  108.         # 光标向上移动
  109.         @savefile_windows[@file_index].selected = false
  110.         @file_index = (@file_index + 3) % 4
  111.         @savefile_windows[@file_index].selected = true
  112.         return
  113.       end
  114.     end
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 生成文件名
  118.   #     file_index : 文件名的索引 (0~3)
  119.   #--------------------------------------------------------------------------
  120.   def make_filename(file_index)
  121.     return "Save#{file_index + 1}.rxdata"
  122.   end
  123. end
复制代码
  1. #==============================================================================
  2. # ■ Scene_Save
  3. #------------------------------------------------------------------------------
  4. #  处理存档画面的类。
  5. #==============================================================================

  6. class Scene_Save < Scene_File
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super("要保存到这个文件吗?")
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 确定时的处理
  15.   #--------------------------------------------------------------------------
  16.   def on_decision(filename)
  17.     # 演奏存档 SE
  18.     $game_system.se_play($data_system.save_se)
  19.     # 写入存档数据
  20.     file = File.open(filename, "wb")
  21.     write_save_data(file)
  22.     file.close
  23.    #★★★★★★★★★★★设置动画★★★★★★★★★★★★  
  24.    @ga.animation($data_animations[1],true)
  25.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★

  26.     # 如果被事件调用
  27.     if $game_temp.save_calling
  28.       # 清除存档调用标志
  29.       $game_temp.save_calling = false
  30.       # 切换到地图画面
  31.       $scene = Scene_Map.new
  32.       return
  33.     end
  34.     # 切换到菜单画面
  35.     #$scene = Scene_Menu.new(4)
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 取消时的处理
  39.   #--------------------------------------------------------------------------
  40.   def on_cancel
  41.     # 演奏取消 SE
  42.     $game_system.se_play($data_system.cancel_se)
  43.     # 如果被事件调用
  44.     if $game_temp.save_calling
  45.       # 清除存档调用标志
  46.       $game_temp.save_calling = false
  47.       # 切换到地图画面
  48.       $scene = Scene_Map.new
  49.       return
  50.     end
  51.     # 切换到菜单画面
  52.     $scene = Scene_Menu.new(4)
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● 写入存档数据
  56.   #     file : 写入用文件对像 (已经打开)
  57.   #--------------------------------------------------------------------------
  58.   def write_save_data(file)
  59.     # 生成描绘存档文件用的角色图形
  60.     characters = []
  61.     for i in 0...$game_party.actors.size
  62.       actor = $game_party.actors[i]
  63.       characters.push([actor.character_name, actor.character_hue])
  64.     end
  65.     # 写入描绘存档文件用的角色数据
  66.     Marshal.dump(characters, file)
  67.     # 写入测量游戏时间用画面计数
  68.     Marshal.dump(Graphics.frame_count, file)
  69.     # 增加 1 次存档次数
  70.     $game_system.save_count += 1
  71.     # 保存魔法编号
  72.     # (将编辑器保存的值以随机值替换)
  73.     $game_system.magic_number = $data_system.magic_number
  74.     # 写入各种游戏对像
  75.     Marshal.dump($game_system, file)
  76.     Marshal.dump($game_switches, file)
  77.     Marshal.dump($game_variables, file)
  78.     Marshal.dump($game_self_switches, file)
  79.     Marshal.dump($game_screen, file)
  80.     Marshal.dump($game_actors, file)
  81.     Marshal.dump($game_party, file)
  82.     Marshal.dump($game_troop, file)
  83.     Marshal.dump($game_map, file)
  84.     Marshal.dump($game_player, file)
  85.   end
  86. end
复制代码
以上是我的修改,更改了Scene_Save 和 Scene_Load 可感觉不是很好用
1,不能返回菜单~(被我屏蔽掉了)
2,存档的时候动画还没播放完毕,键盘却还能操作~
~~BUG很多~~
真正做游戏的游戏人是不会整天发帖灌水的!!!

Lv1.梦旅人

赤瞳

梦石
0
星屑
50
在线时间
132 小时
注册时间
2010-11-28
帖子
515
2
发表于 2010-12-7 21:45:33 | 只看该作者
设置一个等待参数变量,初始为0
然后,在按下确定键存档并播放动画的时候,设置一下这个参数,
(应该是动画帧数的2倍吧,银不知道啊不知道~)
然后在update画面刷新里为这个等待参数每一帧减去1
也就是:
if @hhjj > 0
@hhjj -= 1
else
@hhjj = 0
end
如此,然后,
就是窗口的活动,
因为存档窗口只有活动才能使用键盘来控制,
所以,就在刷新里写上相应窗口活动的条件:
当那个等待参数为0的时候活动。
如此,
便可以实现等待动画播放完了再控制键盘了。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
334
在线时间
371 小时
注册时间
2010-8-23
帖子
418
3
 楼主| 发表于 2010-12-7 23:03:19 | 只看该作者
回复 银·乌尔 的帖子

思路能懂,技术跟不上~~:'( 求详细~

点评

啊,不用了, 我看看你的脚本应该可以了  发表于 2010-12-7 23:08
很想帮的, 但具体做起来还有详细的步骤,如果你只是添加了动画的句子, 就把工程发上来,银看看吧。  发表于 2010-12-7 23:07
真正做游戏的游戏人是不会整天发帖灌水的!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

赤瞳

梦石
0
星屑
50
在线时间
132 小时
注册时间
2010-11-28
帖子
515
4
发表于 2010-12-7 23:14:46 | 只看该作者
本帖最后由 银·乌尔 于 2010-12-7 23:15 编辑

可以了,替代原来的相关脚本就好了。
里面的按下C键后的@wait = 20可以自己设置一下
另外,是动画精灵的Z坐标问题?
动画能播放,但是被压在在窗口之下。
好吧,这不是银的事了。
  1. #==============================================================================
  2. # ■ Scene_File
  3. #------------------------------------------------------------------------------
  4. #  存档画面及读档画面的超级类。
  5. #==============================================================================

  6. class Scene_File
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     help_text : 帮助窗口显示的字符串
  10.   #--------------------------------------------------------------------------
  11.   def initialize(help_text)
  12.     @help_text = help_text
  13. @wait = 0
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 主处理
  17.   #--------------------------------------------------------------------------
  18.   def main
  19.     # 生成帮助窗口
  20.     @help_window = Window_Help.new
  21.     @help_window.set_text(@help_text)
  22.     # 生成存档文件查
  23.     @savefile_windows = []
  24.     for i in 0..3
  25.       @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
  26.     end
  27.     # 选择最后操作的文件
  28.     @file_index = $game_temp.last_file_index
  29.     @savefile_windows[@file_index].selected = true
  30.    #★★★★★★★★★★★★建立★★★★★★★★★★★★★
  31.    @viewportaaa = Viewport.new(0,0,640,480)
  32.    @ga = RPG::Sprite.new(@viewportaaa)
  33.    @ga.x = 320
  34.    @ga.y = 240
  35.    #@ga.z = @sprite.z + 1
  36.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  37.     # 执行过渡
  38.    Graphics.transition
  39.     # 主循环
  40.     loop do
  41.       # 刷新游戏画面
  42.       Graphics.update
  43.       # 刷新输入信息
  44.       Input.update
  45.       # 刷新画面
  46.       update
  47.       # 如果画面被切换的话就中断循环
  48.       if $scene != self
  49.         break
  50.       end
  51.     end
  52.     # 准备过渡
  53.     Graphics.freeze
  54.     # 释放窗口
  55.    #★★★★★★★★★★★★消失★★★★★★★★★★★★★
  56.    @ga.dispose
  57.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  58.     @help_window.dispose
  59.     for i in @savefile_windows
  60.       i.dispose
  61.     end
  62.   end
  63.   #--------------------------------------------------------------------------
  64.   # ● 刷新画面
  65.   #--------------------------------------------------------------------------
  66.   def update
  67. if @wait > 0
  68. @wait -= 1
  69. else
  70. @wait = 0
  71. end
  72.     # 刷新窗口
  73.    #★★★★★★★★★★★刷新★★★★★★★★★★★★★★
  74.    @ga.update
  75.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  76.     @help_window.update
  77.     for i in @savefile_windows
  78.       i.update
  79.     end
  80.     # 按下 C 键的情况下
  81.     if Input.trigger?(Input::C)
  82.       @wait = 20
  83.       # 调用过程 on_decision (定义继承目标)
  84.       on_decision(make_filename(@file_index))
  85.       $game_temp.last_file_index = @file_index
  86.       return
  87.     end  
  88.     # 按下 B 键的情况下
  89.     if Input.trigger?(Input::B)
  90.       # 调用过程 on_cancel (定义继承目标)
  91.       on_cancel
  92.       return
  93.     end
  94. if @wait == 0
  95.     # 按下方向键下的情况下
  96.     if Input.repeat?(Input::DOWN)
  97.       # 方向键下的按下状态不是重复的情况下、
  98.       # 并且光标的位置在 3 以前的情况下
  99.       if Input.trigger?(Input::DOWN) or @file_index < 3
  100.         # 演奏光标 SE
  101.         $game_system.se_play($data_system.cursor_se)
  102.         # 光标向下移动
  103.         @savefile_windows[@file_index].selected = false
  104.         @file_index = (@file_index + 1) % 4
  105.         @savefile_windows[@file_index].selected = true
  106.         return
  107.       end
  108.     end
  109.     # 按下方向键上的情况下
  110.     if Input.repeat?(Input::UP)
  111.       # 方向键上的按下状态不是重复的情况下、
  112.       # 并且光标的位置在 0 以后的情况下
  113.       if Input.trigger?(Input::UP) or @file_index > 0
  114.         # 演奏光标 SE
  115.         $game_system.se_play($data_system.cursor_se)
  116.         # 光标向上移动
  117.         @savefile_windows[@file_index].selected = false
  118.         @file_index = (@file_index + 3) % 4
  119.         @savefile_windows[@file_index].selected = true
  120.         return
  121.       end
  122.     end
  123. end
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 生成文件名
  127.   #     file_index : 文件名的索引 (0~3)
  128.   #--------------------------------------------------------------------------
  129.   def make_filename(file_index)
  130.     return "Save#{file_index + 1}.rxdata"
  131.   end
  132. end
复制代码

点评

顶格写的内容就是银添加的。  发表于 2010-12-7 23:15
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
334
在线时间
371 小时
注册时间
2010-8-23
帖子
418
5
 楼主| 发表于 2010-12-8 09:50:47 | 只看该作者
回复 银·乌尔 的帖子

谢谢大大的回答,保存时候光标还能移动这个问题算是解决了~
可是我下面的

Scene_Save
# 切换到菜单画面
    $scene = Scene_Menu.new(4)

这个如果不屏蔽,让他动画播放完毕后返回菜单依然没有办法~~
另:是否能出个框做个提示:记录已保存。。。:P

点评

好吧,银再给脚本加点东西吧。  发表于 2010-12-8 19:12
要在播放动画后返回菜单的话,直接把$scene = Scene_Menu.new(4)的前一行加上:“if @wait == 0”然后在它的下一行写一个end就可以了。 至于那个提示窗口。。  发表于 2010-12-8 19:12
真正做游戏的游戏人是不会整天发帖灌水的!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

赤瞳

梦石
0
星屑
50
在线时间
132 小时
注册时间
2010-11-28
帖子
515
6
发表于 2010-12-8 19:33:42 | 只看该作者
可以了,把Scene_Save里返回菜单的那句给#掉,
银在LZ点评里的那个办法是不对的,惭愧~

把下面的脚本替换原来的Scene_File就好了。
具体搜索“# ar ck”看看添加的地方:

  1. #==============================================================================
  2. # ■ Scene_File
  3. #------------------------------------------------------------------------------
  4. #  存档画面及读档画面的超级类。
  5. #==============================================================================

  6. # 新建一个窗口作提示
  7. class Window_Hint < Window_Base
  8.   def initialize
  9.     super (120,208,200,64)
  10.     self.contents = Bitmap.new(width - 32, height - 32)
  11.     self.contents.draw_text(0,0,120,32,"记录已保存!")
  12.     self.z = 9999
  13.   end
  14. end

  15. class Scene_File
  16.   #--------------------------------------------------------------------------
  17.   # ● 初始化对像
  18.   #     help_text : 帮助窗口显示的字符串
  19.   #--------------------------------------------------------------------------
  20.   def initialize(help_text)
  21.     @help_text = help_text
  22. @wait = 0
  23. # ar ck 建立提示窗口并不可见
  24. @hint_window = Window_Hint.new # 坐标和长宽可以自己调
  25. @hint_window.visible = false
  26. # ar end
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 主处理
  30.   #--------------------------------------------------------------------------
  31.   def main
  32.     # 生成帮助窗口
  33.     @help_window = Window_Help.new
  34.     @help_window.set_text(@help_text)
  35.     # 生成存档文件查
  36.     @savefile_windows = []
  37.     for i in 0..3
  38.       @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
  39.     end
  40.     # 选择最后操作的文件
  41.     @file_index = $game_temp.last_file_index
  42.     @savefile_windows[@file_index].selected = true
  43.    #★★★★★★★★★★★★建立★★★★★★★★★★★★★
  44.    @viewportaaa = Viewport.new(0,0,640,480)
  45.    @ga = RPG::Sprite.new(@viewportaaa)
  46.    @ga.x = 320
  47.    @ga.y = 240
  48.    #@ga.z = @sprite.z + 1
  49.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  50.     # 执行过渡
  51.    Graphics.transition
  52.     # 主循环
  53.     loop do
  54.       # 刷新游戏画面
  55.       Graphics.update
  56.       # 刷新输入信息
  57.       Input.update
  58.       # 刷新画面
  59.       update
  60.       # 如果画面被切换的话就中断循环
  61.       if $scene != self
  62.         break
  63.       end
  64.     end
  65.     # 准备过渡
  66.     Graphics.freeze
  67.     # 释放窗口
  68. # ar ck 释放提示窗口
  69. @hint_window.dispose
  70. # ar end
  71.    #★★★★★★★★★★★★消失★★★★★★★★★★★★★
  72.    @ga.dispose
  73.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  74.     @help_window.dispose
  75.     for i in @savefile_windows
  76.       i.dispose
  77.     end
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 刷新画面
  81.   #--------------------------------------------------------------------------
  82.   def update
  83. if @wait > 0
  84. @wait -= 1
  85. else
  86. @wait = 0
  87. end
  88.     # 刷新窗口
  89.    #★★★★★★★★★★★刷新★★★★★★★★★★★★★★
  90.    @ga.update
  91.    #★★★★★★★★★★★★★★★★★★★★★★★★★★★
  92.     @help_window.update
  93.     for i in @savefile_windows
  94.       i.update
  95.     end
  96.     # 按下 C 键的情况下
  97.     if Input.trigger?(Input::C)
  98.       @wait = 40
  99. # ar ck 提示窗口可见
  100. @hint_window.visible = true
  101. # ar end
  102.       # 调用过程 on_decision (定义继承目标)
  103.       on_decision(make_filename(@file_index))
  104.       $game_temp.last_file_index = @file_index
  105.       return
  106.     end  
  107.     # 按下 B 键的情况下
  108.     if Input.trigger?(Input::B)
  109.       # 调用过程 on_cancel (定义继承目标)
  110.       on_cancel
  111.       return
  112.     end

  113. # ar ck 当等待计数归零且提示窗口可见,就让窗口消失并返回菜单
  114. if @wait == 0 and @hint_window.visible == true
  115. @hint_window.visible = false
  116. $scene = Scene_Menu.new(4)
  117. end
  118. # ar end

  119. if @wait == 0
  120.     # 按下方向键下的情况下
  121.     if Input.repeat?(Input::DOWN)
  122.       # 方向键下的按下状态不是重复的情况下、
  123.       # 并且光标的位置在 3 以前的情况下
  124.       if Input.trigger?(Input::DOWN) or @file_index < 3
  125.         # 演奏光标 SE
  126.         $game_system.se_play($data_system.cursor_se)
  127.         # 光标向下移动
  128.         @savefile_windows[@file_index].selected = false
  129.         @file_index = (@file_index + 1) % 4
  130.         @savefile_windows[@file_index].selected = true
  131.         return
  132.       end
  133.     end
  134.     # 按下方向键上的情况下
  135.     if Input.repeat?(Input::UP)
  136.       # 方向键上的按下状态不是重复的情况下、
  137.       # 并且光标的位置在 0 以后的情况下
  138.       if Input.trigger?(Input::UP) or @file_index > 0
  139.         # 演奏光标 SE
  140.         $game_system.se_play($data_system.cursor_se)
  141.         # 光标向上移动
  142.         @savefile_windows[@file_index].selected = false
  143.         @file_index = (@file_index + 3) % 4
  144.         @savefile_windows[@file_index].selected = true
  145.         return
  146.       end
  147.     end
  148. end
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 生成文件名
  152.   #     file_index : 文件名的索引 (0~3)
  153.   #--------------------------------------------------------------------------
  154.   def make_filename(file_index)
  155.     return "Save#{file_index + 1}.rxdata"
  156.   end
  157. end
复制代码
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
334
在线时间
371 小时
注册时间
2010-8-23
帖子
418
7
 楼主| 发表于 2010-12-9 09:43:56 | 只看该作者
回复 银·乌尔 的帖子

{:2_39:}
1.还没播放完动画就弹出提示窗口了
2.提示窗口显示了一下子就跳回菜单了~
3.读档也有提示窗口了
真正做游戏的游戏人是不会整天发帖灌水的!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

赤瞳

梦石
0
星屑
50
在线时间
132 小时
注册时间
2010-11-28
帖子
515
8
发表于 2010-12-9 19:44:25 | 只看该作者
好吧,银的指导到这里就结束了,
馒头,勇敢地自己看看怎么解决吧,
银不是包办一切的大好人~
PS:小心Argent的随时出现。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-28 18:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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