ゲームオブジェクト名を短くするには
$game_variables や $game_self_switches といったゲームオブジェクトは表記が長いので、
マップ画面のイベントコマンド「スクリプト」の入力欄ではスペースが足りなくなります。
例えばスクリプトでピクチャを表示したい場合
screen.pictures[1].show($game_variables[1], 0, 0, 0, 100, 100, 255, 0)
を
n = screen.pictures[1]
m = $game_variables[1]
n.show(m, 0, 0, 0, 100, 100, 255, 0)
のように長い部分をローカル変数に代入したり改行などして、
入力欄にある程度は収めることが出来ますが、
その分だけ行数を消費します。
試しにスクリプト画面でShift+Ctrl+Fで$game_variablesを検索して、
全部$GVと書き換えると一応動作はするようです。
しかし直接書き換えるのはあまりいい方法とは思えません。
もっと良い方法はあるでしょうか。
以上宜しくお願いいたします。
【解決済み】ゲームオブジェクト名を短くするには
【解決済み】ゲームオブジェクト名を短くするには
最後に編集したユーザー aiueo [ 2016年9月29日(木) 21:48 ], 累計 1 回
Re: ゲームオブジェクト名を短くするには
もっといい方法もあるかもしれませんので、一週間くらいは返答待ってみてください。
配列を代入して行数を1減らす方法。
nn = [screen.pictures[1],$game_variables[1]]
nn[0].show(nn[1],0,0,0,100,100,255,0)
計算部分などには使える、Game_Interpreter
Game_Interpreter
def picture_show #picture_showとスクリプトに打てば起動
n = screen.pictures[1]
m = $game_variables[1]
n.show(m, 0, 0, 0, 100, 100, 255, 0)
end
配列を代入して行数を1減らす方法。
nn = [screen.pictures[1],$game_variables[1]]
nn[0].show(nn[1],0,0,0,100,100,255,0)
計算部分などには使える、Game_Interpreter
Game_Interpreter
def picture_show #picture_showとスクリプトに打てば起動
n = screen.pictures[1]
m = $game_variables[1]
n.show(m, 0, 0, 0, 100, 100, 255, 0)
end
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
Re: ゲームオブジェクト名を短くするには
ONOZUKA様ありがとうございます
了解しました
了解しました
Re: ゲームオブジェクト名を短くするには
m = "pictureフォルダ内の画像のファイル名"
n = screen.pictures[ピクチャ番号を]
n.show(m, 0, 0, 0, 100, 100, 255, 0)
行数は減りませんが個人的にはピクチャを表示するなら$game_variablesを使うより
これが分かりやすくて良いと思います。
これならファイル名の書き換えだけでよく、
いちいち$game_variablesにファイル名を代入する必要も無く使いまわしやすいです。
更に短くしたいなら画像のファイル名を短くする事でしょうか。
また余談ですが、$(グローバル変数)を使ったイベントスクリプトの場合例えば
スクリプト:$sc = screen.pictures[ピクチャ番号を]
文章の表示
スクリプト:m = "pictureフォルダ内の画像のファイル名"
$sc.show(m, 0, 0, 0, 100, 100, 255, 0)
というようにイベントを組んだ場合、
コマンドをわけても有効で使い方次第では行数は一応減ります。
n = screen.pictures[ピクチャ番号を]
n.show(m, 0, 0, 0, 100, 100, 255, 0)
行数は減りませんが個人的にはピクチャを表示するなら$game_variablesを使うより
これが分かりやすくて良いと思います。
これならファイル名の書き換えだけでよく、
いちいち$game_variablesにファイル名を代入する必要も無く使いまわしやすいです。
更に短くしたいなら画像のファイル名を短くする事でしょうか。
また余談ですが、$(グローバル変数)を使ったイベントスクリプトの場合例えば
スクリプト:$sc = screen.pictures[ピクチャ番号を]
文章の表示
スクリプト:m = "pictureフォルダ内の画像のファイル名"
$sc.show(m, 0, 0, 0, 100, 100, 255, 0)
というようにイベントを組んだ場合、
コマンドをわけても有効で使い方次第では行数は一応減ります。
Re: ゲームオブジェクト名を短くするには
究極的には、Game_Interpreterに直接書いてしまうという手があります。
class Game_Interpreter
def picture_event_command(n, m)
screen.pictures[n].show(m, 0, 0, 0, 100, 100, 255, 0)
end
end
と書いて、イベントコマンドのスクリプトに
picture_event_command(1, $game_variables[1])
と書けば一行です。
その他、カスタマイズしたいことがあれば、全てdef picture_event_command 内に設定すれば
とても便利に自分好みのイベントコマンドが作れます。
イベントコマンドのスクリプトが使いこなせるようになったと感じてきているなら、たぶんそんなに難しくはないと思います。
class Game_Interpreter
def picture_event_command(n, m)
screen.pictures[n].show(m, 0, 0, 0, 100, 100, 255, 0)
end
end
と書いて、イベントコマンドのスクリプトに
picture_event_command(1, $game_variables[1])
と書けば一行です。
その他、カスタマイズしたいことがあれば、全てdef picture_event_command 内に設定すれば
とても便利に自分好みのイベントコマンドが作れます。
イベントコマンドのスクリプトが使いこなせるようになったと感じてきているなら、たぶんそんなに難しくはないと思います。
――――――――――――――――――――――――――――――――――――――――――――――
RPGツクールVXでシナリオ重視ゲーム作ってます。

