独学ツクールブログ

ツクールでのオリジナル作品の話を中心に創作関係の徒然な語り。

[ - ] スポンサーサイト

一定期間更新がないため広告を表示しています

| 2018.05.23 Wednesday | - | - |

[ RGSS奮闘記 ] RGSS3.5計画1:準備(たぶん)完了

ObjectSpace(挨拶)。


まあそれほど大きなことではなく、クラスやモジュールのまとめが終わって、何をするかの見通しが少しついたというだけのことなのだが。


現時点で、列挙したクラス・モジュール数は153。

すべてをいじるわけではないしまだ増えるかもしれないということであくまで未定だが、1日1クラス書けるというわけでもないのでまあ先は流そうである。

RGSS1.5計画の時もそうだがかつては完成後に素材として配布しようなんて思っていたが今はもう考えを改めている。なにしろ需要などないわけだしw


で。

1.5のときのネタ流用などもありすでに少しずつ手はついているのだが、経過報告は多少後になるかもしれない。

実はインフル疑惑が出ていて、まだ体調に問題は出ていないがここ数日が肝心なのだ。

ということで無事であればまた次は週末にでも。



タグ:[Ruby]
[RGSS]
[RGSS3]
[RGSS3.5計画]


| 2018.02.15 Thursday 01:21 | comments(0) | trackbacks(0) |

[ 制作雑記 ] 懲りずにリベンジ

Input.trigger?(挨拶)

何がリベンジかというとフルグレードアップ計画である。
ただしXPではなくAceのほう。
現状、スタンダードRPGはXPそれ以外はAceという前提で作っているのだが、AceのRGSS3は3でまあいろいろ不満もあるというか、強化できるところはまだまだあるなと。
まので、前にもちょっと言った気がするが「RGSS3.5」と題して3のグレードアップ計画もやろうかなと考えている次第。

実は水面下でちまちま動いてはいるのだけど、公開するようなナニがあるわけでもなしということではっきりとは言っていなかったのよね。
なので、当面は作品の合間にグレードアッププロジェクトを進めつつ、適宜記事にしようかなと。


…なお進行に伴い過去の関連エントリは非公開にします。重複になったり無意味になったりするので。

タグ:[Ruby] [RGSS] [RGSS3] [RGSS3.5計画]


| 2018.02.14 Wednesday 00:30 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSSで使うのにおすすめな小数値





ということでね。
調べた結果の報告です。

続きを読む >>

| 2016.06.05 Sunday 22:56 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] ナイスブロック

RGSSをやってると、「インスタンスの配列」が必要になってくることがある。 それはActorかもしれないしSpriteかもしれないが、個人的に最たるものはWindowであると思う。 例えばプリセットのScene_FileではWindow_SaveFileの配列を作って管理している。 しかしその定義のコードを見てみると……

続きを読む >>

| 2015.02.09 Monday 21:58 | comments(0) | trackbacks(0) |

[ Ruby ] XAMPPでRubyを使用するためのいくつかの設定

XAMPP環境でRubyスクリプトを実行させるための設定方法。 ただしXAMPP自体についてはすべて割愛。それはまた別の機会に。 まずはXAMPPインストールディレクトリのapache¥confにある「httpd.conf」を編集する。 Rubyのソースファイルを認識させるため、DirectoryIndexに「index.rb」などを追加。 「」から「」の間に「index.html」などの羅列があるのでそこに追加する。 この時、区切りにカンマ等は必要なく、半角スペースで良い。 Rubyスクリプトを有効にするため、「AddHandler cgi-script」に「.rb」を追加。 これも半角スペース区切りでいい。 Apache側の設定はこれだけだ。 あとはRubyスクリプトの先頭にRuby.exeへのパスとエンコードの記述を追加したうえでスクリプトを書くだけでWEBアプリケーションとしてRubyを実行できる。 以下はスクリプトの例である。
#! C:/Program Files/ruby/bin/ruby
# -*- coding: utf-8 -*-
print "Content-Type:text/html¥n¥n"
print "TEST"
これで、ブラウザで実行すると「TEST」と表示するプログラムの出来上がりである。 で。 これでWEB拍手自作とかしたいんだが、これもまた先の話になるだろうなあ……

タグ:[Apache] [Ruby] [XAMPP]

| 2014.08.01 Friday 18:04 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記136:挫折

アイテム分類システムをアップデートしようと思って挫けた。
属性を使うのがスマートじゃなさすぎるのでIDの配列にしてしまおうと思ったんだが、Ruby素人が間違えにくく使いやすいように定数や配列を書くのが大変すぎる。
ということでこれはいったん保留。とりあえずマップ名ウィンドウのほうに取り掛かることにする。

実はかなり悔しいんだけどね(笑)


タグ:[Ruby] [RGSS] [素材] [アイテム分類システム]

| 2012.06.30 Saturday 21:14 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記135:らんまらんまで

そんなこんなでなんだかんだと。
通行止めイベント
1.1
公開である。
今回は「同心円状」の追加。
本当は「orbital」だと意味が違うんだが「c」が使用済みな以上仕方あるまい。

さて、間に合えば今月中にマップ名ウィンドウ公開するよ。


タグ:[Ruby] [RGSS] [素材] [通行止めイベント]

| 2012.06.28 Thursday 22:47 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記134:新素材準備中(10日ぶり2回目)

とかいいつつ「新」素材ではないのはご愛嬌(挨拶)

今は「通行止めイベント」の拡張を考えている。縦横十字矩形の4つでも充分な気もするが、「円範囲」なんてあったらもっといいかなと急に思いついたためである。
先日のマップ名表示とどちらが先にできるか分からないが、とりあえず時間が作れたら真っ先にやってみようと思う。


タグ:[Ruby] [RGSS] [素材]

| 2012.06.23 Saturday 20:51 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記133:新素材準備中

現在、ちゃっかり次の素材を準備中。
前からずっと考えていて、手間が少なそうなので逆に放置していた「マップ名表示ウィンドウ」の素材である。
繰り返すが、処理の構築だけなら簡単なのだ。あとはウィンドウのタイミングとか時間とか、カスタマイズ性とかの問題。
早ければ来週頭にはできると思われる……が、どうだろうね(笑)


タグ:[Ruby] [RGSS] [素材] [マップ名表示ウィンドウ]

| 2012.06.14 Thursday 21:00 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記132:リアルタイムアップデートファイナル

そんなこんなで。

セーブファイル増量公開である。
こっそり左右キーにも対応していたりする。動作は上下キーと同じ。
ついでに、紹介ページの記載も少しだけ変更。主な理由はブログの記事IDが変わったこと。
さらについでに、動作が分かり易いようにサンプル画像をGIFアニメにしてみた。

約半月で素材更新ができて一安心。
あとは作品のほうが順調に進めばもっといいのだが……(笑)
まあ、それはまた別の話ということで。
明日以降はガラッと話題を変える予定。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.06.07 Thursday 21:59 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記131:リアルタイムアップデート11

ということで処理の見直し。

上下キーはそのまま(とかいいつつ実は左右キーにも対応)に、LRキーの挙動を修正。
LRキー押下時のウィンドウの状況は3種類あるので、それぞれif分岐で対応。
まず、すでにリスト端にいる場合は上下キー時同様反対側の端へスクロール。
次に、4つスクロールするとリスト端を超えてしまう場合はリスト端でストップ。
最後に、それ以外の場合は4つスクロール。
いずれの場合もカーソル位置は変化しない仕様にした。

ということで、セーブファイル増量素材について「ファイル数を任意に」「ウィンドウスクロール」の両者を実装完了。あとは体裁を整えれば公開可能だ。
でもそれはまた明日ということで。今日はもう限界だ(笑)


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.06.06 Wednesday 23:33 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記130:リアルタイムアップデート10

なぜかあっさりLキーの実装終了。
苦労したのは分岐基準やスクロール距離に置く式の組み立てだけで、全体的にはやはりRキーの処理の反転型でできた。

さて。
これで一応そこそこの形にはなったのだが、テストしてみるとやはり端で止まるときのカーソル位置が納得いかないということに気付く。
明日はそこの修正をしてしまう予定。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.06.05 Tuesday 23:23 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記129:リアルタイムアップデート9

思ったより簡単にRキー実装できた(笑)

ポイントは、スクロール前の分岐。
考えてみれば、上下キーの処理でも入力直後に分岐させてからスクロール処理を呼んでいた。それを応用すればいい話だった。
ただし、ファイルやカーソルの位置からスクロール距離を算出しているので、リスト端で強制的に止まる状況の場合は先にスクロールを呼ばなくてはならないと気づくのに時間が少しかかった。
止まらない場合は単純に4つスクロールなので特に問題なし。

さて次はLキーだ。こっちも簡単に済めばいいのだが……


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.06.04 Monday 20:11 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記128:リアルタイムアップデート8

ということで上キーの実装。
下キーのソースで各数値または数値を返す式の値を上下反転するだけ。思った以上に簡単に済んだ。

