スクリプトの軽量化(質問掲示板)
投稿: 991103
投稿:2011/10/23 13:19:23(最新:2011/10/26 15:31:26)
イベントをabcdefとします。
どのイベントを調べてもabcde全てを実行するようにfを仕組みたいのですが、
1.調べた時、他のイベントを参照するにはどうしたらいいですか?
その時、調べたら即作動するようにするにはどうしたらいいですか?
(aを調べてfを調べるのではなく、aを調べるとfが実行されるというもの。)
LINE test-3 - 【2DRPG】
のロード時間は
LINE test-2 - 【2DRPG】
と比べるとだいぶ長くなっていて、
次回作はtest-3に対してざっと6倍の容量になるので、
軽量化をはかるために質問させて頂きました。
ツイート
どのイベントを調べてもabcde全てを実行するようにfを仕組みたいのですが、
1.調べた時、他のイベントを参照するにはどうしたらいいですか?
その時、調べたら即作動するようにするにはどうしたらいいですか?
(aを調べてfを調べるのではなく、aを調べるとfが実行されるというもの。)
LINE test-3 - 【2DRPG】
のロード時間は
LINE test-2 - 【2DRPG】
と比べるとだいぶ長くなっていて、
次回作はtest-3に対してざっと6倍の容量になるので、
軽量化をはかるために質問させて頂きました。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
実行したいスクリプトをユーザ関数で作成しておき
各イベントのスクリプトでユーザ関数を呼び出すようにします。
なお、ユーザ関数は予めロードされていないといけないため
開始スクリプトに書いておきます。
[ 開始スクリプト]
[ イベントaスクリプト]
[ イベントbスクリプト]
なお、ユーザ定義関数につきましては
スクリプト言語のマニュアル
Rmakeで自由なゲームをつくろう / 第01回 スクリプトって何?
こちら参照していただけると幸いです。
各イベントのスクリプトでユーザ関数を呼び出すようにします。
なお、ユーザ関数は予めロードされていないといけないため
開始スクリプトに書いておきます。
[ 開始スクリプト]
def 動作A #aのイベントで実行するスクリプト end def 動作B #bのイベントで実行するスクリプト end #----- 中略 ----- def 動作F #fのイベントで実行するスクリプト end
[ イベントaスクリプト]
if #動作Aの実行条件 動作A #動作A関数を呼び出す end if #動作Fの実行条件 動作F #動作F関数を呼び出す end
[ イベントbスクリプト]
if #動作Bの実行条件 動作B #動作B関数を呼び出す end if #動作Fの実行条件 動作F #動作F関数を呼び出す end
なお、ユーザ定義関数につきましては
スクリプト言語のマニュアル
Rmakeで自由なゲームをつくろう / 第01回 スクリプトって何?
こちら参照していただけると幸いです。
fのイベントを発動させる方法が、abcdeのいずれかを調べる事のみの場合は、fの有効条件にフラグをひとつ書くだけ
しかしabcdeだけではなく、fを直接調べたときにもfを発動させるには工夫がいるかも。
・fを直接調べたときのイベントをつくる
・abcdeにもfのイベントスクリプトをコピペで仕込む
という感じで。
「他のイベントを参照する」の意味はワカランけど、
数か所で全く同じ動作をさせるなら、ユーザー定義関数で「一連の流れ」を作っておけば良いかと。
他のイベント結果による各キャラの状態の確認をしたいなら、それぞれのキャラの状態を変数に保存しておいて、ソレを参照すれば良いような。
複雑化するとスクリプトが長くなる、てのは仕方ないとして
同じ動作をどこまで効率的にまとめるか、てのはスクリプトを組む際の腕の見せ所です
しかしabcdeだけではなく、fを直接調べたときにもfを発動させるには工夫がいるかも。
・fを直接調べたときのイベントをつくる
・abcdeにもfのイベントスクリプトをコピペで仕込む
という感じで。
「他のイベントを参照する」の意味はワカランけど、
数か所で全く同じ動作をさせるなら、ユーザー定義関数で「一連の流れ」を作っておけば良いかと。
他のイベント結果による各キャラの状態の確認をしたいなら、それぞれのキャラの状態を変数に保存しておいて、ソレを参照すれば良いような。
複雑化するとスクリプトが長くなる、てのは仕方ないとして
同じ動作をどこまで効率的にまとめるか、てのはスクリプトを組む際の腕の見せ所です
あー作業するPC環境が自宅から無くなっちゃったのね…
ネカフェ通ってまでやる趣味では無いのは確かだし(汗