Project1

标题: 请问怎么更改脚本里的开始游戏上下选项。。 [打印本页]

作者: ewghioerg    时间: 2014-7-26 07:36
标题: 请问怎么更改脚本里的开始游戏上下选项。。
使用的脚本来源:【薄雾】http://rpg.blue/thread-304811-1-1.html

如图所示,New game continue 和End game 是竖着的,按理说应该是按上下键选择,
但是因为脚本原来的设定是这三个是横着的,是左右选择的,现在使用很别扭,
所以想问问怎么才能更改。

附上脚本

#encoding:utf-8
#==============================================================================
# ■ 薄雾年代记标题脚本
#------------------------------------------------------------------------------
#  薄雾年代记的标题脚本
#==============================================================================


#==============================================================================
# 介绍:
#      这个不完全是薄雾的标题脚本,但是是那个的普适版,作者:LBQ,请自由使用,转载
#==============================================================================



# 设置模块
module LBQ
  module MC_Title
   
    #logo还有选项的淡入速度,数字越大淡出淡入越快
    FADE_SPEED=4
   
   
    #黑暗层的淡入淡出速度,数字越大淡出淡入越快。第一项是进入场景,第二项是退出
    MASK_FADE=[5,3]
   
   
   
    #背景滑动速度,默认是[2,1],即为每两帧横向滑动一个单位。
    SHIFT_SPEED=[100000,1]
   
    #图像设置
    GRAPHICS=['Choice','spark','logo','background']
   
    #生成一个新的闪光点的间隔时间
    TIME_SPARK=12
   
    #分辨率设定
    RESOLUTION=[544,416]
   
    #储存文件的文件夹名称,位于Graphics文件夹下面
    FOLDER="MC_Title"
   
    #离开界面的时候的BGM淡出速度,单位毫秒
    BGM_FADE=1600
   
    #3个层的Z坐标设定。
    Z_SETTINGS=[1,2,3]
   
    #闪光的生命周期。(半衰期,总共生命周期)←装X的设定
    LIFE_CYCLE=[300,500]
  end
end


#Cache加强
module Cache
  include LBQ::MC_Title
  #--------------------------------------------------------------------------
  # ● 标题
  #--------------------------------------------------------------------------
  def self.mc_title(filename)
    load_bitmap("Graphics/#{FOLDER}/", filename)
  end
end


#==============================================================================
# ■ LBQ Spark
#------------------------------------------------------------------------------
#  闪光的精灵类
#==============================================================================
class Sprite_lbqSpark < Sprite_Base
  include LBQ::MC_Title
  def initialize(viewport=nil)
    @timer=0
    super(viewport)
    self.bitmap=Cache.mc_title(GRAPHICS[1])
    @opacity_speed=10
    @zoom_change=0
    set_rand_stats
   
  end
  
  
  def update
    super
        @timer+=1
    calc_speed
    self.x += @x_speed
    self.y += @y_speed
    if @timer<=LIFE_CYCLE[0]
      self.opacity += @opacity_speed
    else
      self.opacity -= @opacity_speed*2
    end
   
    self.angle += @angle_speed
    self.zoom_x += @zoom_change
    self.zoom_y += @zoom_change
    self.visible=false if @timer>=LIFE_CYCLE[1]
   
  end
  def calc_speed
  end
  def set_rand_stats
    @x_speed=(rand(4)-2)*0.8
    @y_speed=(rand(4)-2)*0.8
    @x_speed+=rand(2)-1 if @x_speed==0
    @y_speed+=rand(2)-1 if @y_speed==0
    @opacity_speed=2
    @angle_speed=rand(3)-3
    self.opacity = 1
    self.angle = rand(360)

      rand_num=rand(9)
      case rand_num
      when 0
        self.x,self.y=0,0
      when 1
        self.x,self.y=RESOLUTION[0],RESOLUTION[1]
      when 2
        self.x,self.y=RESOLUTION[0],0
      when 3
        self.x,self.y=0,RESOLUTION[1]
      when 4
        self.x,self.y=RESOLUTION[0]/2,0
      when 5
        self.x,self.y=RESOLUTION[0]/2,RESOLUTION[1]
      when 6
        self.x,self.y=0,208
      when 7
        self.x,self.y=RESOLUTION[0],RESOLUTION[1]/2
      when 8
        self.x,self.y=RESOLUTION[0]/2 ,RESOLUTION[1]/2
      end
      

   
    self.zoom_x=(rand(100) + 100) / 100.0
    self.zoom_y = self.zoom_x
    self.blend_type=1
  end
  def get_rand_pos
    pos=[]
    case rand(4)
    when 0
      pos[0]=0
    when 1
      pos[0]=200
    when 2
      pos[0]=300
    when 3
      pos[0]=500
    when 4
      pos[0]=100
    end
   
    case rand(4)
    when 0
      pos[1]=0
    when 1
      pos[1]=200
    when 2
      pos[1]=300
    when 3
      pos[1]=500
    when 4
      pos[1]=100
    end
    return pos
  end
  
