Project1

标题: 帮我想想怎么办!! [打印本页]

作者: zx100zx    时间: 2007-6-30 03:21
标题: 帮我想想怎么办!!
如图:




分别是选中开始 继续 制作组群 结束但是从图上可以看出脚本有问题,请帮我修改一下!!
脚本附上:
#--------------------------------------------------------------------------
  # ● 命令 : 新游戏
  #--------------------------------------------------------------------------
  def command_new_game
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 停止 BGM
    Audio.bgm_stop
    # 重置测量游戏时间用的画面计数器
    Graphics.frame_count = 0
    # 生成各种游戏对像
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables    = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party        = Game_Party.new
    $game_troop        = Game_Troop.new
    $game_map          = Game_Map.new
    $game_player        = Game_Player.new
    # 设置初期同伴位置
    $game_party.setup_starting_members
    # 设置初期位置的地图
    $game_map.setup($data_system.start_map_id)
    # 主角向初期位置移动
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    # 刷新主角
    $game_player.refresh
    # 执行地图设置的 BGM 与 BGS 的自动切换
    $game_map.autoplay
    # 刷新地图 (执行并行事件)
    $game_map.update
    # 切换地图画面
    $scene = Scene_Map.new
  end
    #--------------------------------------------------------------------------
  # ● 命令 : 继续
  #--------------------------------------------------------------------------
  def command_continue
    # 继续无效的情况下
    unless @continue_enabled
      # 演奏无效 SE
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 切换到读档画面
    $scene = Scene_Load.new
  end
  #--------------------------------------------------------------------------
  # ● 命令 : 退出
  #--------------------------------------------------------------------------
  def command_shutdown
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # BGM、BGS、ME 的淡入淡出
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 退出
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ● 命令 : 制作组群
  #--------------------------------------------------------------------------
  def command_zhizuozuqun
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Credit.new
  end
  
   

#本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#==============================================================================
# ■ 图片标题菜单1.0
# Scene_Title
#------------------------------------------------------------------------------
# 作者:chaochao
# http://zhuchao.go1.icpcn.com
#==============================================================================
class Scene_Title
  def main
    if $BTEST
      battle_test
      return
    end
    $data_actors = load_data("Data/Actors.rxdata")
    $data_classes = load_data("Data/Classes.rxdata")
    $data_skills = load_data("Data/Skills.rxdata")
    $data_items = load_data("Data/Items.rxdata")
    $data_weapons = load_data("Data/Weapons.rxdata")
    $data_armors = load_data("Data/Armors.rxdata")
    $data_enemies = load_data("Data/Enemies.rxdata")
    $data_troops = load_data("Data/Troops.rxdata")
    $data_states = load_data("Data/States.rxdata")
    $data_animations = load_data("Data/Animations.rxdata")
    $data_tilesets = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system = load_data("Data/System.rxdata")
    $game_system = Game_System.new
    # 生成标题图形
    @sprite = [Sprite.new]
    for i in 0..8
      @sprite = Sprite.new
      @sprite.opacity = 0
    end
    @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
    @sprite[0].opacity = 0
    #开始游戏的图片
    @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/start-1.png")
    @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/start-2.png")
    #继续游戏的图片
    @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/continue-1.png")
    @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/continue-2.png")
    #制作组群的图片
    @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/制作组群-1.png")
    @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/制作组群-2.png")
    #结束游戏的图片
    @sprite[7].bitmap = Bitmap.new("Graphics/Pictures/exit-1.png")
    @sprite[8].bitmap = Bitmap.new("Graphics/Pictures/exit-2.png")
   
    #图片位置
    for i in 1..8
      x=255
      y=(i+1)/2*35+300
      @sprite.x =x
      @sprite.y =y
    end
    @continue_enabled = false
    for i in 0..4
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if @continue_enabled
      @command_index = 1
    else
      @command_index = 0
      @sprite[3].tone = Tone.new(0, 0, 0, 255)
      @sprite[4].tone = Tone.new(0, 0, 0, 255)
      
    end
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      #淡出背景圖形
      if @sprite[0].opacity <= 255
        @sprite[0].opacity += 15
      end
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    # 釋放圖形
    for i in 0..8
      @sprite.bitmap.dispose
      @sprite.dispose
    end
  end
  def update
  chaochaocommandchaochao
  if Input.trigger?(Input::C)
    case @command_index
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_zhizuozuqun
      when 3
        command_shutdown
      end
    end
  end
  def chaochaocommandchaochao
    if Input.trigger?(Input::UP)
      @command_index -= 1
      if @command_index < 0
        @command_index = 3
      end
      $game_system.se_play($data_system.cursor_se)
    end
    if Input.trigger?(Input::DOWN)
      @command_index += 1
      if @command_index > 3
        @command_index = 0
      end
      $game_system.se_play($data_system.cursor_se)
    end
    case @command_index
    when 0
      if @sprite[1].opacity >= 0
        @sprite[1].opacity -= 30
      end
      if @sprite[2].opacity <= 240
        @sprite[2].opacity += 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    when 1
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity >= 0
        @sprite[3].opacity -= 30
      end
      if @sprite[4].opacity <= 240
        @sprite[4].opacity += 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    when 2
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity >= 0
        @sprite[5].opacity -= 30
      end
      if @sprite[6].opacity <= 240
        @sprite[6].opacity += 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    when 3
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity >= 0
        @sprite[5].opacity -= 30
      end
      if @sprite[6].opacity <= 240
        @sprite[6].opacity += 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    end
  end
