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

Project1

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

[已经过期] 【求助】关于生成空位图的问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1631
在线时间
193 小时
注册时间
2016-10-22
帖子
95
跳转到指定楼层
1
发表于 2018-4-30 19:45:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
用了改造标题画面和自己的开始菜单脚本后打开游戏放在初始界面一段时间就会这样,请问怎么解决

改造标题画面
class Window_TitleCommand
  alias xxx001_initialize initialize
  def initialize
    xxx001_initialize
    self.opacity = 0
  end
end

class Window_TitleCommand
  def make_command_list
    add_command("开始游戏", :new_game)
    add_command("继续游戏", :continue, continue_enabled)
    add_command("结束游戏", :shutdown)
  end
end

class Window_TitleCommand
  alias xxx001_create_contents create_contents
  def create_contents
    xxx001_create_contents
    contents.font.name = "萝莉体"
    contents.font.bold = true
    contents.font.size = 20
  end
end

class Window_TitleCommand
  def alignment
    return 1
  end
end






自己的开始菜单
#******************************************************************************
#
#    * スタートマップ
#
#  --------------------------------------------------------------------------
#    バージョン :  1.0.1
#    対      応 :  RPGツクールVX Ace : RGSS3
#    制  作  者 :  CACAO
#    配  布  元 :  http://cacaosoft.web.fc2.com/
#  --------------------------------------------------------------------------
#   == 概    要 ==
#
#   : タイトル画面の代わりに指定されたマップを表示します。
#
#  --------------------------------------------------------------------------
#   == 注意事項 ==
#
#    ※ 初期配置は、空パーティで (0,0) 座標となります。
#    ※ イベントコマンド「タイトル画面へ戻す」は、スタートマップへ戻ります。
#    ※ メニュー画面のタイトルへ戻る処理は、スタートマップへ戻ります。
#    ※ ゲームオーバー時のタイトルへ戻る処理は、スタートマップへ戻ります。
#    ※ プリセットに無いものは、従来のタイトル画面へ遷移します。
#
#  --------------------------------------------------------------------------
#   == 使用方法 ==
#
#    ★ スタートマップでの初期位置
#     イベント名を 初期位置 として、イベントを配置してください。
#
#    ★ タイトル画面の処理
#     イベントコマンド「スクリプト」で実行してください。
#       GameManager.new_game    ニューゲーム
#       GameManager.continue    コンティニュー
#       GameManager.shutdown    シャットダウン
#
#    ★ 従来のタイトル画面の表示
#     イベントコマンド「スクリプト」で実行してください。
#       SceneManager.goto(Scene_Title)  フェード処理 有
#       GameManager.title               フェード処理 無
#
#    ★ スターマップの表示
#     イベントコマンド「スクリプト」で実行してください。
#       GameManager.startmap
#
#    ★ 判定
#     イベントコマンド「条件分岐」のスクリプトで実行してください。
#       GameManager.first?      一度目か
#       GameManager.continue?   セーブファイルがあるか
#
#
#******************************************************************************


#==============================================================================
# ◆ 設定項目
#==============================================================================
module CAO
module StartMap
  
  #--------------------------------------------------------------------------
  # ◇ 開始マップ
  #--------------------------------------------------------------------------
  START_MAP_ID = 91
  #--------------------------------------------------------------------------
  # ◇ 2度目はスタートマップをスキップ
  #--------------------------------------------------------------------------
  RESET_SKIP = true
  #--------------------------------------------------------------------------
  # ◇ メニュー禁止
  #--------------------------------------------------------------------------
  MENU_DISABLED = true
  
end # module StartMap
end # module CAO


#/////////////////////////////////////////////////////////////////////////////#
#                                                                             #
#                下記のスクリプトを変更する必要はありません。                 #
#                                                                             #
#/////////////////////////////////////////////////////////////////////////////#


class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ● 初期パーティのセットアップ
  #--------------------------------------------------------------------------
  def setup_startmap_members
    @actors = []
  end
end

