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

Project1

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

[已经解决] 请教用第6号变量控制一个纵向进度条的方法(fill_rect)

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
跳转到指定楼层
1
发表于 2022-5-26 19:45:24 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 taeckle 于 2022-5-28 17:33 编辑

大家好,我想在默认脚本基础上制作一个纵向跑的进度条,进度条设置为红色, 宽度设置为30px始终保持不变, 高度最大500px(对应100%满进度), 进度条从下往上跑, 位置在左下方就行,最后也是最重要的是进度条进度随第6号变量变化而变化(当然第六号变量只会在0-100这个范围内变化,对应的是进度0%至100%),

现在我想达到的目的很简单, 进入这个进度条场景($Scene=Scene_Jindutiao.new)后先保证第6号变量是0, 只要每按一下回车键第6号变量会增加10, 且进度条垂直上升10%,下面附上我自己写的代码,还请大神指点指点,多谢了 :
  1. class Doujiu_Huihe < Window_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     super(110, 200, 80, 56)
  7.     self.contents = Bitmap.new(width - 32, height - 32)
  8.     self.visible = true   
  9.   end  
  10.    
  11.   def update(num=0)
  12.     self.contents.clear   
  13.     self.contents.font.size=23     
  14.     self.contents.font.color = Color.new(120, 255, 128, 255)
  15.     self.contents.draw_text(0, 0, 32, 32, num.to_s,1)
  16.   end  
  17. end  

  18. class Scene_Jindutiao
  19.   def main
  20.    #生成背景图片
  21.    @background_pic = Sprite.new
  22.    @background_pic.bitmap = RPG::Cache.picture("进度图.png")
  23.    #生成回合数
  24.    @round_index=0
  25.    #生成回合数窗口   
  26.    @round_window= Doujiu_Huihe.new
  27.    @round_window.back_opacity = 0
  28.    @round_window.opacity = 0   
  29.    @round_window.x = 288
  30.    @round_window.y = 343
  31.    @round_window.update(@round_index)   
  32.    #生成纵向进度条
  33.    @tipsy_1 = Sprite.new
  34.    @tipsy_1.bitmap = Bitmap.new(8,340)
  35.    @tipsy_1.bitmap.fill_rect(0,20,7,340,Color.new(255,215,0))
  36.    @tipsy_1.x = 39
  37.    @tipsy_1.y = 454
  38.    @tipsy_1.ox = @tipsy_1.bitmap.width  
  39.    @tipsy_1.oy = @tipsy_1.bitmap.height
  40.    @tipsy_1.zoom_x = 1
  41.    @tipsy_1.zoom_y = 0
  42.    #生成命令窗口
  43.    s1 = "提升进度"
  44.    s2 = "使用特技"
  45.    s3 = "投降认输"
  46.    @command_window = Window_Command.new(130, [s1, s2, s3])
  47.    @command_window.index=0   
  48.    @command_window.opacity = 128     
  49.    @command_window.back_opacity = 150
  50.    @command_window.x = 265
  51.    @command_window.y = 150

  52.    
  53.    Graphics.transition
  54.    # 主循环
  55.    loop do
  56.      # 刷新游戏画面
  57.      Graphics.update
  58.      # 刷新输入信息
  59.      Input.update
  60.      # 刷新画面
  61.      update
  62.      # 如果画面切换的话就中断循环
  63.      if $scene != self
  64.        break
  65.      end
  66.    end         
  67.     # 准备过渡
  68.     Graphics.freeze
  69.     @background_pic.bitmap.dispose   
  70.     @background_pic.dispose   
  71.     @command_window.dispose
  72.     @round_window.dispose
  73.     @tipsy_1.bitmap.dispose
  74.     @tipsy_1.dispose        
  75.   end   
  76.    
  77.   def update
  78.     @command_window.update
  79.     @round_window.update(@round_index)   
  80.    
  81.    
  82.     if Input.trigger?(Input::B)
  83.      # 演奏取消 SE
  84.      $game_system.se_play($data_system.cancel_se)
  85.      # 切换到地图画面
  86.      $scene = Scene_Map.new
  87.      return
  88.     end  
  89.     if Input.trigger?(Input::C)
  90.       # 命令窗口的光标位置的分支
  91.      case @command_window.index
  92.       when 0
  93.        $game_variables[6]=10

  94.        if (@tipsy_1.zoom_y*100).round+$game_variables[6] >= 100
  95.        @tipsy_1.zoom_y = 1
  96.        elsif (@tipsy_1.zoom_y*100).round < 100
  97.        @tipsy_1.zoom_y += $game_variables[6]*0.01
  98.        end

  99.        @round_index+=1   
  100.       when 1  

  101.       when 2  # 退出
  102.        $game_system.se_play($data_system.cancel_se)
  103.        $scene = Scene_Map.new
  104.       return
  105.      end
  106.     end   
  107.   end
  108.   
  109. end   
复制代码


Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
2
 楼主| 发表于 2022-5-26 22:56:01 | 显示全部楼层
本帖最后由 taeckle 于 2022-5-27 05:36 编辑
guoxiaomi 发表于 2022-5-26 21:36
可以再回去看看RGSS中各种Window类里对self.contents的定义(以及F1),会发现contents的宽和高比window各 ...


报告大神,我们按照你提示的把进度条搞出来了,但是目前的问题是按了回车键进度条只能下降不能上升啊..
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9128
在线时间
463 小时
注册时间
2015-5-8
帖子
865
3
 楼主| 发表于 2022-5-31 16:24:06 | 显示全部楼层
这个帖子问题解决了!我们要申请精品帖子!

点评

本区已经很多年没有设置过精品帖子了  发表于 2022-5-31 20:15
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-6 18:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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