查看: 2286|回复: 7

[已经解决] 现在很多游戏好像都有个那个Loading图那是什么啊?

[复制链接]
梦石
0
星屑
852
在线时间
231 小时
注册时间
2013-10-30
回帖
115
发表于 2014-9-14 22:08:55 | 显示全部楼层 |阅读模式

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

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

×
求解RT
就是有个读条的过程……
这个脚本有什么用么?
还有能麻烦给个链接让我研究研究么?
搜索很久都没找到的说。。

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2014-9-14 22:14:20 | 显示全部楼层
loading就是游戏在正在加载游戏内容,如果没有loading画面就是黑屏,画面只是让玩家看着没那么无聊而存在。

RM默认的状态下不太需要Loading画面,如果你想要可以在场景移动的事件上自己伪一个
回复

使用道具 举报

梦石
0
星屑
852
在线时间
231 小时
注册时间
2013-10-30
回帖
115
 楼主| 发表于 2014-9-14 22:18:28 | 显示全部楼层
三途亚梦 发表于 2014-9-14 22:14
loading就是游戏在正在加载游戏内容,如果没有loading画面就是黑屏,画面只是让玩家看着没那么无聊而存在。 ...

我见别人游戏存盘和读取的时候都有个读条过程。
而且好多个游戏都是那个画面我就想看看那个脚本的说。。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
444 小时
注册时间
2011-1-3
回帖
150

开拓者

发表于 2014-9-14 23:06:15 | 显示全部楼层
本帖最后由 漫漫人生路 于 2014-9-14 23:08 编辑

您点的脚本。
点我[pre lang="ruby" line="1"]#===============================================================================
# +++ MOG - Advanced Load Bar (v1.1) +++
#===============================================================================
# By Moghunter
# http://www.atelier-rgss.com  
#===============================================================================
# Apresenta uma barra de carregar entre as cenas de Save e Load.
#
# O propósito deste Script é apresentar alguns artworks de seu jogo
# enquanto o jogador espera a barra de leitura.
#
#===============================================================================
# Você pode adpatar esse script em alguma outra Scene ou ativar pelo evento.
# Basta usar este código.
#
# SceneManager.call(Scene_Load_Bar)
#
#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 1.1 - Melhoria no sistema de dispose de imagens.
#==============================================================================

module MOG_LOAD_BAR
   # Tempo para fazer load.(Segundos)
   LOAD_DURATION = 3
   # Ativar o sistema ao carregar o jogo.
   ENABLE_LOAD_BAR_FOR_SCENE_LOAD = true
   # Ativar o sistema ao salvar o jogo.
   ENABLE_LOAD_BAR_FOR_SCENE_SAVE = true   
   # Definição das imagens que ficarão no plano de fundo.
   LOAD_BACKGROUND_PICTURES = [
   "Background_1",
   "Background_2",
   "Background_3",
   "Background_4",
   #"Background_5",
   #"Background_6"
   #"Background_7",
   #"Background_8",
   #"Background_9",
   #"Background_10",
   # ...
   ]
   # Ativar ordem aleatória ou sequencial.
   PICTURE_RANDOM_SELECTION = true   
   # Posição do geral da Hud.
   LOAD_BAR_POSITION = [30,350]
   # Posição do medidor.
   LOAD_BAR_METER_POSITION = [11,27]
   # Posição do Texto.
   LOAD_BAR_TEXT_POSITION = [ 10, -3]
   # Som ao carregar o arquivo.
   LOAD_SE = "Decision2"
   # Velocidade da animação do medidor.
   LOAD_BAR_FLOW_SPEED = 25
   # Definição da Cena que será ativada após salvar via menu.
   # Caso o save seja feito pelo evento, a cena será o Mapa.
   RETURN_TO_SCENE = Scene_Menu.new(4)
   # Ativar a animação de levitação do texto.
   ENABLE_FLOAT_TEXT_ANIMATION = true
   # Apresentar o sprite do personagem.
   ENABLE_CHARACTER_SPRITE = true
   # Ativar barras laterais.
   ENABLE_STRIPE_SPRITE = true
   # Velocidade das barras laterais.
   STRIPE_SPEED = 1