end [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: zx100zx    时间: 2007-6-30 03:21
标题: 帮我想想怎么办!!
如图:




分别是选中开始 继续 制作组群 结束但是从图上可以看出脚本有问题,请帮我修改一下!!
脚本附上:
#--------------------------------------------------------------------------
  # ● 命令 : 新游戏
  #--------------------------------------------------------------------------
  def command_new_game
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 停止 BGM
    Audio.bgm_stop
    # 重置测量游戏时间用的画面计数器
    Graphics.frame_count = 0
    # 生成各种游戏对像
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables    = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party        = Game_Party.new
    $game_troop        = Game_Troop.new
    $game_map          = Game_Map.new
    $game_player        = Game_Player.new
    # 设置初期同伴位置
    $game_party.setup_starting_members
    # 设置初期位置的地图
    $game_map.setup($data_system.start_map_id)
    # 主角向初期位置移动
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    # 刷新主角
    $game_player.refresh
    # 执行地图设置的 BGM 与 BGS 的自动切换
    $game_map.autoplay
    # 刷新地图 (执行并行事件)
    $game_map.update
    # 切换地图画面
    $scene = Scene_Map.new
  end
    #--------------------------------------------------------------------------
  # ● 命令 : 继续
  #--------------------------------------------------------------------------
  def command_continue
    # 继续无效的情况下
    unless @continue_enabled
      # 演奏无效 SE
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 切换到读档画面
    $scene = Scene_Load.new
  end
  #--------------------------------------------------------------------------
  # ● 命令 : 退出
  #--------------------------------------------------------------------------
  def command_shutdown
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # BGM、BGS、ME 的淡入淡出
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 退出
    $scene = nil
  end
  #--------------------------------------------------------------------------
  # ● 命令 : 制作组群
  #--------------------------------------------------------------------------
  def command_zhizuozuqun
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    $scene = Scene_Credit.new
  end
  
   

#本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#==============================================================================
# ■ 图片标题菜单1.0
# Scene_Title
#------------------------------------------------------------------------------
# 作者:chaochao
# http://zhuchao.go1.icpcn.com
#==============================================================================
class Scene_Title
  def main
    if $BTEST
      battle_test
      return
    end
    $data_actors = load_data("Data/Actors.rxdata")
    $data_classes = load_data("Data/Classes.rxdata")
    $data_skills = load_data("Data/Skills.rxdata")
    $data_items = load_data("Data/Items.rxdata")
    $data_weapons = load_data("Data/Weapons.rxdata")
    $data_armors = load_data("Data/Armors.rxdata")
    $data_enemies = load_data("Data/Enemies.rxdata")
    $data_troops = load_data("Data/Troops.rxdata")
    $data_states = load_data("Data/States.rxdata")
    $data_animations = load_data("Data/Animations.rxdata")
    $data_tilesets = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system = load_data("Data/System.rxdata")
    $game_system = Game_System.new
    # 生成标题图形
    @sprite = [Sprite.new]
    for i in 0..8
      @sprite = Sprite.new
      @sprite.opacity = 0
    end
    @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
    @sprite[0].opacity = 0
    #开始游戏的图片
    @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/start-1.png")
    @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/start-2.png")
    #继续游戏的图片
    @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/continue-1.png")
    @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/continue-2.png")
    #制作组群的图片
    @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/制作组群-1.png")
    @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/制作组群-2.png")
    #结束游戏的图片
    @sprite[7].bitmap = Bitmap.new("Graphics/Pictures/exit-1.png")
    @sprite[8].bitmap = Bitmap.new("Graphics/Pictures/exit-2.png")
   
    #图片位置
    for i in 1..8
      x=255
      y=(i+1)/2*35+300
      @sprite.x =x
      @sprite.y =y
    end
    @continue_enabled = false
    for i in 0..4
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if @continue_enabled
      @command_index = 1
    else
      @command_index = 0
      @sprite[3].tone = Tone.new(0, 0, 0, 255)
      @sprite[4].tone = Tone.new(0, 0, 0, 255)
      
    end
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      #淡出背景圖形
      if @sprite[0].opacity <= 255
        @sprite[0].opacity += 15
      end
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    # 釋放圖形
    for i in 0..8
      @sprite.bitmap.dispose
      @sprite.dispose
    end
  end
  def update
  chaochaocommandchaochao
  if Input.trigger?(Input::C)
    case @command_index
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_zhizuozuqun
      when 3
        command_shutdown
      end
    end
  end
  def chaochaocommandchaochao
    if Input.trigger?(Input::UP)
      @command_index -= 1
      if @command_index < 0
        @command_index = 3
      end
      $game_system.se_play($data_system.cursor_se)
    end
    if Input.trigger?(Input::DOWN)
      @command_index += 1
      if @command_index > 3
        @command_index = 0
      end
      $game_system.se_play($data_system.cursor_se)
    end
    case @command_index
    when 0
      if @sprite[1].opacity >= 0
        @sprite[1].opacity -= 30
      end
      if @sprite[2].opacity <= 240
        @sprite[2].opacity += 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    when 1
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity >= 0
        @sprite[3].opacity -= 30
      end
      if @sprite[4].opacity <= 240
        @sprite[4].opacity += 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    when 2
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity >= 0
        @sprite[5].opacity -= 30
      end
      if @sprite[6].opacity <= 240
        @sprite[6].opacity += 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    when 3
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity >= 0
        @sprite[5].opacity -= 30
      end
      if @sprite[6].opacity <= 240
        @sprite[6].opacity += 30
      end
      if @sprite[7].opacity <= 0
        @sprite[7].opacity += 30
      end
      if @sprite[8].opacity <= 240
        @sprite[8].opacity += 30
      end
    end
  end
end [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: zx100zx    时间: 2007-6-30 03:28
sorry
离开:

制作群:

继续:

开始:

作者: xyzw    时间: 2007-6-30 04:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: secondsen    时间: 2007-6-30 04:24
图片消失,LZ忘了这个了吧
作者: 精灵使者    时间: 2007-6-30 04:51
我建议你在if和end空相应的行,然后一行一行检查其错误。
作者: zx100zx    时间: 2007-6-30 04:52
怎么弄啊??
作者: zx100zx    时间: 2007-6-30 04:55
这个不是消失图片吗?
   for i in 0..8
     @sprite.bitmap.dispose
     @sprite.dispose
   end
作者: 精灵使者    时间: 2007-6-30 05:07
这个得依靠你仔细的检查了。注意切换的时候已经显示图片的地方别忘记dispose
作者: zx100zx    时间: 2007-6-30 05:11
我好像用了啊!!
作者: 精灵使者    时间: 2007-6-30 05:19
你关键的查下那个部分出的错误……先把那些模块理清楚。
作者: zx100zx    时间: 2007-6-30 05:24
可我对脚本是小白,那个脚本也是我七改八改改好的。还好上帝保佑脚本没报错,但是这个问题~~~
作者: zx100zx    时间: 2007-6-30 05:27
我实在改不出了!!{/dk}{/dk}
作者: 精灵使者    时间: 2007-6-30 05:48
有没有工程?
作者: zx100zx    时间: 2007-6-30 06:25
什么?
作者: 精灵使者    时间: 2007-6-30 06:38
也就是你上传一个范例工程上来……
作者: zx100zx    时间: 2007-6-30 15:47
http://rpg.blue/upload_program/files/sdafafffff.exe
作者: 精灵使者    时间: 2007-6-30 17:29
问题可能出在最后的透明度上……数值应该有些小错误。
最后一项的透明度要参考前面的透明度设置。
详情参见我在工程里打######的部分。修改完毕。
http://rpg.blue/upload_program/files/sdafafffff-edit-by-fay.exe [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: zx100zx    时间: 2007-6-30 18:11
哦,先谢谢你!!{/cy}{/cy}
作者: zx100zx    时间: 2007-6-30 18:13
经过核实,答案正确!!
太感谢了!!!!!!{/ll}{/ll}{/ll}{/ll}
作者: 精灵使者    时间: 2007-6-30 18:15
请注意结贴吧。另外,想重复发帖请编辑自己的帖子。
作者: zx100zx    时间: 2007-6-30 18:16
在说说,是怎么改啊,教教我思路,我也猜是if那儿出了问题,因为离开是从if那儿改出来的,但我不知道思路是什么,数值怎么改也不知道!!!{/dk}{/dk}{/dk}
作者: 精灵使者    时间: 2007-6-30 18:18
以下引用zx100zx于2007-6-30 10:16:35的发言:

在说说,是怎么改啊,教教我思路,我也猜是if那儿出了问题,因为离开是从if那儿改出来的,但我不知道思路是什么,数值怎么改也不知道!!!

我改的地方用#####打上了标记。请和你的原工程对比一下。
然后比较一下选中的和没有选中的透明度设置。




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