さて…
LRキーの実装はここまで簡単にはいかない。
今困っているのは、キー入力による移動量より手前にリスト端が来た場合の処理の仕方。
単純に考えれば、そこでスクロールストップすべきだ。そこはまあいい。問題はカーソル位置。
例えば、ウィンドウが16なら、画面内は上から12、13、14、15となっている場合。12にあれば、そのまま一番上のウィンドウにカーソルがあっていればいいのだろうが、13より下にあった場合はどうだろう。スクロール後の1番上は13のウィンドウなわけで、では13にすればいいかというとそれでは12にある場合との整合性が取れない。そこは「スクロール」と「スクロールに伴うカーソル移動」の兼ね合いということで「そういうもの」としていい気もするが、なんとなくもっとおさまりのいい方法がないかと考えてしまう。というかあると思う。
そこがまとまるまでいったん保留にしてしまおうかとまで考えている。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.06.03 Sunday 22:37 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記127:リアルタイムアップデート7

開き直ってまずは下キー入力時の処理のみきちんと組み上げる方針に変更。
一つが完璧に組めてから応用する方が早い(俺の場合)ということにやっと気付いた。

ということで、なんとか完了。
いろいろ全部突っ込んだので鬱陶しいコードになったが、これはあとあとメソッドの切り分けなどすればいいだろう。
上キーはこれの正負反転したものをベースにすれば容易なはず。LRキー時のコードはまだ不安だがまあここまでできたんだから何とかなるだろう。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.06.02 Saturday 22:05 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記126:リアルタイムアップデート6

今日も地道な作業の繰り返し。
Input.repeat_any?による分岐後、更にカーソル位置によって分岐させる。具体的には、@file_indexと、新しく用意した@cursor_positionによっての分岐である。
@cursor_positionは文字通りカーソル位置を示す変数。これによって、「下キー入力かつ画面最下のウィンドウ選択中」という状況を判別できる。

で、ここからさらに、必要な状況であれば、ウィンドウスクロールを開始させるscroll_windowsメソッドを呼ぶようにする。引数はウィンドウいくつ分スクロールするかの値。
なのだがここで大苦戦。前述のようにLRキー入力時もスクロールで移動する仕様に変更したわけだが、メソッドに渡す引数の算出で大きくつまずいている。リスト中ほどならいいんだが、上下端でのループとLRの4件切り替えが難しい。何度逆方向にスクロール開始して無限ループに陥ったことか(笑)

で。
現時点でもまだちゃんとはできていない。
各キー時にどれだけスクロールさせるかをまず文章化し、それを数式に直すだけ。言葉でいうのは簡単なんだが(しかも式だって加減算とmax、minメソッドだけでできるのは判り切ってるのに)未だに正しい式にできないorz数学だけは得意じゃなかったのか俺orz


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.06.01 Friday 22:34 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記125:リアルタイムアップデート5

今日は微妙に仕様変更。
現在の仕様は「上下キーによる1行切り替えはウィンドウスクロール、LRキーによる4行切り替えはウィンドウ表示し直し」としていたが、あとあと面倒になりそうなのでどちらもスクロールに変更した。

と、その直しを始めたところで無駄発見。
キー感知時(Input.repeat_any?)にキーを判別してローカル変数に移動する数を代入、ローカル変数がnilでなかったらそれの値によって分岐、なんてやってた……なんというアホ処理。
まあ、前バージョンの処理をそのまま残そうとしたのが敗因だな。
ということで、キー判定での分岐の中にウィンドウスクロールの設定処理を突っ込む。インデントが一個深くなったがまあ見た目で分かり易い処理のほうが後で見るときに楽だからいいだろう。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.05.31 Thursday 21:32 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記124:リアルタイムアップデート4

凡ミスというかなんというか。
現在のスクロール処理は、Scene_Fileではあくまでウィンドウにフラグを立てる(実際は移動先y座標を設定する処理)だけであり、スクロール処理はウィンドウクラスのほうで行っている。
まあその処理の持たせ方自体は妥当だしクアドラで組んだスクロールの流用でもあるからいいんだが。
スクロール中にさらにキー入力すると座標を計算し直してしまい変な位置で止まるorz

ということで、これもクアドラで作った処理だが、ウィンドウがスクロール中であるか判定できるようにし、スクロール中であればスクロール処理に入らせないように分岐することにした。泥臭いがまあいいだろう。

とはいうものの、その処理を今の形にするだけで今日の時間を使い切ってしまった(笑)判定基準や分岐タイミングで悩みすぎたせいだ。
明日はもう少し納得いくレベルで進捗したいところ。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.05.30 Wednesday 22:43 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記123:リアルタイムアップデート3

まだまだ続くよ苦し紛れの素材アップデート実況中継。


今日はキモとなるウィンドウのスクロールを実装。
クアドラで採用したスライド機構をヒントに、特定の状況下のみウィンドウがスライドするように組んだ。
と、簡単に言ってみたが、この「特定の状況下のみ」というのが難しい。具体的には、「カーソルが一番上且つ上キー入力時」または「カーソルが一番下且つ下キー入力時」ということなのだが、これの判定が案外難しかった。もちろん、判定するだけなら簡単だ。しかし、それに伴うフラグ操作やメソッドの実装がなかなか難産だった。
結局は、クアドラ同様条件がそろった時点でフラグを立て、目標位置と現在座標が一致するまでスライドさせるという実装になった。

動き自体は問題ないのだが組み方がちょっと……具体的にはつかめていないが、いかにもこれじゃいけないという状態になっているので、これは後々直そうと思う。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.05.29 Tuesday 21:29 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記122:リアルタイムアップデート2

さあ今日もネタがないぞ。


今日の変更点。

その1
素材内部にWindow_SaveFileを持ち込み。
自信のindexと読み込むべきファイル名に加え、@file_indexを渡すように変更。これによってシーンに入った時のウィンドウの初期位置を設定する。動作としては、前回セーブしたファイルのウィンドウが画面上4項目のトップに来るようになる。

その2
各ウィンドウのvisibleを設定していた箇所をいったんコメントアウト。これはスクロール処理への布石。スクロールが実装される際にはvisibleを変更しなくなるからだ。


……ここまでやってて思ったんだが、Scene_File自体を完全に書き換える方が早かったんじゃ無いだろうか?(笑)
セーブロード画面のフル改造な素材もあるし、俺もそうすればよかった。とはいえ画像を作らないといけないからそれはそれで能力が追い付かないんだけどね。
とりあえず今はこっちでやって、気が向いたら完全改造版を別件でやろうかな。


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.05.27 Sunday 22:38 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記121:リアルタイムアップデート1

更新のネタがないよ!(挨拶)

ということで、以前ちょっとネタにしたセーブファイル増量の更新。
を、
試行錯誤していじくる過程を記事にしようと思う(笑)
うん。ふつうやらないよね。でもそれだけネタがないんだorz


ということで今日の改造点。
まず独自モジュールの定数PAGESを廃止し、ファイル数であるFILE_NUMBERを定義、更にセーブファイルを専用のフォルダに作成する設定にも対応できるように、ファイルパスのFILE_DIRを定義。既存スクリプトでPAGESを使用していた箇所の置き換えと、セーブファイルの存在確認処理を変更。ファイルの存在確認は、Dir.globを使うことで分かりやすくなるとともにあの憎々しいforをなくせる一石二鳥。


今日はここまで。
肝心のウィンドウスクロールにたどり着くまではまだまだかかりそうだ(笑)


タグ:[Ruby] [RGSS] [素材] [セーブファイル増量]

| 2012.05.26 Saturday 23:38 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記120:素材更新

制御文字拡張を1.2にアップデート。
実は手元で一度1.1にしてたので1.2なのだが、1.1で何したのかよく覚えていない(笑)
とりあえず、今後ともよろしくということで。

あまり関係ないが、この間の自動化の流れで全素材にRDocを付けたくなったのは内緒だ。


タグ:[Ruby] [RGSS] [素材] [制御文字]

| 2012.05.20 Sunday 22:51 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記119:れっつぱーちー

そんなわけで制御文字ですってよ奥さん(挨拶)。


今日ちゃちゃっと追加した制御文字は「¥P」。機能は「パーティ名表示」でございます。
つまり、パーティが一人ならそのキャラ名、複数人なら「先頭キャラの名前+“たち”」を表示するわけだ。多分一番活躍するのは宝箱のコモンイベントだと思う。

実装は実に簡単。
$game_party.actors[0].name + ($game_party.actors[1] ? "たち" : "")

これだけだ。ちなみに最初
$game_party.actors[0].name + $game_party.actors.size > 1 ? "たち" : ""

って書いてTypeError出したのはここだけの秘密。
説明とか書き直してうpは明日ということで。


タグ:[Ruby] [RGSS] [素材] [制御文字]

| 2012.05.19 Saturday 19:30 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記118:とりあえず計画だけ2

