ネーム付きメッセージウィンドウ関数 ver.4(半透明実現)

投稿者:      mini きゅうり 投稿日:2012/02/29 23:22

メッセージウィンドウに名前を付けたいとのことで、
このような関数を作ってみました。

更新履歴

ver.?詳細
ver.1公開。
ver.2キーボード操作の人のためにZキーでも次にいくようにした。(自分がキーボード操作なのに...!
更新履歴追加。
ver.3RPGに対応!画像・スクリプトに違いがあります。RPGかノベルかで使い分けてね。
ver.4半透明化に成功!

テストゲーム
  • ↓の画像をクリップ・リソースエディタで追加。
↓ノベル用

↓RPG用

↓はノベルでもRPGでも追加してください。

  • ↓のスクリプトを開始スクリプトにコピぺ
#↓ノベルならこれをコピペ
setVariable("ゲームの種類", "ノベル")
#↓RPGならこれをコピペ
setVariable("ゲームの種類", "RPG")
#↓はノベルでもRPGでもコピぺしてください。
def name_speak(name,speak)
  if getVariable("ゲームの種類") == "RPG"
    image1 = showImagePosition(22, 270, 118711)
    txt1 = createText(32, 280, 470, 60)
    setText(txt1, speak)
    image2 = showImagePosition(22, 230, 118697)
    txt2 = createText(32, 240, 200, 40)
    setText(txt2, name)
  elsif getVariable("ゲームの種類") == "ノベル"
    image1 = showImagePosition(30, 450, 118704)
    txt1 = createText(40, 460, 720, 100)
    setText(txt1, speak)
    image2 = showImagePosition(30, 412, 118697)
    txt2 = createText(40, 419, 200, 40)
    setText(txt2, name)
  end
  startInput()
  loop = true
  while loop
    while hasInput() 
      takeInput()
      if isMouseDown() || isKeyDown("Z")
         loop = false
      end
    end
    waitTime(30)
  end
  endInput()
  hideImagePosition(image1)
  hideImagePosition(image2)
  deleteText(txt1)
  deleteText(txt2)
end 


準備完了。
  • 使うときに↓のように入力する。
name_speak("satsuki","こんにちは!")


name_speak(名前,メッセージ)です。

テストゲームにもありますが、名前やメッセージに変数が使えたり、
普通のメッセージと同じように改行(\n)なども可能です。

注意
  • 3行以上は1度に書けない。
  • 最初にあるsetVariable("ゲームの種類", "RPG")かsetVariable("ゲームの種類", "ノベル")
   というのを忘れると、ウィンドウ・文章が表示されない。

現在、自由にウィンドウを指定できるように改良中です。

コメントする

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

コメント一覧

User icon mini 退会したユーザー(投稿日:2012/04/04 11:50, 履歴)
どうでもいいかもしれませんが、
黒い部分を半透明にしたほうがいいかと思います。
例えば↓コレ。

イカメーの立ち絵がメッセージボックスに隠れてあんまり見えない(^^ ;)
      mini きゅうり(投稿日:2012/04/04 13:01, 履歴)
なるほど。
半透明化にしました。
User icon mini 退会したユーザー(投稿日:2012/04/04 20:30, 履歴)
対応早っ(w
ありがとうございます。
User icon mini syunto(投稿日:2016/11/27 19:04, 履歴)
2時間後wwwww
User icon mini syunto(投稿日:2016/11/27 19:01, 履歴)
普通のウィンドウのように文字が順に出てこず、すべていっきに出てしまうのがたまにキズ
User icon mini syunto(投稿日:2016/11/27 19:03, 履歴)
スペースでスキップできないのもですね…
すみません素晴らしいものなのに難癖つけてしまって。
でも改良してもらえると助かります。
User icon mini 退会したユーザー(投稿日:2012/04/06 22:34, 履歴)
speak関数使った改造してみた。
#名前+メッセージ
#RPGを想定してます。ノベルには対応してないから注意
def name_speak(name,str)
  image = showImagePosition(32, 210, 118697)
  txt = createText(42, 217, 200, 40)
  setText(txt, name); speak(str)
  hideImagePosition(image);  deleteText(txt)
end
      mini きゅうり(投稿日:2012/04/06 22:59, 履歴)
使いたい人はこっちでもいいですね。
User icon mini 退会したユーザー(投稿日:2012/04/06 10:37, 履歴)
毎度助かってます^^
これからも活用させて頂きますね☆
      mini きゅうり(投稿日:2012/04/06 10:57, 履歴)
ありがとうございます!
User icon mini 退会したユーザー(投稿日:2012/03/23 22:04, 履歴)
>自由にウィンドウを指定
大きさなのか位置なのか・・・
位置ならすぐにできますが、
大きさの変更はスプライトを使わないと・・・
User icon mini 退会したユーザー(投稿日:2012/03/01 17:36, 履歴)
おぉ-!すごいです!
Cdv30200 aoi icon mini aoihikawa(投稿日:2012/02/29 23:40, 履歴)
こういったように
基本的な仕組みをユーザ関数として
纏めておくのは良いですね。

注意点としては
画像「110929」と「110942」を使用しているようなので
この関数を使用するシーンのリソースに
入れておかないといけないことを、明記しておくと良いかも。

さらなる発展系としては
ikosamiさんの線を引く関数を取り入れることで、
ウインドウサイズを自由に変えられるようにしてみるとか。