createTextで作成した領域内のフォントを変更する方法(質問掲示板)
投稿: nanab
投稿:2010/03/13 13:00:13(最新:2010/03/13 20:11:13)
はじめまして。
最近Rmakeにてノベルゲーム制作を始めた者です。
過去の質問や、ヘルプも一通り目を通したのですが
どうしてもわからないことがあります。
もしよければご教授願えればと思います。
タイトルの通りなのですが
createTextで作成した領域内のフォントを変更する命令は
何になるのでしょうか?
【自分でやってみた失敗例】
createText(20, 220, 780, 40)
と、画面テキスト表示領域を作成した後に
setTextFontColor(0, 0, 0)
setTextFontSize(14)
setText(1, "あああああ")
と、スクリプトを組めば
ゲーム画面の左上の方に
黒い文字でフォントサイズが14の「あああああ」という
文章が表示されるのかと思ったのですが、表示されません。
デフォルトの白くフォントサイズ28で表示されます。
speakで書く文章の方には、きちんと反映されています。
なので、
setTextFontColor(0, 0, 0)
setTextFontSize(14)
この2つは、speakにしか適応されない命令なのは
想像がついたのですが
では、createText内のフォントを変更する命令は
何になるのでしょうか?
【他のゲームで見かけた実用例】
例を挙げますとikosamiさん制作の
「みんなの街作り」においては
http://rmake.jp/games/3914/play
人口や西暦などが、黒い文字に変更されています。
なので、必ずフォントを変更する方法が存在するはずなのですが…。
ツイート
最近Rmakeにてノベルゲーム制作を始めた者です。
過去の質問や、ヘルプも一通り目を通したのですが
どうしてもわからないことがあります。
もしよければご教授願えればと思います。
タイトルの通りなのですが
createTextで作成した領域内のフォントを変更する命令は
何になるのでしょうか?
【自分でやってみた失敗例】
createText(20, 220, 780, 40)
と、画面テキスト表示領域を作成した後に
setTextFontColor(0, 0, 0)
setTextFontSize(14)
setText(1, "あああああ")
と、スクリプトを組めば
ゲーム画面の左上の方に
黒い文字でフォントサイズが14の「あああああ」という
文章が表示されるのかと思ったのですが、表示されません。
デフォルトの白くフォントサイズ28で表示されます。
speakで書く文章の方には、きちんと反映されています。
なので、
setTextFontColor(0, 0, 0)
setTextFontSize(14)
この2つは、speakにしか適応されない命令なのは
想像がついたのですが
では、createText内のフォントを変更する命令は
何になるのでしょうか?
【他のゲームで見かけた実用例】
例を挙げますとikosamiさん制作の
「みんなの街作り」においては
http://rmake.jp/games/3914/play
人口や西暦などが、黒い文字に変更されています。
なので、必ずフォントを変更する方法が存在するはずなのですが…。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
【他のゲームで見かけた実用例】 のご本人登場です。
setTextFontColor(0, 0, 0)
deleteTextAll()
setVariable("a", createText(650, 0, 220, 220))
setVariable("b", createText(650, 25, 220, 220))
setText(getVariable("a"), "あああああ")
setText(getVariable("b"), "いいいいい")
これで十分ですよ。
上にあるdeleteTextAll()は変数とかを画面テキストに表示すると
2回目からの文字がもともと表示されていたものに重なってしまうので
つけているものです。
上のやつをそのままコピーして中身を書き換えれば
普通に使えます。
setTextFontColor(0, 0, 0)
deleteTextAll()
setVariable("a", createText(650, 0, 220, 220))
setVariable("b", createText(650, 25, 220, 220))
setText(getVariable("a"), "あああああ")
setText(getVariable("b"), "いいいいい")
これで十分ですよ。
上にあるdeleteTextAll()は変数とかを画面テキストに表示すると
2回目からの文字がもともと表示されていたものに重なってしまうので
つけているものです。
上のやつをそのままコピーして中身を書き換えれば
普通に使えます。
テキスト表示は「テキスト表示をおこなうもの」の理解が最大の敵ですよね…
単に手順としては
(1)テキストの表示領域を設定する
(2)設定した表示領域番号を指定して、そこにやっと文字を書ける
(3)必要があれば、表示領域番号を指定してそれだけを消す事ができる
なのですがテキスト表示領域番号は自動で割り振られる?ので何か変数を用意して入れておく事で解決できるかと。
つまり
textID=createText(x,y,xx,yy)
setText(textID,"ああああ")
という感じで必ずセットで使えば、変数textIDの中身がいくつだろうが知ったこっちゃありません。
変数textIDはもちろん名前が異なっても大丈夫です
仮にマップシーンを変えてから指定して消す必要がある場合は、textIDを基本変数にしておく必要がある、くらいです
単に手順としては
(1)テキストの表示領域を設定する
(2)設定した表示領域番号を指定して、そこにやっと文字を書ける
(3)必要があれば、表示領域番号を指定してそれだけを消す事ができる
なのですがテキスト表示領域番号は自動で割り振られる?ので何か変数を用意して入れておく事で解決できるかと。
つまり
textID=createText(x,y,xx,yy)
setText(textID,"ああああ")
という感じで必ずセットで使えば、変数textIDの中身がいくつだろうが知ったこっちゃありません。
変数textIDはもちろん名前が異なっても大丈夫です
仮にマップシーンを変えてから指定して消す必要がある場合は、textIDを基本変数にしておく必要がある、くらいです
テストしたところ無事にフォント変更することが出来ました。
皆さん、丁寧な説明、本当に有難う御座いました!
ikosamiさんの書かれたスクリプトなら
同時に複数の領域にテキストを表示することが出来るわけですね。
ゲーム性の高いノベルゲームを作る場合には
必須のスクリプトになりそうです。