◆ Rubyベストプラクティス
2011-01-19
Rubyベストプラクティスの原版が無料で公開されてます。
PDF ダウンロード (sandal’s rbp-book at master - GitHub)
英語大丈夫な方は必見!
以下は、ネタが無いとき恒例のプチスクリプト集です。
■ フェードの時間を変更する
デフォルトのフェード処理では時間が指定できない。
もし、イベントコマンドで自作するとこうなると思います。

■ フェードの時間を指定して実行する
ウェイト時間に変数を使用できないので時間は固定になってしまいます。
ですので、スクリプトにするとこんな感じ。
■ 場所移動時のフェードアウト・フェードインを無効にする
場所移動を実行する前に行う処理
■ プレイヤー・イベントの位置を変更
イベントコマンド「移動ルートの設定(スクリプト)」で実行してください。
イベントはあったけど、プレイヤーの位置を変えるのは無かったよね?
■ 姿勢の矯正
足踏みを止めたときに片足上げたままとかを矯正します。
イベントコマンド「移動ルートの設定(スクリプト)」で実行してください。
■ メッセージウィンドウを閉じるまで待つ
イベントコマンド「スクリプト」で実行します。
この処理は、この1行で実行してください。
他の処理を含めることはできません。

関連記事:
http://cacaosoft.blog42.fc2.com/blog-entry-369.html
http://cacaosoft.blog42.fc2.com/blog-entry-465.html
http://cacaosoft.blog42.fc2.com/blog-entry-355.html
http://cacaosoft.blog42.fc2.com/blog-entry-415.html
http://cacaosoft.blog42.fc2.com/blog-entry-280.html
デフォルトのフェード処理では時間が指定できない。
もし、イベントコマンドで自作するとこうなると思います。

■ フェードの時間を指定して実行する
ウェイト時間に変数を使用できないので時間は固定になってしまいます。
ですので、スクリプトにするとこんな感じ。
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 画面のフェードアウト
#--------------------------------------------------------------------------
def fadeout(duration = 30)
return false if $game_message.visible
screen.start_fadeout(duration)
@wait_count = duration
return true
end
#--------------------------------------------------------------------------
# ● 画面のフェードイン
#--------------------------------------------------------------------------
def fadein(duration = 30)
return false if $game_message.visible
screen.start_fadein(duration)
@wait_count = duration
return true
end
end
■ 場所移動時のフェードアウト・フェードインを無効にする
場所移動を実行する前に行う処理
Graphics.brightness = 0場所移動が終わったら行う処理
Graphics.brightness = 255
■ プレイヤー・イベントの位置を変更
イベントコマンド「移動ルートの設定(スクリプト)」で実行してください。
イベントはあったけど、プレイヤーの位置を変えるのは無かったよね?
moveto(x, y)
■ 姿勢の矯正
足踏みを止めたときに片足上げたままとかを矯正します。
イベントコマンド「移動ルートの設定(スクリプト)」で実行してください。
straighten
■ メッセージウィンドウを閉じるまで待つ
イベントコマンド「スクリプト」で実行します。
この処理は、この1行で実行してください。
他の処理を含めることはできません。
return false if $game_message.visible

関連記事:
http://cacaosoft.blog42.fc2.com/blog-entry-369.html
http://cacaosoft.blog42.fc2.com/blog-entry-465.html
http://cacaosoft.blog42.fc2.com/blog-entry-355.html
http://cacaosoft.blog42.fc2.com/blog-entry-415.html
http://cacaosoft.blog42.fc2.com/blog-entry-280.html