Project1

标题: 如何做这种游戏结束前的美化 [打印本页]

作者: 美丽晨露    时间: 2013-2-15 13:18
标题: 如何做这种游戏结束前的美化
本帖最后由 美丽晨露 于 2013-2-16 19:14 编辑

倒计时10秒
10秒后返回标题
10之间按C键会转到读取页面
类似
这个

作者: cinderelmini    时间: 2013-2-15 14:43
本帖最后由 cinderelmini 于 2013-2-15 15:26 编辑

给个思路:
跟Title那个等待一样的做法~
设置帧数(40)和要等待的秒数,
显示的秒数的获取过程:

PS:更新一下式子……刚才脑袋混乱了写错……
if 等待计数(帧数*秒数)% 40 == 0
ttt = 等待计数(帧数*秒数)/ 40
end
也就是说当等待计数除以10没有余数的话就成立。

PS:哀家纠结VA显示图片之后消除了却严重掉帧问题中~不做饭粒了……
作者: 美丽晨露    时间: 2013-2-15 14:50
cinderelmini 发表于 2013-2-15 14:43
给个思路:
跟Title那个等待一样的做法~
设置帧数(40)和要等待的秒数,

谢谢
虽然不是很懂
我先试试写脚本
作者: hys111111    时间: 2013-2-15 19:06
本帖最后由 hys111111 于 2013-2-15 19:19 编辑
  1. class Window_Timeover < Window_Base
  2.   attr_reader :time
  3.   def initialize
  4.     super(0, 0, 640, 480)
  5.     self.contents = Bitmap.new(width - 32, height - 32)
  6.     self.opacity = 0
  7.     self.back_opacity = 0
  8.     self.z = 500
  9.     [url=home.php?mod=space&uid=134219]@Time[/url] = 10 * Graphics.frame_rate #前面那个10是10秒。
  10.     refresh
  11.   end
  12.   def refresh
  13.     self.contents.clear
  14.     self.contents.draw_text(0,0,640,480,((@time/Graphics.frame_rate).to_i).to_s,1)
  15.   end
  16.   def update
  17.     @time -= 1
  18.     if @time % Graphics.frame_rate == 0
  19.       super
  20.       refresh
  21.     end
  22.   end
  23. end
  24. class Scene_Timeover
  25.   
  26.   def main
  27.     @sprite = Sprite.new
  28.     @sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)
  29.     [url=home.php?mod=space&uid=37298]@Window[/url] = Window_Timeover.new
  30.     # 执行过渡
  31.     Graphics.transition
  32.     # 主循环
  33.     loop do
  34.       # 刷新游戏画面
  35.       Graphics.update
  36.       # 刷新输入信息
  37.       Input.update
  38.       # 刷新画面情报
  39.       update
  40.       # 如果画面被切换的话就中断循环
  41.       if $scene != self
  42.         break
  43.       end
  44.     end
  45.     # 准备过渡
  46.     Graphics.freeze
  47.     # 释放游戏结束图形
  48.     @sprite.bitmap.dispose
  49.     @sprite.dispose
  50.     @window.dispose
  51.   end
  52.   
  53.   def update
  54.     @window.update
  55.     if Input.trigger?(Input::C)
  56.       $scene = Scene_Map.new
  57.     end
  58.     if @window.time <= 0
  59.       $scene = Scene_Gameover.new
  60.     end
  61.   end
  62.   
  63. end
复制代码
召唤方法:$scene = Scene_Timeover.new  
作者: 美丽晨露    时间: 2013-2-15 19:15
hys111111 发表于 2013-2-15 19:06
召唤方法:$scene = Scene_Timeover.new

谢谢呀
可是运行不了
14的/貌似有问题
作者: hys111111    时间: 2013-2-16 19:06
美丽晨露 发表于 2013-2-15 19:15
谢谢呀
可是运行不了
14的/貌似有问题


倒计时结束.rar (188.55 KB, 下载次数: 23)

但是我这边测试没问题啊。

看看范例……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1