フォントの文字色の変更の仕方を教えて下さい(質問掲示板

投稿:        mini @loveail 投稿:2011/04/04 14:08:04(最新:2011/04/04 18:06:04)
初めまして。基本的な質問で恐縮ですが、宜しくお願いします。

現在ノベルゲームを作成しておりまして、メッセージの中の文字の文章の変え方が良く分らずに困っています
質問は2つあるので宜しくお願いします


#1つ目:特定のspeakのみ色を変える方法を教えて下さい

speak("ゲーム内での標準的な文字の色は白色ですよね。\n基本的な台詞等は、この色で表示していきたいのです。")

setTextFontColor(0, 183, 239)
speak("例えば、特別な会話とか、心の中の考えなどは色を変えたいと思っています\nこの会話文(?)は水色にしてみました")

speak("しかし、上記の会話が終わって、次のメッセージを表示すると、文字の色は、水色に変化したままです")

setTextFontColor(250,250,250)
speak("そこで、文字の色を元に戻す為に、色を変更した時と同様に 上の関数を使ったわけです")
#しかしながら、この方法では、能率が悪いように感じます。特定の会話文のみ色を変える方法があれば、是非教えて下さい


#2つ目:メッセージの中の、特定の単語のみ色を変える方法を教えて下さい


speak("例えば、次の文章の中で\n「リンゴ」を見つけた\n等と記載した場合「リンゴ」の部分のみ文字色を変更する方法はあるのでしょうか?")


#もし、文章が分りずらかったら、申し訳ありません。なにとぞ宜しくお願いします





コメントする

コメントするには、ログインする必要があります。

コメント一覧

       mini @loveail(投稿日:2011/04/04 18:06, 履歴)
tdakeikakuさんへ

素早いお返事ありがとうございます^^
自作関数という方法があるんですか!!
大変勉強になりました^^ありがとうございます^^
2つ目の質問については、過去に既に質問と回答がなされていたのですね。
一応探してみたつもりだったのですが、うかつにも見落としていたようです。申し訳ありません。
しかし それでも優しく教えて下さってありがとうございます。
今後とも何かありましたらば、宜しくお願いします。
   mini ___(投稿日:2011/04/04 16:30, 履歴)
既に結論は出てますねー。

setTextFontColor()は、フォントの色を変える関数ですので、
その後の文章全ての色が変わります。
そのため、元の色に戻すときは、再度指定し直さなければなりません。

どうしても気になるようでしたら、自作関数という手もありますが…。
## (フォントの色赤 , 緑 , 青 , 表示するメッセージ)
def F_ColorSpeak(r , g , b , mes)
  old_r = getSelectFontColorR()   # 元フォントの色成分取得
  old_g = getSelectFontColorG()   # 同上
  old_b = getSelectFontColorB()   # 同上
  setTextFontColor(r , g , b)   # フォント色変更
  speak(a)   # aに指定した文章を表示
  setTextFontColor(old_r , old_g , old_b)   # フォント色を戻す
end

F_ColorSpeak(0 , 183 , 239 , "心の中の声です。")  # 関数使用例

色を指定して、speak()を使用することが出来ます。
が、speak()の便利な機能を使うことが出来ません。
speak("現在の文字色は , (" , getSelectFontColorR() , " , " , 
  getSelectFontColorG() , " , " , getSelectFontColorB() , 
  ")です。")     # 長ぇ
# 表示される文章
   現在の文字色は , (0 , 0 , 0)です。

こういう、引数を繋げに繋げる文章は表現できないんですよねー。

あと、2つ目については、運営様の方からこういう回答が出ていました。
2/11の時点では、間違いなく出来ないことになっています。
  文章の途中の色変え

そんな感じです。長々と失礼しました。
       mini @loveail(投稿日:2011/04/04 15:22, 履歴)
そうでしたか^^
素早い回答ありがとうございます^^
Nyan mini rurun9(投稿日:2011/04/04 15:07, 履歴)
残念ながら現状では、どちらもできないんですよねぇ