Scene_Fileのウィンドウ、スクロールする仕様にすれば4の倍数に限定しなくて済むんじゃないか?
というか、そもそもタイトル画面画像コマンドはDir.glob使えば別にセーブ数気にしなくていいだろJK。
とりあえずスクロールする動作が書けてからだな。←イマココ

ちなみにこっちはいつできるか分かりません。一応制御文字が済んだらすぐ書きはじめる予定ではある。


タグ:[Ruby] [RGSS] [素材] [Scene_File]
[Window_SaveFile]

| 2012.05.17 Thursday 22:12 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記115:プリセットスクリプトフルグレードアップ計画10

あまりゆっくりできないのでリファクタリングだけする。
今日は
Game_Character
のみ。
とはいえ3セクションなのでそれなりの量だ。
それにしても……端から端まで精査したわけではないが、どう見てもいろいろと無駄そうな構造だ。
引数の正負とかでもっとぱぱっとできそうなもんだが、なんでしないんだろう?
ここもVXAceのスクリプトをじっくり見なきゃダメだな。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.05.09 Wednesday 23:11 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記114:プリセットスクリプトフルグレードアップ計画9

引き続きリファクタリングの日。

今日は
Game_Map
Game_CommonEvent
を終えた。


既存のハッシュをもとに新しいハッシュを作るのってどういう書き方がいいんだろうか。
面倒なので今はまだ2段階で書いている。本当は空ハッシュ作成なんてやりたかないんだが。

茂みとかカウンターなんかの判定は、ビット値を引数に共通メソッド化するのがいいだろうな。
とりあえず今はクラス構成はいじらないことにしているのでそのまま。

それにしてもforの多さには毎度呆れる。

Game_CommonEventはなんでいちいち$data_common_eventsから取ってきてるんだろう。インスタンス変数じゃダメなんだろうか。全文検索しても、ダメな理由が見当たらない。ここも大幅変更対象だな。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.05.06 Sunday 22:21 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記113:プリセットスクリプトフルグレードアップ計画8

忘れてたわけじゃない。時間の配分が下手なだけなんだ(挨拶)。

ということで今日は
Game_Party
Game_Troop
のリファクタリング。
初めて両クラスのメソッドをじっくり見た(笑)こりゃたしかにスーパークラス必要だわ。やっぱり本格的に書き直す際にはVXAceのスクリプトを参考にしなきゃだな。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.05.05 Saturday 19:18 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記112:やつつけ仕事

とりあえず(主に自分を)誤魔化すために素材案を考えてみる。


考えてみた。
Scene_Debugの拡張がいいかもしれない。
デバッグモードでいじれるのがスイッチと変数だけってダサいよね。だからいろいろ変更できるように強化したものを作ろうかと。再定義しまくりの全置き換えになるだろうが、まあScene_Debugだし大丈夫だろう。
余裕があれば、デバッグ設定というかテスト用に変数やらパラメータやら変更したものを保存できるようにしたいと思う。通常セーブと大して変わらない処理でいいはずだから苦労はないと思われる。
とりあえず、早速ほんのわずかでも手を付けることにする。
……まあ明日からなんだけどね。


タグ:[Ruby] [RGSS] [素材]

| 2012.05.02 Wednesday 22:31 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記111:初心忘れるべからず

そんなこんなでベーススクリプトの話。
基本機能強化や修正、再定義がメインのベーススクリプトだが、考えてみたら自分ですら使っていない機能を無闇に突っ込んでもどうするのかという(笑)
なので今は機能を組むことより素材に活かすことを優先して考案中。先日のメソッドもいくつか削った。
そういえばそろそろ次の素材何か出したいな……などと考えているので、早ければ来月初めに何か公開できるかも。

ちなみに、制作活動については夏まで本格再開はできないと思う。


タグ:[Ruby] [RGSS] [素材]

| 2012.04.27 Friday 23:51 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記110:比較検証

Ruby1.8.7とRGSS(Ruby1.8.1)で組み込まれているクラス、モジュール、そしてそれぞれのメソッドを一覧化して出力してみた。
比べてみると、かなり多くのメソッドが存在しないことが分かった。
それぞれの機能を調べ、有用且つ実装可能なものはベーススクリプトに組み込んでしまおうと思う。
とはいえEnumerable::Enumeratorクラスなんかは無理だろうな……


タグ:[Ruby] [RGSS] [素材]

| 2012.04.25 Wednesday 22:43 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記109:物忘れ

ベーススクリプトの機能強化がめっきりやるやる詐欺だったのでいろいろ追加。

Bitmap#divide
NilClass#try
Object#blank?
Object#present?
Object#presence
Object#tap
Object#try
String#blank?
Sprite#center_x
Sprite#center_y
Sprite#centering_x
Sprite#centering_y
Window#show
Window#hide

派手にやってみた。しかもまだネタのストックが消化しきれていないという(笑)
どこかきりのいいところで素材のほうを更新予定。


タグ:[Ruby] [RGSS] [素材] [IK_BaseScript]

| 2012.04.22 Sunday 22:22 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記108:プリセットスクリプトフルグレードアップ計画7

引き続きプリセットの直しを。
今日は
Game_Actor
Game_Enemy
Game_Actors
を。
やってて思ったのが、Game_Enemy#base_xxxはインスタンス変数じゃだめなのかということ。メソッドが定義してあるが$data_enemiesからの読出しでしかないのでinitializeでインスタンス変数に入れてattr_readerでもいいと思うんだが。まあそれはおいおい。
それにしてもGame_ActorとGame_Enemyの処理のややこしさと言ったら……正直、意味が変わらないまま記述を簡略化する方法を考えている時間が一番長かったように思う。しかも充分とは言えないままに終了。今回はプリセットにないもの、つまりSymbol#to_procなどを入れずまずは既存の処理の内容だけをいじるようにしているので、いまいち簡略化されたとは言い難い状態だが、それは後日やることにした。というかまあ今回は初めからそういう計画なので。

それにしてもまだまだ先が長い。Game_CharacterとかScene_Battleとか大丈夫なのか今から不安だったりする。
あまりこっちにはまりすぎてもよくないとは思いつつ……半端なのもまたいけないのでついつい進めているが、こんなんで制作大丈夫なんだろうかorz


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.04.14 Saturday 22:26 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記107:プリセットスクリプトフルグレードアップ計画6

昨日に引き続き「やり直し版」作業。

今日は
Game_Screen
Game_Picture
Game_Battler 1
Game_Battler 2
Game_Battler 3
Game_BattleAction
を修正。
empty?メソッド使ってないとかEnumerator使ってないとかnilと比較とかそういうグズグズな部分が多かった。
本っっ当にプリセットの作者はRubyを知らんな。いやそれでも書けてしまうRubyがすごいんだけども。


明日あたり一回インターバルを挟む予感。というか久々にクアドラに触りたい。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.04.13 Friday 22:40 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記106:プリセットスクリプトフルグレードアップ計画5

一番いけないのは最近「奮闘」ってほど学習のほうに力を入れてないことだと思うんだ。
いやほら、Rubyの知識がついてくるとなかなか……ねえ。

ということで。
フルグレードアップ計画のやり直し版開始。
やり直し版というのはつまり一から仕切り直しということで(笑)
んで実際何をやっているのかというと、独自モジュールなどはおいておいてリファクタリングを先決にすることにした。それを全体に済ませてからやったほうが効率がいいんじゃないかと。っていまさら言うことではないが(笑)

今日は
Game_Temp
Game_System
Game_Switches
Game_Variables
Game_SelfSwitches
について作業完了。まあこの辺は直しは少ないので。明日以降セクション数はぐっと減りそうだな。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.04.12 Thursday 21:21 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記100回記念

だからといって特に何もないよ!(挨拶)

ということで今日も既存素材の更新である。
今回はアイテム分類システム文字列ピクチャだ。どちらもかなり大がかりな変更となった。

特に大きいのは文字列ピクチャで任意のオプションが設定できるようになったこと。
というのも、最近VBAをいじる機会が多いのであの「名前付き引数」の便利さが病みつきになっていて、何とかこれをRGSSというかRubyでできないものかと思っていたのだが、そんな折Rubyでキーワード引数という記事を発見。なるほどデフォルト引数にハッシュを設定することで名前付き引数のように扱えるのか。
ってことで早速文字列ピクチャにこれを導入してみた。こういう機能は、文字の寄せやら色やら、必要なものだけ指定できるほうが都合がいいので。とはいえイベントコマンドで記述するメソッドのほうが長くなってしまうので恩恵だけども言えない。まあその辺は使う人それぞれということで。改善点は浮かべばやるし誰かがアドバイスをくれても助かる。

ちなみにアイテム分類のほうは記述を全体的にきれいにした程度で特に変更点はなし。入れたい機能があったりはするんだが、とりあえず現状の不細工さを少しでも改善しようというおことで更新。


さて次はタイトル画面と制御文字だな。制御文字はかなり大がかりに変更することになりそうだから後回しかも。