end

#=============================================================================
# ■ Game_Temp
#=============================================================================
class Game_Temp
  attr_accessor :load_bar_pre_index
  attr_accessor :loadbar_type
  attr_accessor :load_pre_bgm
  attr_accessor :load_pre_bgs

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------              
alias load_bar_initialize initialize
def initialize
     @load_bar_pre_index = -1
     @loadbar_type = 0   
     load_bar_initialize
end
   
end

#=============================================================================
# ■ Game_System
#=============================================================================
class Game_System
  attr_accessor :load_bar_pre_index
  
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------              
alias load_bar_initialize initialize
def initialize
     load_bar_initialize
     @load_bar_pre_index = 0
end

#--------------------------------------------------------------------------
# ● BGS Stop
#--------------------------------------------------------------------------            
def bgs_stop
     Audio.bgs_stop
end
end

#=============================================================================
# ■ Scene Load Bar
#=============================================================================
class Scene_Load_Bar
include MOG_LOAD_BAR
  
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------            
def initialize
     execute_dispose
     @bar_type = $game_temp.loadbar_type
     @load_duration_max = 60 * LOAD_DURATION
     @load_duration_max = 60 if @load_duration_max < 60  
     @load_duration = 0
     @pictures = LOAD_BACKGROUND_PICTURES
     create_background
     create_layout  
     create_load_bar
     create_text
     create_side_strip
end
   
#--------------------------------------------------------------------------
# ● Create Background
#--------------------------------------------------------------------------           
def create_background  
     @background = Sprite.new
     if PICTURE_RANDOM_SELECTION
        $game_system.load_bar_pre_index = rand(@pictures.size)
        no_repeat_picture
     end
     image_name = @pictures[$game_system.load_bar_pre_index]   
     image_name = "" if image_name == nil     
     @background.bitmap = Cache.picture(image_name)
     $game_temp.load_bar_pre_index = $game_system.load_bar_pre_index
     unless PICTURE_RANDOM_SELECTION
        $game_system.load_bar_pre_index += 1
        $game_system.load_bar_pre_index = 0 if $game_system.load_bar_pre_index > @pictures.size - 1
     end   
end
   
#--------------------------------------------------------------------------
# ● No Repeat Picture
#--------------------------------------------------------------------------            
def no_repeat_picture
     if $game_system.load_bar_pre_index == $game_temp.load_bar_pre_index
        $game_system.load_bar_pre_index += 1
        $game_system.load_bar_pre_index = 0 if $game_system.load_bar_pre_index > @pictures.size - 1
     end  
end

#--------------------------------------------------------------------------
# ● Create Layout
#--------------------------------------------------------------------------           
def create_layout  
     @hud = Sprite.new
     @hud.bitmap = Cache.system("Load_Bar_Layout")
     @hud.x = LOAD_BAR_POSITION[0]
     @hud.y = LOAD_BAR_POSITION[1]
     @hud.z = 10
end

#--------------------------------------------------------------------------
# ● Create Side Strip
#--------------------------------------------------------------------------           
def create_side_strip
     @stripe1 = Plane.new
     @stripe2 = Plane.new     
     if @bar_type == 0
        @stripe1.bitmap = Cache.system("Load_Bar_Stripe1_L")
        @stripe2.bitmap = Cache.system("Load_Bar_Stripe2_L")
     else  
        @stripe1.bitmap = Cache.system("Load_Bar_Stripe1_S")
        @stripe2.bitmap = Cache.system("Load_Bar_Stripe2_S")
     end  
     @stripe1.z = 1
     @stripe2.z = 1         
     @stripe1.visible = ENABLE_STRIPE_SPRITE
     @stripe2.visible = ENABLE_STRIPE_SPRITE
end