end


#==============================================================================
# ■ MC Choice
#------------------------------------------------------------------------------
#  可爱的选项~
#==============================================================================
# 选项用精灵类
class Sprite_MCchoice < Sprite_Base
  include LBQ::MC_Title
  #设置
  MAX_INDEX=3
  MIN_INDEX=1
  #初始化
  def initialize(viewport=nil)
    super(viewport)
   
    #光标Index
    if DataManager.save_file_exists?
      @index=2
    else
      @index=1
    end
   
   
    #动态阶段
    @stage=1
  end
  
  
  #更新方法
  def update
    #super
    super
   
    #基础的动态设定
    case @stage
    when 1
      
      #更新选项
      update_cursor
      
      #再次强化不透明度
      self.opacity=0
      
      #之后转成第二步
      @stage+=1

    when 2
      #变得透明
      self.opacity+=FADE_SPEED
      #如果已经变完了
      if self.opacity>=255
        #进入第三步
        @stage+=1
      end
    when 3
      #好的,于是咱来进行光标更新
      if Input.trigger?(:LEFT)
        Sound.play_cursor
        if @index==MIN_INDEX
          @index=MAX_INDEX
        else
          @index-=1
        end
        #输入完毕之后再更新
        update_cursor
        
      elsif Input.trigger?(:RIGHT)
        Sound.play_cursor
        if @index==MAX_INDEX
          #强化条件
          @index=MIN_INDEX
         
        else
          @index+=1
        end
        #输入完毕之后再更新
        update_cursor
      end
      
    end
  end
  
  #index外置接口
  def index
    @index
  end
  
  #更新光标
  def update_cursor
    #设置当前bitmap名字
      bitmap_name="#{GRAPHICS[0]}#{@index}"
      self.bitmap=Cache.mc_title(bitmap_name)
    end
  #设置当前index  
  def set_index(index)
    @index=index
  end
  
end



#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  标题类
#==============================================================================
# Scene类
class Scene_Title < Scene_Base
    include LBQ::MC_Title
  def start
    super
    @sparks=[]
   
    @timer=0
   
   
    #抄袭原版的=-=
    SceneManager.clear
    Graphics.freeze
   
    #创建显示端口
    create_viewports
   
    #创建背景
    create_background
   
    #创建精灵类
    create_sprites
   
    #播放标题音乐
    play_title_music
   
    #动态阶段
    @stage=0
  end
  
  #创建各种显示端口
  def create_viewports
    #背景
    #RESOLUTION[0],RESOLUTION[1]
    @bg_vp=Viewport.new(0,0,RESOLUTION[0],RESOLUTION[1])
   
    #选项
    @choice_vp=Viewport.new(0,0,RESOLUTION[0],RESOLUTION[1])
    @choice_vp.z=Z_SETTINGS[0]
   
    @spark_vp=Viewport.new(0,0,RESOLUTION[0],RESOLUTION[1])
    @spark_vp.z=Z_SETTINGS[1]
   
    @mask_vp=Viewport.new(0,0,RESOLUTION[0],RESOLUTION[1])
    @mask_vp.z=Z_SETTINGS[2]
  end
  
  
  #创建背景
  def create_background
    #滚动的背景
    @bg_sprite=Plane.new(@bg_vp)
   
    #设置背景图像
    @bg_sprite.bitmap=Cache.mc_title(GRAPHICS[3])
  end
  
  #更新
  def update
    super
   
    #计时器+
    @timer+=1
   
    #滚动
    @bg_sprite.ox+=SHIFT_SPEED[1] if @timer%SHIFT_SPEED[0]==0
   
     @sparks.push(Sprite_lbqSpark.new(@spark_vp)) if @timer%TIME_SPARK==0
     @sparks.each{|spk|spk.update }