タグ:[Ruby] [RGSS] [素材]

| 2012.03.29 Thursday 22:07 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記99:テロエロリスト

まだまだいきますリファクタリングという名目の飽き解消。
今日はテロップメッセージプリセットデバッグの2本。
テロップのほうは、同一イベント内でテロップの後ろに「スイッチOFF→文章の表示」がある場合テロップ表示中にメッセージウィンドウが出てしまう不具合の修正。プリセットデバッグは装飾品の判定漏れが修正できてなかった(笑)不具合の修正。
ほかにももちろん記述の全体的調整も入れた。

さてあとは3つか……
移動系盛り合わせについては、アップデートついでにドット移動を盛り込めれば尚良いのだが……どうなることやら。


タグ:[Ruby] [RGSS] [素材]

| 2012.03.28 Wednesday 22:10 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記98:ああ無情

引き続き既存素材リファクタリングという名のアレを少々。
今回はタイトル画面カスタマイズ制御文字拡張である。
タイトル画面のほうは基本的に記述を整えたのみ。ついでなんで素材名称も「タイトル画面画像コマンド」に変更。この内容で「カスタマイズ」ってどないやねんって感じだったので。
制御文字のほうはそりゃもうビフォーアフター。処理は切り分けるは制御文字は増やすはで一苦労。その分いいものに仕上がったと思います。まる。本気で大変だったのでしばらく更新したくない……のに制御文字というネタがネタだけに後から後から案が浮かぶ始末(笑)1バイト文字足りないよママン。

さて。
これ以降は比較的新しい素材なだけに直しもかなり少ない。もしかしたら一日で全部やるかも。
リファクタリングとはいっても変数名とかモジュール名を変えるだけになりそうだ。


タグ:[Ruby] [RGSS] [素材]

| 2012.03.25 Sunday 22:12 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記97:時の流れは残酷

というわけで時間は空いたが奮闘記カテゴリとしてはつい最近の話になる例のアレがベータ版的に完成したので公開しようと思う。

IKベーススクリプトベーススクリプトでございます奥様。
前からちまちまと語っていた拡張や修正を一か所に集めたまさに俺用素材ベース。というか、既存の素材もすでにこれを前提とする処理に変えられるところは変えはじめていたり。具体的にはセーブファイル増量とか。ちなみに「Scene_File拡張」じゃ素材の本質からずれてると気づきちゃっかり改名。
とりあえず、もう数日使って既存素材のリファクタリングを行って更新していく予定。

いやーこれでしばらくネタに困らんわ(笑)


タグ:[Ruby] [RGSS] [素材] [IK_BaseScript]

| 2012.03.24 Saturday 20:04 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記96:強引

そんなこんなでドット単位移動の実装を一度諦めてみました神代ですこんばんは。
ぐちぐちこねくり回しててもしょうがないのでとりあえずこの状態で公開とする。

No.012 移動系盛り合わせver 1.0、ver1.0でございます。

移動関係にはもう少し拡張の余地があると思う。思いついたら更に追加する予定。





ところで、今更頑張ってRGSS講座とかやってみたくなったんだけど需要あるかな?(笑)
Ruby自体もそれなりにいじってきたから一応は解説できるけど……
まあ、自分用もかねて文章だけでも書いてみようかとは思っている。


タグ:[Ruby] [RGSS] [素材]

| 2012.02.18 Saturday 21:20 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記95:プリセットスクリプトフルグレードアップ計画4

プログラムと言えばバグだよね。

ということでデバッグ用のスクリプトを組んでみた。
例外発生時にそれを拾ってスタックトレースを出力する。
SyntaxError以外ならたぶんどんなものでもいきなり終了はしないでログをはいてくれるはずだ。

御大層にもこのモジュールにRGSSという名前を付けてみた。そしてスクリプトの処理を開始させるのはこの中のstartメソッドに入れた。
というのは、「RGSS.startでゲーム開始」というのが何かそれっぽくてかっこいい気がしたから……というのは半分嘘で、こうして独自のクラスに入れてしまうことでいろいろな差異を吸収してしまえるから。実は、このRGSSモジュールは無駄にVXとVXAceに対応済みだったりする(いつ役に立つのかしらんが)。つまり初のVX(Ace)対応素材として公開できるんだよ!

