独学ツクールブログ

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

<< RGSS奮闘記33:文字列ピクチャ3 | main | 『LOST』その17:進捗 >>

[ - ] スポンサーサイト

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

| 2018.05.23 Wednesday | - | - |

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

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


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



alias text_picture_update update
def update
まずはエイリアスする。
if @picture_name != @picture.name && @picture.name.instance_of?(Array)
  @picture_name = @picture.name
text_to_pictureメソッドを使用後は@picture.nameに[文章, フォント]という配列が入っているので、@picture.nameが配列(@text_set)であるかどうかの判別を行う。
self.bitmap = Bitmap.new(640, 480)
画面いっぱいのビットマップを用意する。
text, font = @picture_name
ローカル変数に@picture_nameの中身をそれぞれ代入。
self.bitmap.font = font
rect = self.bitmap.text_size(text)
self.bitmap.draw_text(rect, text, 1)
フォントと矩形を定義。Bitmap#text_sizeは「draw_textメソッドで文字列を描画する際に必要になる矩形」を返すというお手軽メソッドである。
rectとtextを使用してdraw_textメソッドを実行。これで画面上に文字列が「ピクチャ」として表示される
text_picture_update
最後に、ifを抜けてから元メソッドを呼び戻して終了だ。

これで、text_to_pictureメソッドに渡した文字列とフォントが適用されたピクチャが画面に表示される。ピクチャ扱いなので当然関連メソッドやイベントコマンドが使用可能だ。


以上、終了ということで素材ページを用意した。
相変わらずのver0.8にて。


うーむ……次はどうしよう。
とりあえず長くならないものがいいな(笑)
もしこれを読んでいる人の中で誰かリクエストがあれば遠慮なくどうぞ。作れるかどうかは別として頑張るので。


タグ:[Ruby] [RGSS] [素材] [文字列ピクチャ] [Interpreter] [Sprite_Picture]

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

[ - ] スポンサーサイト

| 2018.05.23 Wednesday 14:18 | - | - |

コメント

コメントする






この記事のトラックバックURL

トラックバック

このページの先頭へ▲

Twitter

WebClap

Blogram

ブログランキングならblogram

calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>

categories

archives

Amazon

selected entries

recent comment

recent trackback

recent ranking

links

search this site.

sponsored links

others

mobile

qrcode

powered

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