module DataManager
  PAT_START_MAP = /^初期配置$/
  #--------------------------------------------------------------------------
  # ● ニューゲームのセットアップ
  #--------------------------------------------------------------------------
  def self.setup_startmap
    RPG::BGM.stop
    RPG::BGS.stop
    RPG::ME.stop
    GameManager.executed = true if GameManager.executed == false
    GameManager.executed = false if GameManager.executed == nil
    create_game_objects
    $game_party.setup_startmap_members
    $game_map.setup(CAO::StartMap::START_MAP_ID)
    $game_map.autoplay
    $game_player.moveto(0, 0)
    $game_player.refresh
    $game_map.events.each_value do |ev|
      event = ev.instance_variable_get(:@event)
      next unless event.name[PAT_START_MAP]
      ev.erase
      $game_player.moveto(event.x, event.y)
      set_start_map_player(event.pages[1])        # 2ページ目
      break
    end
    $game_system.menu_disabled = CAO::StartMap::MENU_DISABLED
    Graphics.frame_count = 0
  end
  #--------------------------------------------------------------------------
  # ● プレイヤーグラフィックの設定
  #--------------------------------------------------------------------------
  def self.set_start_map_player(page)
    return if page == nil
    $game_player.instance_variable_set(     # タイルID
      :@tile_id, page.graphic.tile_id)
    $game_player.instance_variable_set(     # ファイル名
      :@character_name, page.graphic.character_name)
    $game_player.instance_variable_set(     # インデックス
      :@character_index, page.graphic.character_index)
    $game_player.instance_variable_set(     # 歩行アニメ
      :@walk_anime, page.walk_anime)
    $game_player.instance_variable_set(     # 足踏みアニメ
      :@step_anime, page.step_anime)
    $game_player.instance_variable_set(     # 向き固定
      :@direction_fix, page.direction_fix)
    $game_player.instance_variable_set(     # すり抜け
      :@through, page.through)
  end
end

module SceneManager
  #--------------------------------------------------------------------------
  # ○ 実行
  #--------------------------------------------------------------------------
  def self.run
    DataManager.init
    Audio.setup_midi if use_midi?
    if $BTEST || CAO::StartMap::RESET_SKIP && !GameManager.first?
      @Scene = first_scene_class.new
    else
      DataManager.setup_startmap
      @scene = Scene_Map.new
    end
    @scene.main while @scene
  end
end

module GameManager; end
class << GameManager
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :executed
  #--------------------------------------------------------------------------
  # ● ニューゲーム
  #--------------------------------------------------------------------------
  def new_game
    DataManager.setup_new_game
    SceneManager.scene.fadeout_all
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
  end
  #--------------------------------------------------------------------------
  # ● コンティニュー
  #--------------------------------------------------------------------------
  def continue
    SceneManager.call(Scene_Load)
  end
  #--------------------------------------------------------------------------
  # ● シャットダウン
  #--------------------------------------------------------------------------
  def shutdown
    SceneManager.scene.fadeout_all
    SceneManager.exit
  end
  #--------------------------------------------------------------------------
  # ● スタートマップ
  #--------------------------------------------------------------------------
  def startmap
    DataManager.setup_startmap
    SceneManager.goto(Scene_Map)
  end
  #--------------------------------------------------------------------------
  # ● タイトル
  #--------------------------------------------------------------------------
  def title
    # Scene_Map#pre_title_scene の処理を消してからタイトルへ移動
    SceneManager.scene.instance_eval('def pre_title_scene; end')
    GameManager.startmap
  end
  #--------------------------------------------------------------------------
  # ●
  #--------------------------------------------------------------------------
  def first?
    return !@executed
  end
  #--------------------------------------------------------------------------
  # ●
  #--------------------------------------------------------------------------
  def continue?
    return DataManager.save_file_exists?
  end
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ○ タイトル画面に戻す
  #--------------------------------------------------------------------------
  alias _cao_startmap_command_354 command_354
  def command_354
    return _cao_startmap_command_354 if CAO::StartMap::RESET_SKIP
    screen.start_fadeout(60)
    wait(60)
    GameManager.startmap
    Fiber.yield
  end
end

class Scene_End < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ○ コマンド[タイトルへ]
  #--------------------------------------------------------------------------
  alias _cao_startmap_command_to_title command_to_title
  def command_to_title
    return _cao_startmap_command_to_title if CAO::StartMap::RESET_SKIP
    close_command_window
    fadeout_all
    GameManager.startmap
  end
end

class Scene_Gameover < Scene_Base
  #--------------------------------------------------------------------------
  # ○ タイトル画面へ遷移
  #--------------------------------------------------------------------------
  alias _cao_startmap_goto_title goto_title
  def goto_title
    return _cao_startmap_goto_title if CAO::StartMap::RESET_SKIP
    fadeout_all
    GameManager.startmap
  end
end

QQ拼音截图20180430194242.png (15.31 KB, 下载次数: 19)

QQ拼音截图20180430194242.png

Lv3.寻梦者

梦石
0
星屑
1631
在线时间
193 小时
注册时间
2016-10-22
帖子
95
2
 楼主| 发表于 2018-5-3 16:49:37 | 只看该作者

大佬能说明白一些吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 10:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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