#--------------------------------------------------------------------------
# ● Create Load Bar
#--------------------------------------------------------------------------            
def create_load_bar
     @bar_flow = 0
     @bar_image = Cache.system("Load_Bar_Meter")
     @bar_bitmap = Bitmap.new(@bar_image.width,@bar_image.height)
     @bar_range = @bar_image.width / 3
     @bar_width = @bar_range  * @load_duration / @load_duration_max
     @bar_height = @bar_image.height
     @bar_width_old = @bar_width
     @bar_src_rect = Rect.new(@bar_flow, 0, @bar_width, @bar_height)
     @bar_bitmap.blt(0,0, @bar_image, @bar_src_rect)
     @bar_sprite = Sprite.new
     @bar_sprite.bitmap = @bar_bitmap
     @bar_sprite.z = 11
     @bar_sprite.x = LOAD_BAR_POSITION[0] + LOAD_BAR_METER_POSITION[0]
     @bar_sprite.y = LOAD_BAR_POSITION[1] + LOAD_BAR_METER_POSITION[1]
     update_bar_flow
end

#--------------------------------------------------------------------------
# ● Create Text
#--------------------------------------------------------------------------            
def create_text
     @text_float_time = 0
     @text_float_y = 0
     @text_image = Cache.system("Load_Bar_Text")
     @text_bitmap = Bitmap.new(@text_image.width,@text_image.height)
     @text_width = @text_image.width
     @text_height = @text_image.height / 2
     @text_src_rect = Rect.new(0, @text_height * @bar_type, @text_width, @text_height)
     @text_bitmap.blt(0,0, @text_image, @text_src_rect)   
     @text_sprite = Sprite.new
     @text_sprite.bitmap = @text_bitmap   
     @text_fy = LOAD_BAR_POSITION[1] + LOAD_BAR_TEXT_POSITION[1]
     @text_sprite.x = LOAD_BAR_POSITION[0] + LOAD_BAR_TEXT_POSITION[0]
     @text_sprite.y = @text_fy
     @text_sprite.z = 12
end

#--------------------------------------------------------------------------
# ● Main
#--------------------------------------------------------------------------         
def main
     Graphics.transition
     execute_loop
     execute_dispose
end   

#--------------------------------------------------------------------------
# ● Execute Loop
#--------------------------------------------------------------------------           
def execute_loop
     loop do
          update
          Graphics.update         
          if SceneManager.scene != self
              break
          end
     end
end

#--------------------------------------------------------------------------
# ● Execute Dispose
#--------------------------------------------------------------------------            
def execute_dispose
     return if @hud == nil
     @hud.bitmap.dispose
     @hud.dispose
     @stripe1.bitmap.dispose
     @stripe1.dispose     
     @stripe2.bitmap.dispose
     @stripe2.dispose        
     @bar_image.dispose
     @bar_bitmap.dispose
     @bar_sprite.bitmap.dispose
     @bar_sprite.dispose     
     @background.bitmap.dispose
     @background.dispose
     @text_image.dispose
     @text_bitmap.dispose
     @text_sprite.bitmap.dispose
     @text_sprite.dispose
     Graphics.transition
     Graphics.freeze
end  

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------            
def update
     update_bar_flow
     update_bar_duration
     update_float_text
     update_slide_stripe
end

#--------------------------------------------------------------------------
# ● Update Slide Stripe
#--------------------------------------------------------------------------              
def update_slide_stripe
     @stripe1.oy += STRIPE_SPEED
     @stripe2.ox += STRIPE_SPEED
end   
   
#--------------------------------------------------------------------------
# ● update_float_text
#--------------------------------------------------------------------------            
def update_float_text
     return unless ENABLE_FLOAT_TEXT_ANIMATION
     @text_float_time += 1
     case @text_float_time
        when 1..10
           @text_float_y += 1
        when 11..20
           @text_float_y -= 1
        else
          @text_float_y = 0
          @text_float_time = 0
     end
     @text_sprite.y = @text_fy + @text_float_y
end

#--------------------------------------------------------------------------
# ● Update Bar Flow
#--------------------------------------------------------------------------            
def update_bar_flow
     @bar_sprite.bitmap.clear
     @bar_width = @bar_range  * @load_duration / @load_duration_max
     @bar_width = @bar_range if @load_duration > @load_duration_max
     @bar_src_rect = Rect.new(@bar_flow, 0,@bar_width, @bar_height)
     @bar_bitmap.blt(0,0, @bar_image, @bar_src_rect)
     @bar_flow += LOAD_BAR_FLOW_SPEED
     if @bar_flow >= @bar_image.width - @bar_range
        @bar_flow = 0     
     end