サイト:Mix Idea
アドレス:http://oxibgame.jugem.jp/
―――――――――――――――――――――――――――――――――――――――――――――――
RPGツクールVXでシナリオ重視ゲーム作ってます。

サイト:Mix Idea
アドレス:http://oxibgame.jugem.jp/
―――――――――――――――――――――――――――――――――――――――――――――――
Re: ゲームオブジェクト名を短くするには
ショウ様
オシブ様
ありがとうございます
全部試して動作確認いたしました
ピクチャ表示以外にも、ゲーム変数に配列を使ったりすると入力欄が一杯になります
今まではなんとか収まってましたが
今回教えて頂いたテクニックで色々改善できそうです
ありがとうございました
オシブ様
ありがとうございます
全部試して動作確認いたしました
ピクチャ表示以外にも、ゲーム変数に配列を使ったりすると入力欄が一杯になります
今まではなんとか収まってましたが
今回教えて頂いたテクニックで色々改善できそうです
ありがとうございました
Re: ゲームオブジェクト名を短くするには
解決してそうですが、横から失礼します。
私も Game_Interpreter クラス内に新たにメソッドを作成する方が
使い回しや修正が容易になるので良いかと思います。
ただ、タイトル通り単に短くする方法もあります。
Ruby では、グローバル変数の別名定義ができたはずです。
alias $gv $game_variables
とすることで、$gv と $game_variables が同じ変数を指すことになります。
そのはずです。。。
グローバル変数のエイリアスなので、どこでも可能だと思いますが、
トップレベルでまとめて実行してしまうのが良いかと思います。
私も Game_Interpreter クラス内に新たにメソッドを作成する方が
使い回しや修正が容易になるので良いかと思います。
ただ、タイトル通り単に短くする方法もあります。
Ruby では、グローバル変数の別名定義ができたはずです。
alias $gv $game_variables
とすることで、$gv と $game_variables が同じ変数を指すことになります。
そのはずです。。。
グローバル変数のエイリアスなので、どこでも可能だと思いますが、
トップレベルでまとめて実行してしまうのが良いかと思います。
Re: ゲームオブジェクト名を短くするには
CACAO様ありがとうございます
トップレベルは
←
▼ モジュール
Vocab
・・・
の上の欄でしょうか
alias $gv $game_variablesを貼り付けて
イベントコマンド「スクリプト」で$gv[20]="ツクール"とか動作するのを確認しました
短くなるので配列同士の代入とか楽になりそうです
ありがとうございました
トップレベルは
←
▼ モジュール
Vocab
・・・
の上の欄でしょうか
alias $gv $game_variablesを貼り付けて
イベントコマンド「スクリプト」で$gv[20]="ツクール"とか動作するのを確認しました
短くなるので配列同士の代入とか楽になりそうです
ありがとうございました
Re: ゲームオブジェクト名を短くするには
トップレベルは、クラスやモジュールを定義する一番外側の場所です。
p self として main と返されるところですね。
セクションのような上下の関係ではないので、
セクションは、▼ 素材より下の方が良いと思います。
p self として main と返されるところですね。
セクションのような上下の関係ではないので、
セクションは、▼ 素材より下の方が良いと思います。
コード: 全て選択
-- ここ --
class Hoge
end
-- ここ --
module RPG
class Piyo
end
end
-- ここ --
Re: ゲームオブジェクト名を短くするには
CACAO様ありがとうございます
トップレベルはそういう事だったとは・・・
やっとわかりました
ありがとうございました
トップレベルはそういう事だったとは・・・
やっとわかりました
ありがとうございました