Project1
标题:
怎么在这个图片标题脚本里增加一个特典选项?
[打印本页]
作者:
火锅深处
时间:
2019-4-7 17:54
标题:
怎么在这个图片标题脚本里增加一个特典选项?
本帖最后由 火锅深处 于 2019-4-7 18:28 编辑
RT,本来以为和直接改文字版差不多,果然以我的水平是不行的_(:з」∠)_
所以求助各位。
具体期望的效果是:
在继续和结束选项之间增加一个“特典”选项。
当开关1为打开时,“特典”选项可以被选中,并移动到1号地图的坐标(2,3)位置。
这个是图片标题脚本:
#==============================================================================
# ++ タイトル画面カスタマイズ [RGSS3] ver. 1.00 ++
# Script by パラ犬
#------------------------------------------------------------------------------
# タイトル画面のコマンドに画像を使用できるようにします。
#==============================================================================
class Window_TitleCommand < Window_Command
#------------------------------------------------------------------------------
# ↓ 簡単に設定できるように設定項目を切り出し
# 1行目:メニューコマンドに使う画像ファイル名(「Graphics/Titles1」に入れる )
# ( 書式は [ コマンド未選択時 , コマンドが選択されたとき ] )
# 2行目:画像の表示位置(X座標)
# 3行目:画像の表示位置(Y座標)
# ニューゲーム
IMG_NEWGAME = ["newgame","newgame_active"]
IMG_NEWGAME_X = 160 # 横位置
IMG_NEWGAME_Y = 248 # 縦位置
# コンティニュー
IMG_CONTINUE = ["continue","continue_active"]
IMG_CONTINUE_X = 160 # 横位置
IMG_CONTINUE_Y = 288 # 縦位置
# シャットダウン
IMG_SHUTDOWN = ["shutdown","shutdown_active"]
IMG_SHUTDOWN_X = 160 # 横位置
IMG_SHUTDOWN_Y = 328 # 縦位置
# ↑ 設定項目ここまで
#------------------------------------------------------------------------------
#--------------------------------------------------------------------------
# ○ 画像コマンドウィンドウの作成
#--------------------------------------------------------------------------
def create_command_sprite
# ニューゲーム
sprite1 = Sprite.new
sprite1.x = IMG_NEWGAME_X
sprite1.y = IMG_NEWGAME_Y
# コンティニュー
sprite2 = Sprite.new
sprite2.x = IMG_CONTINUE_X
sprite2.y = IMG_CONTINUE_Y
# シャットダウン
sprite3 = Sprite.new
sprite3.x = IMG_SHUTDOWN_X
sprite3.y = IMG_SHUTDOWN_Y
# スプライトを配列で管理
@command_sprites = [sprite1, sprite2, sprite3]
# ビットマップファイル名を配列で管理
@command_bitmaps = [IMG_NEWGAME, IMG_CONTINUE, IMG_SHUTDOWN]
end
#--------------------------------------------------------------------------
# ○ メニュー選択時の画像切り替え
#--------------------------------------------------------------------------
def select_command_sprite(index)
# 全てのスプライトに[コマンド未選択時]のビットマップをつっこむ
@command_sprites[0].bitmap = Cache.title1(@command_bitmaps[0][0])
@command_sprites[1].bitmap = Cache.title1(@command_bitmaps[1][0])
@command_sprites[2].bitmap = Cache.title1(@command_bitmaps[2][0])
# 選択されている項目のビットマップを[コマンドが選択されたとき]に変える
@command_sprites[index].bitmap = Cache.title1(@command_bitmaps[index][1])
end
#--------------------------------------------------------------------------
# ○ 項目の描画
#--------------------------------------------------------------------------
def set_enabled_command_sprite(index, enabled)
if enabled
@command_sprites[index].opacity = 255
else
# 選択不可の項目は不透明度を下げる
@command_sprites[index].opacity = 160
end
end
#--------------------------------------------------------------------------
# ○ 解放
#--------------------------------------------------------------------------
def dispose_command_sprite
if @command_sprites != nil
@command_sprites[0].dispose
@command_sprites[1].dispose
@command_sprites[2].dispose
end
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
# 呼び出し:○画像コマンドウィンドウの作成
create_command_sprite
# 元からあるコマンドウインドウを非表示にする
self.visible = false
super
end
#--------------------------------------------------------------------------
# ● カーソル位置の設定
#--------------------------------------------------------------------------
def index=(index)
super
# 呼び出し:○メニュー選択時の画像切り替え
select_command_sprite(index)
end
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
super
# 呼び出し:○項目の描画
set_enabled_command_sprite(index, command_enabled?(index))
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
def dispose
# 呼び出し:○解放
dispose_command_sprite
super
end
end
复制代码
然后这个是用的全局变量脚本
#===============================================================================
# 全局变量开关
# By:VIPArcher [email:
[email protected]
]
# -- 本脚本来自 http://rm.66rpg.com 使用或转载请保留以上信息。
#===============================================================================
# 说明:
# 把所有开关变量储存到一个文件中,开始新游戏时或者读档时自动载入该文件中设定好的
# 某些开关变量,应该也可以用于制作多结局多周目之类的功能。通关一个结局时事件脚本
# 调用 save_vs_data 一下就可以把当前的开关变量储存到一个文件中。
#===============================================================================
$VIPArcherScript ||= {};$VIPArcherScript[:save_varsw] = 20150121
#-------------------------------------------------------------------------------
module VIPArcher end
#==============================================================================
# ☆ 设定部分 ☆
#==============================================================================
module VIPArcher::GLOBAL
FILEURL = "Saves" #储存数据的文件夹
NAME = "System_Save.rvdata2" #储存数据的文件名
VAR = [1,2,3,4,5,6,7,8,9,10] # 新游戏/读档时载入的变量
SW = [1,2,3,4,5,6,7,8,9,10] # 新游戏/读档时载入的开关
end
#==============================================================================
# ★ 设定结束 ★
#==============================================================================
module VIPArcher::GLOBAL
FILENAME = FILEURL + "/" + NAME
#--------------------------------------------------------------------------
# ● 储存开关变量数据
#--------------------------------------------------------------------------
def self.save_data
Dir.mkdir(FILEURL) unless FileTest.exist?(FILEURL)
File.open(FILENAME , "wb") do |file|
Marshal.dump(make_contents, file)
end
end
#--------------------------------------------------------------------------
# ● 获取开关变量数据
#--------------------------------------------------------------------------
def self.make_contents
contents = {}
contents[:switches] = $game_switches
contents[:variable] = $game_variables
contents
end
#--------------------------------------------------------------------------
# ● 读取变量数据
#--------------------------------------------------------------------------
def self.load_var(id)
File.open(FILENAME , "rb") do |file|
game_variables = Marshal.load(file)[:variable]
$game_variables[id] = game_variables[id]
end ; rescue
end
#--------------------------------------------------------------------------
# ● 读取开关数据
#--------------------------------------------------------------------------
def self.load_sw(id)
File.open(FILENAME , "rb") do |file|
game_switches = Marshal.load(file)[:switches]
$game_switches[id] = game_switches[id]
end ; rescue
end
#--------------------------------------------------------------------------
# ● 载入 VAR 和 SW 的开关和变量
#--------------------------------------------------------------------------
def self.load_game_versw
VAR.each { |id| load_var(id) } ; SW.each { |id| load_sw(id) }
end
end
#-------------------------------------------------------------------------------
class << DataManager
#--------------------------------------------------------------------------
# ● 设置新游戏
#--------------------------------------------------------------------------
alias_method :new_game_data , :setup_new_game
def setup_new_game
new_game_data ; VIPArcher::GLOBAL.load_game_versw
end
end
#-------------------------------------------------------------------------------
class Game_System
#--------------------------------------------------------------------------
# ● 读档后的处理
#--------------------------------------------------------------------------
alias_method :after_load_data , :on_after_load
def on_after_load
after_load_data ; VIPArcher::GLOBAL.load_game_versw
end
end
#-------------------------------------------------------------------------------
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 储存开关变量数据
#--------------------------------------------------------------------------
def save_vs_data ; VIPArcher::GLOBAL.save_data end
#--------------------------------------------------------------------------
# ● 读取变量数据
#--------------------------------------------------------------------------
def load_var(*args)
args.each { |id| VIPArcher::GLOBAL.load_var(id) }
end
#--------------------------------------------------------------------------
# ● 读取开关数据
#--------------------------------------------------------------------------
def load_sw(*args)
args.each { |id| VIPArcher::GLOBAL.load_sw(id) }
end
end
复制代码
补充一下,这个是图片标题脚本里放在Titles1文件夹里的文件。
tedian那个图片是我直接复制重命名的,意思一下。
Titles1.zip
(168.07 KB, 下载次数: 51)
2019-4-7 18:26 上传
点击文件名下载附件
作者:
KB.Driver
时间:
2019-4-7 20:47
Project4.zip
(1.59 MB, 下载次数: 80)
2019-4-7 20:47 上传
点击文件名下载附件
测试一下
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1