end   
   
#--------------------------------------------------------------------------
# ● Update Bar Duration
#--------------------------------------------------------------------------              
def update_bar_duration
     @load_duration += 1
     if @load_duration == @load_duration_max
        Audio.se_play("Audio/SE/" + LOAD_SE,100,100) rescue nil
     elsif @load_duration == @load_duration_max + 10
        if @bar_type == 0
            SceneManager.return
            $game_system.replay_bgm
         else   
            SceneManager.return   
        end  
        $game_temp.loadbar_type = false
     end
end  

end

#=============================================================================
# ■ Scene Save
#=============================================================================
class Scene_Save < Scene_File
  
#--------------------------------------------------------------------------
# ● On Save Sucess
#--------------------------------------------------------------------------               
  alias mog_advloadbar_on_save_success on_save_success
  def on_save_success
      mog_advloadbar_on_save_success
      $game_temp.loadbar_type = 1
      SceneManager.call(Scene_Load_Bar)   
  end
  
end

#=============================================================================
# ■ Scene Load
#=============================================================================
class Scene_Load < Scene_File
  
  #--------------------------------------------------------------------------
  # ● On Load Success
  #--------------------------------------------------------------------------
  alias mog_advloadbar_on_load_success on_load_success
  def on_load_success
      mog_advloadbar_on_load_success
      $game_system.save_bgm      
      RPG::BGM.stop
      $game_temp.loadbar_type = 0
      SceneManager.call(Scene_Load_Bar)              
  end
end

$mog_rgss3_advanced_load_bar = true[/pre]


还有脚本的必须图片
度娘http://pan.baidu.com/s/1euoIM


使用方法直接仍在 Main脚本上方。
文件都已经分好文件夹了,直接丢Graphics里。

第32行的内容给你解释下。
[pre lang="ruby" line="1"]   LOAD_BACKGROUND_PICTURES = [
   "Background_1",
   "Background_2",
   "Background_3",
   "Background_4",
   #"Background_5",
   #"Background_6"
   #"Background_7",
   #"Background_8",
   #"Background_9",
   #"Background_10",
   # ...
   ]
[/pre]
这个内容就是你Graphics\Pictures下的图片名称。你可以随意添加。记得把图片名写进数组。
载入画面图片背景就是在这个数组里随机一个。

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
54
在线时间
1049 小时
注册时间
2012-1-27
回帖
1380
发表于 2014-9-14 23:09:30 | 显示全部楼层
本帖最后由 黑化の鼠标 于 2014-9-14 23:10 编辑

理论上那个读条只是用来当摆设适当放慢节奏而已,因为VA的地图等等加载速度其实还算快.....
至于你想要脚本来看看,可以自己去http://www.atelier-rgss.com/Index.html这里下载,硬是要说外语看不懂的话......我坦白跟你说,我英语从没及格过,大学也是挂科挂到背答案过的,我也不懂我是怎么看懂的......
惨了,没装全局变量,这下只能玩读档进EXTRA的把戏了∑(゚ω゚ノ)ノ
我感觉我快成兜售Q键幻灯片狂魔了
回复

使用道具 举报

david_ng223 该用户已被删除
发表于 2014-9-14 23:56:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
852
在线时间
231 小时
注册时间
2013-10-30
回帖
115
 楼主| 发表于 2014-9-15 03:07:14 | 显示全部楼层
我晕……谢谢各位大大。 原来这东西只是一个空壳子。。。。
太给力了…………
回复

使用道具 举报

梦石
0
星屑
50
在线时间
203 小时
注册时间
2014-9-5
回帖
391
发表于 2014-9-15 19:51:34 | 显示全部楼层
我玩过一个RM新手游戏…………一个默认素材无系统的游戏还要来个loading,,, load什么啊,而且还是个按了空格就过去的loading画面{:2_276:}
http://weibo.com/234216217
大家好,这是我的微博,一起关注独立游戏与RM游戏
我的微博名:落华蜂
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部