| 赞 | 1  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 92 | 
 
| 经验 | 0 | 
 
| 最后登录 | 2025-9-28 | 
 
| 在线时间 | 466 小时 | 
 
 
 
 
 
Lv4.逐梦者 
	- 梦石
 - 0 
 
        - 星屑
 - 9155 
 
        - 在线时间
 - 466 小时
 
        - 注册时间
 - 2015-5-8
 
        - 帖子
 - 867
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
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   
 
  复制代码 
 
 |   
 
 
 
 |