まずはいたずらしよう!


No.00 2進法と16進法

練習用ゲームファイルをダウンロード

練習用ゲームファイルは今回のRGSSの改造結果を確認するのに適した状態で保存しています。
また、改造する場所をわかりやすくするため、スクリプトエディタに☆マークをつけています。
いきなり自分の作成しているゲームのスクリプトを書き換えるのは、バックアップ等が面倒だと思うのでこちらを使ってください。

練習用ゲームファイル01
※11/08より「はじめる前の注意事項」というテキストファイルを入れました。
すでにダウンロードしている人はこちらからお読みください(任意)。


ダウンロードの方法

「練習用ゲームファイル01」をクリックすると、ファイルのダウンロードという画面が出てくるので、下の左から2番目にある「保存(S)」を選んで好きな場所に保存してください。

保存した場所に"RPG-sankou_rgss_sample01"というファイルがあるので、ダブルクリックしてください。
後は、RPGツクールXPから、そのプロジェクトを起動してください。

まずはいたずらしよう!

とりあえず一番最初なので、ちょっといたずらをしてみようと思います。
これを見てください。
いたずら
歩数表示がこのサイトの宣伝になってますね。
一番簡単なこれから、ウィンドウの改造を始めましょう。


Lesson1 歩数表示の変更(改造場所の確認)

RGSSの改造の基本はどこを改造するかを考えることです。
今回は歩数表示を変更するので、歩数に関係あるものを改造すればいいのです。
スクリプトエディタを開いてください。いくつかに☆がついてますね。
Window_Steps …なんとも怪しげな…いかにも歩数に関係ありそうです。
とりあえず、開いてみましょう。

Window_Steps

親切にもきちんと書いてありますね。よかった、よかった。


Lesson2 歩数表示の変更(リテラルを覚える)

あ〜、そこの君!いきなり知らない言葉が出てきたからって、ブラウザの「戻る」ボタン押しちゃダメ!
リテラルなんて、普段使わない言葉ですよね?
さぁ、調べましょう。

スクリプトエディタの下のほうに、ヘルプがあるのでそれを使いましょう。
「目次」→「RGSSリファレンス」→「Rubyの文法」→… あった!「リテラル」だ。
早速中をざっと見てみましょう。
(・−・) さっぱりわかりませんね。
しかし、よく見るといくつかの発見があります。

一番最初に書いてある文章をよく読んでください。そうです、プログラムに書ける値がリテラルなんです。
さらに、上の方をよく見ると、「文字列リテラル」なるものがあるらしい。
文字列リテラルの一番最初の一行をみると、'や"で囲まれた文章が文字列リテラルらしいということがわかります。とりあえず、これだけのことがわかればOKです。
ヘルプを閉じましょう。

さて、スクリプトエディタに戻ってください。調べたからには、どこかしらに出てくるはずです。

文字列リテラルを探せ!

発見できましたね。"歩数"を書き換えると、メニュー画面も変わりそうですね。
早速書き換えたいのですが、ちょっと待ってください。

いきなり書き換えても大丈夫ですか?万が一違った場合100%元の形に戻せますか?
これくらいの短い文章であれば、元に戻すのは簡単ですが、プログラムが長くばれば、すべてを覚え切れません。まずは、バックアップをとりましょう。


Lesson3 簡易バックアップとマーキング

はじめに断っておきますが、「簡易バックアップ」と「マーキング」は管理人が勝手につけた名前です。他のサイト、書籍等では通用しないのでご注意ください


簡易バックアップ

簡易バックアップ

簡易バックアップの完成形です。

やり方
1.元のスクリプトをコピーする。
2.改行して、次の行に元のスクリプトを貼り付ける。(下の行のスクリプトを消さないように注意!)
3.元のスクリプトに#をつけて、コメントにする。
※#のつけ方→Shift + 3


マーキング

マーキング

マーキングの完成形です

やり方
改造する行の前に「#○行変更。マーキング」と書く。(○は変更する行数)


マーキングの意味

とりあえず、Ctrl と Shift と F を同時に押してください。検索窓が出てきます。
マーキングで検索してみましょう。今回改造する場所が結果として出てきます。
マーキングの利点は後でどこを改造したかが、1回の検索でわかることです。
便利なのでぜひ利用しましょう。


Lesson4 書き換え

さて、バックアップも終わったことだし、文字を書き換えてみましょう。

サイトの宣伝。よろしく!

えっ?自分のサイトを宣伝するなっだって?
まぁ、お気に召さない人は、お好きな言葉に直してくださって結構です。
特に思いつかない人は、好きな人や彼氏、彼女の名前…

書き換えが終わったら、確認してみましょう。
スクリプトエディタはOKをクリックして終わらせてくださいね。
キャンセルをクリックすると、今までの苦労が水の泡になります。

テストプレーをして、メニューの歩数表示のところに次のような画面が出れば成功です。

RPGの参考書です。

思い通りに行きましたか?
失敗した人は以下のことを確認しましょう。

・スクリプトエディタをキャンセルで終わらせていないか?
→エディタを開いてみて、書き換える前のものになっていたら、キャンセルで終わらせています。

・「SyntaxErrorが発生しました」と表示された場合、間違って")を消してしまった可能性が高いです。
→エディタを開いて、バックアップを元に、")を付け足しましょう。

Syntaxを英語の辞書で調べると「文法」という意味であることがわかります。つまり、Rubyの文法が間違っていたということです。

※self.contents.draw_text についてはいずれ説明します。とりあえずこれが、文字を表示させているということだけわかればOKです。先に知りたい人は、「ヘルプ」→「RGSSリファレンス」→「ゲームライブラリ」→「RGSS組み込みクラス」→「Bitmap」の下の方に載っていますので自分で確認してください。


Lesson5 下も書き換える

次は数値自体も書き換えたいと思います。
26行目を簡易バックアップとマーキングしてください。

やりかたはさっきと同じだよ〜。

$game_party.steps.to_s が歩数を保存しているものです。

ごめんね。

よく調べた結果「保存しているもの」という発言には語弊があるような気がしました。「歩数を保存しているのは、@stepsという変数で、$game_party.steps.to_s で@stepsを文字列リテラルとして呼び出している。」のが正しいのかなと思います。←これもちょっと違うけど、とりあえず今は勘弁してください。


どちらにせよ、容赦なく消して好きな言葉に書き換えてかまいません。

歩数を表示させている部分を書き換えているだけなので、歩数のカウント自体はずっとされています。イベントで変数に歩数を代入するのも問題なく使えます。

もう少しで完成だ!

※一番最後の数字が2→0になっているのは、表示位置を変更するためです。詳しくは、「ヘルプ」→「RGSSリファレンス」→「ゲームライブラリ」→「RGSS組み込みクラス」→「Bitmap」の下の方に載っていますので自分で確認してください。

テストプレーをして、メニューの歩数表示のところに次のような画面が出れば成功です。

成功したかな?

失敗した人は、先ほどと同じことを確認しましょう。
成功したら、「まずはいたずらしよう!」は終了です。お疲れ様でした。


まとめ

Window_Stepsを変えると歩数の表示を変更することが出来る。
文字列リテラルとは'や"で囲まれた文字列。プログラムに直接記述できる。
SyntaxErrorは文法を間違えると出てくる。

No.02 装備機能拡張(1)

このコーナーの感想はRPGツクールXP掲示板にでも書いてください。
管理人が喜びます。