赞 | 1 |
VIP | 0 |
好人卡 | 0 |
积分 | 92 |
经验 | 0 |
最后登录 | 2024-10-20 |
在线时间 | 466 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 9163
- 在线时间
- 466 小时
- 注册时间
- 2015-5-8
- 帖子
- 866
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 taeckle 于 2022-5-28 17:33 编辑
大家好,我想在默认脚本基础上制作一个纵向跑的进度条,进度条设置为红色, 宽度设置为30px始终保持不变, 高度最大500px(对应100%满进度), 进度条从下往上跑, 位置在左下方就行,最后也是最重要的是进度条进度需随第6号变量变化而变化(当然第六号变量只会在0-100这个范围内变化,对应的是进度0%至100%),
现在我想达到的目的很简单, 进入这个进度条场景($Scene=Scene_Jindutiao.new)后先保证第6号变量是0, 只要每按一下回车键第6号变量会增加10, 且进度条垂直上升10%,下面附上我自己写的代码,还请大神指点指点,多谢了 :
- class Doujiu_Huihe < Window_Base
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(110, 200, 80, 56)
- self.contents = Bitmap.new(width - 32, height - 32)
- self.visible = true
- end
-
- def update(num=0)
- self.contents.clear
- self.contents.font.size=23
- self.contents.font.color = Color.new(120, 255, 128, 255)
- self.contents.draw_text(0, 0, 32, 32, num.to_s,1)
- end
- end
- class Scene_Jindutiao
- def main
- #生成背景图片
- @background_pic = Sprite.new
- @background_pic.bitmap = RPG::Cache.picture("进度图.png")
- #生成回合数
- @round_index=0
- #生成回合数窗口
- @round_window= Doujiu_Huihe.new
- @round_window.back_opacity = 0
- @round_window.opacity = 0
- @round_window.x = 288
- @round_window.y = 343
- @round_window.update(@round_index)
- #生成纵向进度条
- @tipsy_1 = Sprite.new
- @tipsy_1.bitmap = Bitmap.new(8,340)
- @tipsy_1.bitmap.fill_rect(0,20,7,340,Color.new(255,215,0))
- @tipsy_1.x = 39
- @tipsy_1.y = 454
- @tipsy_1.ox = @tipsy_1.bitmap.width
- @tipsy_1.oy = @tipsy_1.bitmap.height
- @tipsy_1.zoom_x = 1
- @tipsy_1.zoom_y = 0
- #生成命令窗口
- s1 = "提升进度"
- s2 = "使用特技"
- s3 = "投降认输"
- @command_window = Window_Command.new(130, [s1, s2, s3])
- @command_window.index=0
- @command_window.opacity = 128
- @command_window.back_opacity = 150
- @command_window.x = 265
- @command_window.y = 150
-
- Graphics.transition
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面
- update
- # 如果画面切换的话就中断循环
- if $scene != self
- break
- end
- end
- # 准备过渡
- Graphics.freeze
- @background_pic.bitmap.dispose
- @background_pic.dispose
- @command_window.dispose
- @round_window.dispose
- @tipsy_1.bitmap.dispose
- @tipsy_1.dispose
- end
-
- def update
- @command_window.update
- @round_window.update(@round_index)
-
-
- if Input.trigger?(Input::B)
- # 演奏取消 SE
- $game_system.se_play($data_system.cancel_se)
- # 切换到地图画面
- $scene = Scene_Map.new
- return
- end
- if Input.trigger?(Input::C)
- # 命令窗口的光标位置的分支
- case @command_window.index
- when 0
- $game_variables[6]=10
- if (@tipsy_1.zoom_y*100).round+$game_variables[6] >= 100
- @tipsy_1.zoom_y = 1
- elsif (@tipsy_1.zoom_y*100).round < 100
- @tipsy_1.zoom_y += $game_variables[6]*0.01
- end
- @round_index+=1
- when 1
- when 2 # 退出
- $game_system.se_play($data_system.cancel_se)
- $scene = Scene_Map.new
- return
- end
- end
- end
-
- end
复制代码
|
|