#~      unless spk.disposed?
   
   
    case @stage
    when 0
      @mask_sprite.opacity-=MASK_FADE[0]
      if @mask_sprite.opacity<=0
        @stage=1
      end
      
    when 1
      #淡入阶段
      @logo_sprite.opacity+=FADE_SPEED
      if @logo_sprite.opacity>=255
        @stage=2
      end
      #更新选项
      @choice_sprite.update
    when 2
      @choice_sprite.update
      #如果确定了
      if Input.trigger?(:C)
        Sound.play_ok
        case @choice_sprite.index
        when 1
          @stage=3
        when 2
          @stage=4
        when 3
          @stage=5
        end
      end
    when 3
      Audio.bgm_fade(BGM_FADE)
      @mask_sprite.opacity+=MASK_FADE[1]
      if @mask_sprite.opacity>=255
        command_new_game
      end
    when 4
      command_continue
    when 5
      Audio.bgm_fade(BGM_FADE)
      @mask_sprite.opacity+=MASK_FADE[1]
      if @mask_sprite.opacity>=255
        exit
      end
    end
   
  end
  #--------------------------------------------------------------------------
  # ● 指令“继续游戏”
  #--------------------------------------------------------------------------
  def command_continue
    SceneManager.call(Scene_Load)
  end
  #--------------------------------------------------------------------------
  # ● 结束处理
  #--------------------------------------------------------------------------
  def terminate
    super
    SceneManager.snapshot_for_background
    @logo_sprite.dispose
    @choice_sprite.dispose
    @bg_sprite.dispose
    @bg_vp.dispose
    @choice_vp.dispose
  end
  #--------------------------------------------------------------------------
  # ● 指令“开始游戏”
  #--------------------------------------------------------------------------
  def command_new_game
    DataManager.setup_new_game
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
  end
  def create_sprites
    @logo_sprite=Sprite_Base.new(@choice_vp)   
    @logo_sprite.bitmap=Cache.mc_title(GRAPHICS[2])
    @logo_sprite.opacity=0
   
    @choice_sprite=Sprite_Base.new(@choice_vp)
   
    @choice_sprite=Sprite_MCchoice.new(@choice_vp)
    @choice_sprite.opacity=0
   
    @mask_sprite=Sprite.new(@mask_vp)
    @mask_sprite.bitmap=Bitmap.new(RESOLUTION[0],RESOLUTION[1])
    @mask_sprite.bitmap.fill_rect(0,0,RESOLUTION[0],RESOLUTION[1],Color.new(0,0,0))
  end
  
  def play_title_music
    $data_system.title_bgm.play
    RPG::BGS.stop
    RPG::ME.stop
  end
  
end

作者: taroxd    时间: 2014-7-26 07:50
以后发帖请使用代码框功能,否则我现在都没法指给你看是哪一行

找到注释:
  1. #好的,于是咱来进行光标更新
复制代码
这一段有这两句话:
  1. Input.trigger?(:LEFT)
复制代码
  1. Input.trigger?(:RIGHT)
复制代码
把 :LEFT 改为 :UP,:RIGHT 改为 :DOWN 即可(未测试)




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