(; ・`д・´) ナ、ナンダッテー !? (`・д´・ (`・д´・ ;)


以上です。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.02.16 Thursday 22:48 | comments(0) | trackbacks(0) |

[ 制作雑記 ] いーるど

今頃になってブロック付きメソッドの作り方ではまった。
yieldをどこでどう使って何をさせるのかっていうのが分からんくなった。
……まあ今まで自分でブロック付きメソッドを定義したことなんてなかったから当たり前っちゃそうなんだけども。

ごく単純なケースにおいて、yieldはブロックの中身をそこに書いたのと近い挙動を行う。
が。あくまでも単純なケースの場合である。Enumeratorとかブロックパラメータとかそこらへんの話になるとそうたやすくはいかないわけだ。
ただ、「yieldでブロック内の処理を実行」という概念自体は変わるわけではないので、そこはいじっているうちに理解できるだろう。少し時間は食いそうだが。


要するに、Arrayクラスにデフォルトで逆順ソートがないのが不満だという話。


タグ:[制作雑記] [Ruby] [yield]

| 2012.01.31 Tuesday 13:08 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記94:プリセットスクリプトフルグレードアップ計画3

ブログ書く暇があったらスクリプト書けってばっちゃがゆってた(挨拶)

ということでこの1か月の間にいろいろ進展。
ちょっと多いので簡単に。


作成済のもの



game_waitメソッド実装

Kernelモジュールにgame_waitメソッドを定義。これにより、いつでもどこでも任意のフレーム数だけウェイトをかけられる。

System.rxdataはやっぱり定数に

RPGモジュールで定数SYSTEM_DATAにSystem.rxdataをロードする。SoundおよびVocabではここからデータを呼ぶこことになる。

RPG::Systemクラスの定義拡張

attr_accessorしかなかったRPG::Systemに多数のクラスメソッドを定義。これを使用する設計に変更することで$data_systemを排除した。

SceneManagerクラスの定義

VXAceに存在するSceneManagerクラスを定義。メソッドや変数はXP用かつ自分が使いやすいよう変更。

組み込みクラス、組み込みモジュールの再定義

Input、Symbol、Color、Rect、Bitmap、Spriteをいろいろ拡張して再定義。

Window_Baseクラスの再定義

Window_Baseの各メソッドや変数を、拡張したColorクラスを使うなどいろいろ再定義。


作成中のもの



Databaseクラス

VXAceのDataManagerクラスを参考に、ゲームオブジェクトを管理するクラスを作成。もちろん、ここに入れることでグローバル変数をなくすのが狙い。

Scene_Baseクラス

VX以降に存在するベースクラスの作成。XPのプリセットや自作シーンクラスに適用させるための修正中。




ということでまあ相変わらずの無謀編なわけだが、こっちは期限も無い(一応LOST組み込み前提ではある)のでまあ何とかなるだろう。まずは時間がどんなにかかってでも一つ作り上げる。期限云々はそれができてからだろう。

ちなみに、当然このネタでの次の更新は未定である。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2012.01.30 Monday 21:29 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記93:いよいよ本格始動!

何がって自作戦闘システムですよ奥さん(挨拶)

FF10のCTBに似たシステムで自作したいと常々思っており、この度とうとう着手に踏み切ったわけである。
名称としては「Sequence Time Battle」(STB)で行く予定。基本的な構造はFF10のCTBから引用し、具体的な実装は自分好みに作るというわけだ。
当然、完成までに何日かかるか分からない。多分LOSTに組み込む予定ではあるがそこらへんは正直未定だ。
まずは行動順を表示するウィンドウからやってみようと思う。さてどうなることやら……


タグ:[Ruby] [RGSS] [Sequence Time Battle]

| 2012.01.29 Sunday 22:40 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記92:プリプリプリティ

ベーススクリプトをチクチクと書いている。
今まで各素材内で再定義やエイリアスしていたような部分をまとめ上げ、素材の下地として使える形にする作業である。
割と大手どころの素材サイトはよくやっている手法だが、果たして今の俺がこんなことに手を出していいものか?(笑)

ちなみにこの間の拡張Colorクラスもここに入れてしまう予定だ。個別で素材にするほどのものでもないしね。
さて、何日かかるやら……?


タグ:[Ruby] [RGSS] [IKBaseScript]

| 2012.01.08 Sunday 23:51 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記91:るどく

自分用かつ素材ベース用のスクリプトを書くにあたり、Rdocについて少し調べてみる。
JavaDocは少しいじったことがあるので理屈は簡単だ。
ドキュメントに記載する情報をコメント内に特定の記法で記述しておくと、コマンドプロンプトからrdocコマンドで自動生成してくれるという代物である。
JavaDocやRdocの記法というのは、単純に言えばWiki記法のようなものでそう複雑でもない。慣れてしまえば難しいことはないだろう。少なくともRubyよりは(笑)

ベーススクリプトはまとまり次第素材として公開予定。
ちなみに、バグ修正スクリプトもこの中に含めるつもりである。
ああ、また素材の数が減っていく……(笑)


タグ:[制作雑記] [Ruby] [RGSS] [IKBaseScript]

| 2012.01.07 Saturday 22:07 | comments(0) | trackbacks(0) |

[ 制作雑記 ] どぅるる

Windows API というものがある。
OSとアプリケーションの間で処理を仲介してくれる機能(という認識であっていると思う)である。
昔、「本腰入れてゲーム制作するならC++だよな」とか考えていた時に調べている中で触れたのだが、まあそれっきりだったわけで。

今回、こいつをもう一度勉強しなおそうかと考えている。
といってもC++をやるのではなく、Rubyからも動かせることを利用しRGSSの中で使うためである。
世にあるRGSS素材の中には、自作DLLを使うことでRubyだけでは到底不可能な機能を実装したものがある。俺の目論見もズバリそれだ。
正直、Ruby自体はすでに初級レベルで使いこなせる、と思う。ここからのステップアップにはRubyだけをいじっていたのでは無理がある。
一応VC++の本もあるし、これからあらためて勉強していく予定。

そんなことばっかりやってたら作品が完成しないからそっちはそっちでちゃんとやるけどね。


タグ:[制作雑記] [Ruby] [RGSS] [DLL] [Windows API]

| 2012.01.04 Wednesday 19:29 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記90:プリセットスクリプトフルグレードアップ計画3

調子に乗って今度はColorクラスの拡張に手を出した。
具体的には色名の定数の用意とHSV操作。RGBとHSVの相互変換の式がややこしくてすごく時間を食った……

ちなみに、ついでの収穫。
red、green、blue、alphaはRGGSには珍しくattr_がない。というか、インスタンス変数がない。redなどはヘルプでは「プロパティ」と記載されているが、存在するのは同名のメソッドだけだ。
ではRGBAの値はどこでどう保持しているのだろうか。今のところ謎である。
とりあえず、必要なものを組むのには問題がないので、ひとまず置いておくことにした。

なお、このColorクラスについては後日素材として公開するかも。


タグ:[Ruby] [RGSS] [スクリプト素材]

| 2011.12.24 Saturday 23:37 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記89:プリセットスクリプトフルグレードアップ計画2

続いてSoundモジュールを自作してみる。
Vocabと同様、System.rxdataを読み込み、各メソッドではそこから呼び出すことでグローバル変数の使用を回避。
したのだが……
書き上げてから気づいた。これじゃSystem.rxdataをVocabと2回読み込んでるじゃないかorz
これではモジュールを作ったりグローバル変数を回避したりした価値が半減か無駄になる。

ということで対策開始。
まずはモジュールのネスト。
module RPG
  @data = = load_data("Data/System.rxdata")
module Vocab
module Sound
end

こういう構成である。
しかし、これでは@dataのスコープが内側のモジュールに達しないため無効。

続いて、VocabとSoundをクラスに。
module RPG
  @data = = load_data("Data/System.rxdata")
class Vocab
class Sound
end

これも同様。というか、クラスにしたくないのでそもそも対象外。

最後に定数。
module RPG
  DATA = = load_data("Data/System.rxdata")
module Vocab
module Sound
end

この場合はDATAを参照できる。定数だけはスコープが違う模様。


とはいえこれは定数を使うような場所じゃないだろう……
ということでこの点はいったん封印。モジュール自体は出来上がっているので、対策はまたこれから別に考えていこうと思う。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2011.12.23 Friday 23:08 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記88:プリセットスクリプトフルグレードアップ計画1

半ばやっつけに近いが、まずはVXとVXAceのプリセットを参考にVocabモジュールを作ってみた。
定義時に一度だけSystem.rxdataを読み込み、あとは定数に値を入れるだけである。ほかに、バトル時の「戦う」「逃げる」なども入れてみた。
これがどうメリットがあるかと言えば、ずばりにっくきグローバル変数である。このモジュールを使用することにより、$data_system.wordsを使用する必要がなくなったわけである。つまり、この調子で「改善」スクリプトを作ってしまえば、いずれはグローバル変数の完全排除も夢ではない……かも?
ちなみに、今回は一番作りやすそうに違いないVocabモジュールの新規作成だから1日で終わったが、今後はどうなるか分からない……まあ、相変わらず気長にやるつもりだ。
一応、クアドラやLOSTへの組み込みを目指しているので、早めにまとめてしまいたいところではあるが。


タグ:[Ruby] [RGSS] [フルグレードアップ計画]

| 2011.12.22 Thursday 22:52 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記83:「移動ルートの設定」を強化する1

「移動ルートの設定」には「一歩前進」や「右に90度回転」などいろいろと便利なコマンドが揃っている。
が、欲を言えば言えるものでまだまだあると嬉しい機能はある。
例えば「指定イベントに近づく」「指定範囲内を移動」など。
今回は、そんなものを作ってみようと思う。
とりあえず「指定イベントに近づく」「指定イベントから遠ざかる」「指定座標に近づく」「指定座標から遠ざかる」「指定範囲内を移動」の5つを作る。あとはまた、何か思いついたら追加ということで。


さて。
ところでこの追加機能はどこに作ればいいだろうか?
スクリプトエディタ内を検索したところ、どうやらGame_Character#move_type_customの中でよばれている各メソッドがイベントの移動らしい。ということで、Game_Characterに新しいメソッドを作ればいいだろう。

「指定イベントに近づく」「指定イベントから遠ざかる」「指定座標に近づく」「指定座標から遠ざかる」の4つは、「プレイヤーに近づく」などをもとにして結構楽に作れそうだ。
「指定範囲内を移動」は少し難しいかもしれない。しかし以前の「通行止めイベント」のような考えで何とかなると思う。


まずは「指定イベントに近づく」「指定イベントから遠ざかる」を作ってみよう。これは「プレイヤーに近づく」に相当するGame_Character#move_toward_playerを改造して作る。
やることは簡単。イベントの移動基準である「プレイヤの位置」を「指定イベントの位置」に変えればいい。2行目と3行目の「$game_player.x」「$game_player.y」を「$game_map.events[id].x」「$game_map.events[id].y」にすればいいだろう。idはメソッドの引数で受け取る。これで、基準が「IDがidのイベント」になる。
うむ。簡単だ。

続いては「指定座標に近づく」「指定座標から遠ざかる」のふたつ。
これは、xy座標を直接渡せばいいだろう。メソッドの引数にx、yを設定し、「@x」「@y」との差を取って移動させる。

最後に「指定範囲内を移動」これは少し迷ったが中心座標と移動幅を引数にすることにした。
イベントの現在位置を基準にしてもいいのだが、「範囲外から範囲内へ移動」を実装できるこちらを採用。


ということで次回から本格的に開始。


タグ:[Ruby] [RGSS] [素材] [移動ルート拡張]

| 2011.11.27 Sunday 21:35 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記82:プリセットを読み解く25(Game_Battlerクラスその7)

まだまだ続くよー。
今回はアイテムの効果適用。

が。
今回のメソッドでは今までの「直接攻撃」「スキル」とかぶる部分が多い。つまり処理の切り分けが不十分ということだがまあそれはいいとして、前回前々回と同じことを行っている部分は説明を省略することにした。これで今回で全部終わりそうだ。

続きを読む >>

| 2011.11.24 Thursday 20:05 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記80:プリセットを読み解く23(Game_Battlerクラスその5)

さあやっと最後のセクションだ。疲れたorz
ここでは攻撃やアイテム使用時の処理が定義されている。関連する箇所が多いだけあってなかなか長い。しかもダメージ計算などを含むので説明を要する部分が多い。こいつは骨だ……
ということで、今回は全文掲載は無し。

続きを読む >>

| 2011.11.22 Tuesday 23:02 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記78:プリセットを読み解く21(Game_Battlerクラスその3)

それにしても長いものである。Interpreterを除けばオブジェクトのクラスの中でセクション分割されているのがこことGame_Characterくらいしかないというのが重要度を物語っているのかなんなのか。少なくとも2割くらいは記述量減らせると思う。

今回は、記述の短いメソッドについては記載を省く。
だってめんどくs

続きを読む >>

| 2011.11.20 Sunday 21:55 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記76:プリセットを読み解く19(Game_Battlerクラスその1)

どうも僕です。
久々にやってきたこのコーナー。
やっとGame_Battlerクラスがまとまったよ……3セクションとかマジ長いっての。


Game_BattlerはGame_ActorとGame_Enemyのスーパークラスとしてのみ存在するクラスである。両クラスには共通項が多いため、このクラスのサブクラスとして定義されている。

続きを読む >>

| 2011.11.18 Friday 22:51 | comments(0) | trackbacks(0) |

[ 制作雑記 ] それはどうなんだろう

クアドラに限らずオリジナル作品ではデフォルトのウィンドウはほぼ使わない予定。それはWindow_Messageもしかりである。
ということで、クアドラのメニューなどと同様に画像を配置してのオリジナルウィンドウを表示させるためにWindow_Messageの解析を開始。


したのはいいんだけど。
訳わからんorz

Window_MessageはScene_Mapでインスタンスが生成され、デフォルトではvisibleがfalseとなっているところまでは分かった。
しかしここからがなぜか難解である。非表示状態のメッセージウィンドウはどのきっかけでvisible=trueとなっているのか。

これはどうやらupdateメソッド内の「フェードアウト中以外で表示待ちのメッセージか選択肢がある場合」に行われるらしい。
では「フェードアウト中以外で表示待ちのメッセージか選択肢がある場合」はどんな時か。
スクリプトでは
if @fade_out == false and $game_temp.message_text != nil
となっている。
文字通り過ぎて分からないですorz

つまり、@fade_outがtrueの間に$game_temp.message_text(これはメッセージテキストが入る変数だと分かっている)にテキストが入った場合ということか。
この@fade_outは@fade_inと並んで「文章の」フェイドアウト・インであることが調べてみて分かった。つまり、「フェードアウト中以外」とは「文章のフェイドイン中あるいは表示中」である。


うーん……ここまでで限界orz
結局、画像を「いつ」表示・非表示にするのかの見当すらつけられなかった。
つまったままじゃネタにならないのでこの話題はいったん放置。


タグ:[制作雑記] [Ruby] [RGSS] [Window_Message]

| 2011.11.10 Thursday 21:39 | comments(0) | trackbacks(0) |

[ 制作雑記 ] 俺のターン

Symbol#to_procが使いたいよママン。


Symbol#to_procとは、たとえば
@array.map(&:to_s)
@array.map{|i| i.to_s}
と同等になるという面白機構を実現できる素敵メソッドである。
要するにブロックパラメータをいちいち書かなくていいわ文字数も減るわとメリットが多いわけだ。デメリットといえば知らないと何のことかわからない点だが、まあプログラムなんて全部そうだろう(笑)

これはRuby1.9系の新機能で、のちに1.8.7にフィードバックされたメソッドである。
RGSSに採用されているRubyは1.8.1。残念ながら存在しない。
なんとか使えないものかと長年いろいろググったりしてるんだが……
今日、ふと気づいた。
自分で書けばいいじゃんorz

ということで、Symbol#to_procを実装。
スクリプトエディタの上の方に
class Symbol
  def to_proc
    Proc.new { |obj, *args| obj.send(self, *args) }
  end
end
と記述。
上記は検索中に見つけた「to_procがどういう動作をしているか」をRubyに落とし込んだものであって実際の実相ではない。たぶん。
とはいえ、これでSymbol#to_procが使えるようになった。プリセットもこれからどんどんいじって短くしていこう。


タグ:[制作雑記] [Ruby] [RGSS] [小ネタ] [Symbol]

| 2011.10.22 Saturday 22:22 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記71:通行止めイベント

とりあえず機能説明。
通行止めイベントという名前ではあるが、やっていることは実質「あたり判定の拡大」である。イベントの名前欄に[キーワード:タイプ-マス数]と記述することで、対応する形にあたり判定が拡張され、通行できなくなるというものである。
判定の都合上、イベントの移動によってプレイヤが当たり判定に入ることを防げないが、この素材の適用先は移動しないイベントであることが前提なので、ひとまずこのままで公開することにした。

続きを読む >>

| 2011.07.17 Sunday 22:46 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記70:プリセットを読み解く18(Game_Pictureクラス)

今回解説するのは、ピクチャの表示にかかわる根幹クラス、Game_Pictureである。
これがなければどんな画像も表示されない。重要なクラスだ。


公開インスタンス変数は以下の通り。
number : ピクチャ番号
name : ファイル名
origin : 原点
x : X 座標
y : Y 座標
zoom_x : X 方向拡大率
zoom_y : Y 方向拡大率
opacity : 不透明度
blend_type : ブレンド方法
tone : 色調
angle : 回転角度
これらすべてがattr_readerにて定義されている。

続きを読む >>

| 2011.07.13 Wednesday 22:22 | comments(0) | trackbacks(0) |

[ 制作雑記 ] アレコレテヲダシテワケワカランバトル

ちょっと思いつき。
素材の中とプリセットのScene_Battleの中で、各メソッドの頭にクラスメイトメソッド名をログ変数に加算していき、最後に保存。
これで、とりあえずどういう風にメソッドが呼ばれるかだけはわかる。
分かるが……だからなんだっていうレベルになりそうではあるな(笑)
幸い、プリセットのメソッドのひとつひとつは何をしているか見ればわかるので、なんとか処理を追えなくもない気はする……
どんだけ時間がかかるか分からないけど。


タグ:[Ruby] [RGSS] [素材] [ATB]

| 2011.07.06 Wednesday 22:19 | comments(0) | trackbacks(0) |

[ 制作雑記 ] アタマガトテモオイツカナイバトル

ATBを作るために、とりあえず良さげな素材をピックアップ。
ParaSite2D6 RPG館さんの『アクティブタイムバトル
歯車の城さんの『リアルタイムアクティブバトル』Code Crushさんの『ActiveTimeBattle』KGC Softwareさんの『Active Count Battle』
ひとまずすべて保存し、読み込んでいるのだが……なんだろう。全然わからない。
一番肝心な『コマンド入力後即行動』を行っている部分が全く拾えないのだ。

まだまだ先は長そうである。


タグ:[Ruby] [RGSS] [素材] [ATB]

| 2011.07.04 Monday 22:22 | comments(0) | trackbacks(0) |

[ 制作雑記 ] 時代はグローバル1

オブジェクト指向プログラミングとグローバル変数は相容れないとまではいかずともあまり共存が相応しいものではないと誰かが言ったとか言わないとか。

RGSSにもグローバル変数はそれなりに存在するわけで。
今回はそれをつらつらと。
Rubyには、設定しなくても初めから存在するグローバル変数というのがある。これらはシステムの根幹に係わったり特定の処理後の一時変数であったりする。もちろんRGSSでもそのまま使える。
説明はRubyの起動 - Rubyリファレンスマニュアル組み込み変数 - Rubyリファレンスマニュアルより。

続きを読む >>

| 2011.07.02 Saturday 22:34 | comments(0) | trackbacks(0) |

[ 制作雑記 ] 直感は大事にしろってばっちゃがゆってた。

素材がらみのネタがいくつか思いついたので頑張ってみる。

ちなみに内訳は
・固定オブジェクト用コモン
・通行止めイベント
・「移動ルートの設定」強化
・キーボード、マウス取得
の4本。
固定オブジェクト用コモンはタルやタンスに一つ一つイベントを置かなくてもよくなる一品。マップチップからオブジェクトを判別し、対応するコモンイベントを呼ぶ。
通行止めイベントは、固定オブジェクト用コモンと同様に、通行止め地点にイベントを敷き詰めなくて済むようになるもの。一直線や矩形に通行不可エリアを形成する。
「移動ルートの設定」強化は、イベントや座標を起点にできるようにするほか、固定範囲内移動も実装。
キーボード、マウス取得はWin32APIというものに手を出さねばならずハードルが高いが、面白そうというだけの理由で。

例によっていつできるか分からん訳だがせっかく浮かんだのでやるだけやろうと思う。


タグ:[Ruby] [RGSS] [素材]

| 2011.06.17 Friday 22:56 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記68:プリセットを読み解く16(Game_Screenクラスその1)

Game_Screenクラスは、画面全体の色調変更や天候操作などを扱うクラスである。

公開インスタンス変数は以下の通り。
tone:色調
flash_color:フラッシュ色
shake:シェイク位置
pictures:ピクチャ
weather_type:天候 タイプ
weather_max:天候 画像の最大数
それぞれの詳細はメソッド説明にて。

続きを読む >>

| 2011.06.06 Monday 22:58 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記66:テロップを流すその1

テロップというのはつまりスタッフロール的なあれであり「文字列がスクロールしていく」あれである。
ようやく形ができたのでついに公開。


まずは定数を定義する。
必要なのは「テロップ表示開始のスイッチ番号」「テロップ速度」「フェイドイン・アウトの幅」「テロップ中も動けるかどうかのフラグ」といったところだろう。
module IK_Telop_Message
  TELOP_SWITCH_ID = 10
  TELOP_SPEED = 4
  OPACIFY_LINES = 5
  FREEZE = true
end

続きを読む >>

| 2011.06.04 Saturday 22:05 | comments(0) | trackbacks(0) |

[ 制作雑記 ] Ruby病

諸君、私はGame_Tempクラスが嫌いだ。


というかグローバル変数を使うのがなんか厭。
天敵とまでは言わんがOOPらしさの妨げではあると思う。カプセル化も何もあったもんじゃない。
モジュール定数でも使おうかとも思ったが、一時フラグとしての用途が多い以上定数は使えない。
XPからVXでGame_Tempクラスの変数の数が3分の1程度に減っているのを見ると、うまくやれば完全排除もできなくはないと思うんだが……今のところ道は厳しそうだ。

とりあえず、スクリプトから使用箇所を抽出してまとめてみた。
あとは潰せそうなところから少しずつ改造していくか……



$scene?知らん。


タグ:[制作雑記] [Ruby] [RGSS]

| 2011.05.27 Friday 22:29 | comments(0) | trackbacks(0) |

[ 制作雑記 ] 時は金なり

素材の更新のネタが溜まってしょうがない。
まあなぜ溜まるかというとネタに技術が追いついてないからなのだがorz
現在公開中の各素材にそれぞれみっつ以上はネタがあるという状態……早く片付けたい。
特にアイテム分類は全面的に修正を入れたいし、制御文字は今の3倍は増量したい。あと、テロップがまだできない。
ああ全く困ったものだ我ながら。


この間の宝探しゲーはちょっと本気出し始めている。
マップもイベントもハマりはじめると楽しくて仕方ない。
特にコモンイベントが便利すぎて生きてるのがつらい。
とりあえず主人公の村とそのイベントをどんどんノリに任せて作ってみる。ある程度進んでしまえばきっと波に乗れるだろう。きっと。
特に謎とかないしDoS世界とも関係ないし、ガンガンネタバレしながら作っていこうかな。そうすれば記事のネタが(ry


タグ:[Ruby] [RGSS] [素材] RGSS奮闘記52:プリセットを読み解く5(Game_Tempクラス1) itsuki9046 RGSS奮闘記 2011/04/29 22:59:00 Game_Tempはゲーム全体で扱う一時的変数の集まりである。

さて、いざエディタを開いてみると、このクラスには「attr_accesor :〜〜」というアクセサ定義の羅列とそれを初期化しているinitializeメソッドしか存在しないことが分かる。
ということでここでは、それぞれの変数が何に使われているかを(今分かる範囲で)確認していく。


さて、このGame_Tempクラスは一時変数の集まりなのでこれといって解説は無いのだが……一部、今の知識では理解が追いつかない部分だけ端折ってしまおうと思う。
具体的に言うとProc関連。Procはそれ自体はともかくRGSSでの使われ方がまだ理解しきれていないので、後々それを使用する頃までに何とかしたいところだ。

とりあえず、スクリプト内の順番通りにひとつひとつ見ていこう。
ここでは変数が何に使用されているかのみで実際の使われ方や値については省略する。

続きを読む >>

| 2011.04.28 Thursday 20:26 | comments(0) | trackbacks(0) |

[ 制作雑記 ] 駄目人間

制御文字スクリプトの体裁を整えようとしたら今更アラに気付かされるorz
$game_temp要らないじゃん。何のためのインスタンス変数だよorz
ということでちょこちょこ修正。
アイテム名変換は直接置換したりとか内部的な部分でブラッシュアップを図ってみた。
次はセンタリングとかかなあ……

まだ1.0にしないのはただの意地。

タグ:[Ruby] [RGSS] [素材] [Window_Message] [制御文字]

| 2011.04.27 Wednesday 20:12 | comments(0) | trackbacks(0) |

[ 制作雑記 ] 死亡

一応は出来上がったはずのテロップスクリプトだがバージョンを戻そうとしてまさかの撃沈。
何が起きたかというと

なんとか形になる

テロップが流れている間も動けるのでループを作って強制的にウェイトにする

強制ウェイトは選べたほうがいいと思い強制前のスクリプトに戻そうとする

どうだったか思い出せず死亡

というわけで。

どうしたものか(笑)
今月いっぱい小ネタでお茶を濁す予定だったのに濁すお茶を少しこぼしてしまったというわけでにっちもさっちも。

うーん……
とりあえず制御文字のネタが浮かべば作って書く。

タグ:[Ruby] [RGSS] [素材] [テロップ]

| 2011.04.23 Saturday 20:27 | comments(0) | trackbacks(0) |

[ 制作雑記 ] アクティブでタイムなあんちくしょう

アクティブタイムバトルを作ろうとして挫折を繰り返すこの数日。
いや、厳密にはいつもいつも手を付けてはくじける日々なのだが。
以前ある人にちらっと尋ねたら「プリセットを理解しろ。いじってみて失敗しろ」とまあなんとも正論をいただいたので延々とトライ&エラーである。
いろいろな素材を拾ってきて処理を研究してるのだが今のところ全く分からんorz
一人のコマンド入力が終わったら直で行動に移行するにはどうすればいいのか……動的(というのか?)なプログラムの組み方が全く分からんorz
メソッドや変数を監視したりしてプリセットの流れはだんだんつかめてきてるんだけどなあ……
さすがにこの状態じゃ間に合わないから『LOST』には使わない予定だが、どうしても完成させたい。
どうするかねぇ……


タグ:[Ruby] [RGSS] [素材] [ATB]

| 2011.04.16 Saturday 20:28 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記47:プリセットを読み解く1(Mainその1)

なんと序文から約2か月を空けての更新である。
器用貧乏の「器用」の部分だけで満足できる神代ですこんばんは。

ということでRGSSを読み解くの巻。
まずは一番行数の少ないMainから。
べっ、別に短いから最初に見るわけじゃないんだからねっ!
Mainの内容は以下の通り(コメントは省いて掲載)。

続きを読む >>

| 2011.04.05 Tuesday 21:24 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記45:制御文字を追加する1

以前text_color拡張で触れた制御文字の改造をもっと踏み込んで行ってみようと思ったので実行。
これなら後から思いついたものを追加するだけで素材更新どんどんバージョンアップできて面白そうだ。

とりあえずいま思いつくものだけやってみる。

ということで簡単そうな
・太字
・斜体
・アイテム、武器、防具、アクセサリの名前に置換
を作ろう。

続きを読む >>

| 2011.03.29 Tuesday 23:52 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記43:タイトル画面を改造する1

今回はタイトル画面を劇的ビフォーアフターしてみる。

完成形はこんな感じ。
だいたいこんな感じ
要するに、コマンドウィンドウを排して画像でのメニューにするということだ。
用意するものは、こんな感じで非アクティブとアクティブの2つ一組で3組6枚の画像。
非アクティブ
アクティブ

めんどい場合はこの画像をそのまま持って行ってもよし(笑)

続きを読む >>

| 2011.03.26 Saturday 20:16 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記42:うp

アイテム分類スクリプトをバージョンうpしてみた。
カテゴリウィンドウアクティブ時のヘルプテキストとメニュー画面に戻る際のコマンドウィンドウのインデックスを設定項目に設置し、カスタマイズポイントに変更。
あとは内部処理を一部簡略化。
それから、HTMLファイルのスペルミスがあったので修正(笑)


うん。こういうのをやってこそ素材制作者だよな。
いや本当はゲーム製作者のはずだけど(笑)
さて、ほかのスクリプトのverうpや新規素材のこと考えなきゃ……


タグ:[Ruby] [RGSS] [素材] [Scene_Item]

| 2011.03.25 Friday 23:23 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記40:頑張ってみた

規約についていろいろと考えてみた。

とりあえずあちこちの利用規約を見て何が必要か調べてみた。

・クレジット
・著作権
・加工、再配布
・サポート
・免責
・連絡先

これで足りるだろうか。まあとりあえず書いてみよう。
ページには3月現在とか普通に書いてるがまあいいか(笑)
それにしても検索で来る人はいるのに利用報告がないのは悲しいな(笑)


タグ:[Ruby] [RGSS] [素材]

| 2011.03.22 Tuesday 23:56 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記39:利用規約とかなんとか

知ってる人は知ってるが知らない人は知らないね。当たり前だけど。
当サイトのRGSS素材には現在規約らしい規約が設定されていない。
こういう系にはめっきり疎いんでどうしたらいいか分からんのだが、とりあえずあちこちの規約を見て真似ようかな。別にそこまですごい素材があるわけでもないしそれなりのものがちゃんとあれば充分だろう。

ということで素材サイト巡ってきます(´・ω・)ノシ


タグ:[Ruby] [RGSS] [素材]

| 2011.03.01 Tuesday 23:44 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記37:名前ウィンドウの表示2

〜前回のあらすじ〜
口は災いの元

Window_Messageクラスの実装に入るが、とりあえず必要なものまとめ。
まず、$game_temp.speakerがnilでも空白でもない場合に名前ウィンドウを表示する機能。これは当然。
それから、ウィンドウを破棄するterminate_messageメソッドに、名前ウィンドウがあったら破棄する定義の追加。
あとは、話者の名前を取得するメソッドと名前の文字数を取得するメソッド。
こんなところだろうか。

続きを読む >>

| 2011.02.24 Thursday 22:21 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記36:名前ウィンドウの表示1

最近奮闘記しか書いてない気がする神代ですこんばんは。
まあ基本は自分のゲーム用だしまあいいんだけど。

今回はメッセージウィンドウに話者の名前を表示する機能を追加する改造。
一応あまり長くならない予定(笑)

さて、機能追加と一言に言っても方法はいろいろある。
今回はその中から、一時変数に名前を代入すると自動的に名前ウィンドウが表示されるタイプを作ってみる。
これなら設定項目とウィンドウ表示だけで基本形はできるので簡単だ。
そしていつかはフルカスタマイズモードも作るぞ(笑)

続きを読む >>

| 2011.02.23 Wednesday 22:20 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記35:プリセットを読み解く0

LOSTの制作を進めるためにもRGSSの学習は必須である。
ということでまずプリセットを読み解いてみようじゃないかという発想に至ったのだがいかがだろうか(訊くな)


なお、前に同じような話をしたのは約2年前。
まあ……その後についてはノーコメント。

ともあれ、どこから見ようかという問題はある。
ポイントは
1:Rubyのスクリプトは必ず頭から順番に解釈される(定義を後から記述できない)
2:Main以外はただの定義
3:パッと見で、エディタで先に出てくる部分ほどわかりやすいように思える(笑)
ということで、まずMainについて見たあと上から順に読んでいくことにする。


ちなみに、目的としては
1:プリセットのスクリプトを理解することで改造や自作にあたってのベース知識を持つ
2:Ruby自体についての理解を深める
といったところ。


次回はまずMainについて。
実は、本体は11行しかないのに理解するのは案外大変だったりする(笑)


タグ:[ツクールXP] [Ruby] [RGSS] [プリセットを読み解く]

| 2011.02.19 Saturday 23:32 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記34:文字列ピクチャ4

〜前回のあらすじ〜
Interpreterがあらわれた!コmこれ前もやったわ。


ついに佳境。Sprite_Pictureクラスである。
ここではどのような改造を施せばいいのか。
まず、@pictureに処理すべきピクチャの情報が入っているので、これが@text_setであるかどうかを判別する必要がある。@text_setであった場合のみ独自の処理を行うからだ。
また、@text_setは@picture.nameに入ってはいるが配列なので、うっかりこのまま元のメソッドに通してしまうとグラフィック取得の部分でエラーになる。しかし、updateメソッド内でインスタンス変数@picture_nameと@picture.nameの比較を行っているので、新メソッドで代入してしまえばここを通過しない。よって@picture_nameへの代入も行うことにする。
では順番に組んでいこう。

続きを読む >>

| 2011.02.16 Wednesday 14:18 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記32:文字列ピクチャ2

〜前回のあらすじ〜
文字列を?表示するので?そいつはコトだ!

ということで文字列を「ピクチャの表示」に渡せるようにするメソッドを作ろう。
前回を書いてから気付いたのだが、Interpreterクラスに作ることで、インスタンス変数を使うだけで値を渡せるんだな。ということでInterpreter#text_to_pictureを作成することに決定。

続きを読む >>

| 2011.02.14 Monday 21:09 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記31:文字列ピクチャ1

またまたやってきました無謀企画。
今回は「文章をピクチャとして表示する」に挑戦。
これが出来上がることで何ができるかというと、テロップを流すような形で文章を表示できたり、メッセージウィンドウの制限を受けずに文章を表示できたり、表示された文章を拡大縮小回転できたり。
ということで人によっては夢のようなスクリプト、いざ行かん。

続きを読む >>

| 2011.02.13 Sunday 21:05 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記26:アイテムを分類する8

〜前回のあらすじ〜
そろそろ長い。


いよいよシーンクラスの作成である。
初めに全体の挙動の説明と改造点を説明しよう。
デフォルトのシーンクラスでは、ヘルプウィンドウ、アイテムウィンドウ、ターゲットウィンドウの3つを生成し、ヘルプウィンドウとアイテムウィンドウを関連付けている。今回の改造では、カテゴリウィンドウを生成するのと、アイテムウィンドウを属性IDの数だけ生成することになる。IDはウィンドウ生成時の引数として渡す。
そして、Sene_Menu⇔アイテムウィンドウ⇔ターゲットウィンドウという移動になっているものをScene_Menu⇔カテゴリウィンドウ⇔アイテムウィンドウ⇔ターゲットウィンドウという移動に変える。
どちらもあまり複雑ではないが大幅な変更だ。

続きを読む >>

| 2011.02.02 Wednesday 22:03 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記23:アイテムを分類する5

〜前回のあらすじ〜
<<<<<<<<


今回は防具とアクセサリを属性判定して格納する部分。
とりあえず、大筋は前回のアイテムや武器と同じであるが、注意点はツクールXPの仕様にある。
XPでは装備品に武器と防具のジャンル分けしかない。兜も盾もアクセサリも全て「防具」である。さらに、人によっては防具の中で分類ごとにまとめて作ったりはしていないかもしれない。ということで、まずは種別ごとにまとめてから結合するという手法を取ることにする。

続きを読む >>

| 2011.01.28 Friday 23:56 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記20:アイテムを分類する2

〜前回のあらすじ〜
Categories = ["妹", "眼鏡", "スク水", "巨乳", "メイド", "ツンデレ"]


前回設定した属性とモジュールを使い、実際にクラスを作っていく。
まずは、アイテムのカテゴリを選択するWindow_Categoryクラスである。
これは選択ウィンドウなので、Window_Commandクラスを参考に作っていこう。

続きを読む >>

| 2011.01.25 Tuesday 23:51 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記19:アイテムを分類する1

またしても長くなりそうな改造兼素材制作シリーズの開始である。
今回は、所持アイテムをカテゴリごとに表示するシステムを作る。
かなり大がかりになるうえにシーンクラスを再定義しているので競合回避は厳しいかもしれない。しかし自分用だからやってしまうのである。

今回はまず下準備。
分類用のカテゴリ設定から。

続きを読む >>

| 2011.01.24 Monday 20:48 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記18:文字色をカスタマイズするその8

〜前回のあらすじ〜
次回へ続く

今回は今までのまとめと仕上げ。
改造としては既に完了しているが、このままではコピペによる導入ができない。せっかく作ったのだから素材として利用できるようにもしたい。
ということで、最後のひと仕事といこう。

続きを読む >>

| 2011.01.18 Tuesday 19:05 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記15:文字色をカスタマイズするその5

〜前回のあらすじ〜
へ、へ、heーっx!

今回からWindow_Messageクラスの改造に入る。
制御文字を処理しているのはrefreshメソッドである。
長いし分かりにくくなるので引用はしないが、80行目から91行目が制御文字を処理する部分、93行目から147行目が制御文字に対応した動作を行う部分である。
このうち、文字色の変更に関係しているのは90行目と100行目から109行目である。

なお、ここからはこれまでより幾分ハードルが高いので注意。

続きを読む >>

| 2011.01.15 Saturday 22:52 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記11:文字色をカスタマイズするその1

〜前回のあらすじ〜
前置き終了。


まずはWindow_Baseクラスのtext_colorメソッドの改造。
ここでの目的は、「¥[c]」という表記だけでなく「¥[name]」という色名表記や「¥[FFFFFF]」というカラーコード表記を受け付けるようにすることだ。


デフォルトのtext_colorメソッドは以下のようになっている。

続きを読む >>

| 2011.01.11 Tuesday 20:50 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記10:文字色をカスタマイズするその0

Window_Baseのtext_colorを拡張してみる。
というのもプリセットの仕様に少々不満があるからだ。『¥C[n]』という数字指定による表示のみでは直感的に使うのは難しいし、覚えるのも面倒だ。

ということで、色名による指定およびRGB6桁による指定で文字色を変更できるようにスクリプトをいじってみる。

改造の方向性としては簡単だ。
Window_Baseのtext_color(n)メソッドの中にcase分岐があるのでその中に必要なものを追加する。そしてtext_color(n)メソッドはWindow_Messageのrefresh内で呼んでいるので、この中の『¥C[n]』を使った時の処理をいじる。以上の2点である。

なお、どちらの改造にも正規表現の知識が必要になるが、それはその都度解説していく。マニュアルを開いたままのほうが以降の説明も分かりやすいかもしれない。

次回、まずはtext_colorメソッドから改造していく。


タグ:[Ruby] [RGSS] [素材] [Window_Base]

| 2011.01.10 Monday 19:33 | comments(0) | trackbacks(0) |

[ RGSS奮闘記 ] RGSS奮闘記1:用語集

見苦しく復活いたしました奮闘記。
今までのアレはナニということで新たに1からいろいろやっていこうかと。

続きを読む >>

| 2010.11.24 Wednesday 20:12 | comments(0) | trackbacks(0) |

このページの先頭へ▲

Twitter

WebClap

Blogram

ブログランキングならblogram

calendar

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< July 2018 >>

categories

archives

Amazon

selected entries

recent comment

recent trackback

recent ranking

links

search this site.

sponsored links

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM