setSpeakWindowRect()で作ったウィンドウを消す方法(質問掲示板

投稿: Now mini dangansozi 投稿:2010/02/04 17:26:04(最新:2010/02/09 11:08:09)
ノベルゲームでの事です。

タイトルのままなのですが、setSpeakWindowRect()で表示させたメッセージウィンドウを消して、waitTime()後にまたsetSpeakWindowRect()で表示させる、という処理を書きたいのです。イメージ的にはウィンドウが点滅しているような感じです。
しかし、メッセージウィンドウを消す方法が分かりません。
リファレンスにもそれらしい関数が無いような気がします。
もしかしたら仕様的に無理なのかもしれませんが、何か解決方法がありましたら教えて頂きたいです。

よろしくお願いします。

コメントする

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

コメント一覧

Now mini dangansozi(投稿日:2010/02/09 11:08, 履歴)
dycoonさん、ありがとうございます。

改めて要望の検討、よろしくお願いします。
Zararu128x128 mini dycoon(投稿日:2010/02/08 22:21, 履歴)
Rmakeのご利用ありがとうございます。

メッセージウィンドウの効果などの拡張については
作業を検討させていただきたいと思います。

とりあえずこの件については要望掲示板に書かなくても
要望として扱わせていただきます。

よろしくお願いします。
Now mini dangansozi(投稿日:2010/02/08 17:38, 履歴)
rurun9さん、ありがとうございます。

>deleteTextを使うとメッセージウィンドウも何故か消えるみたいです。

確かに消えているみたいなので、試しにウィンドウ点滅処理を簡単に書いてみた所・・・


waitTime(500)
setSpeakWindowRect(30, 430, 740 ,160)
speak(" ")
waitTime(500)
setSpeakWindowRect(30, 430, 740 ,160)
speak(" ")
waitTime(500)
setSpeakWindowRect(30, 430, 740 ,160)
speak(" ")


↑そもそもwaitTime()するとメッセージウィンドウが消えていることに気付きました。
しかし、speak()で何らかの文字を表示させないとメッセージウィンドウが表示してくれないという状態になりました。
しかし、ご存知の通りspeak()で文字を表示すれば、マウスクリックしないと次の処理に行かないので望みの通りにはならないですね。

という事で、メッセージウィンドウの操作をする時の要望として

 ・setSpeakWindowRect()でメッセージウィンドウを設定した時は、メッセージウィンドウだけ表示する
 ・deleteSpeakWindowRect()みたいな関数を作って、任意のタイミングでメッセージウィンドウを消せるようにする
 ・javascriptで言う、object.click()みたいに、任意のタイミングでマウスクリックイベントが発生させる事ができるようにする

以上ですね。これだけあればメッセージウィンドウ&メッセージを使った色々な演出が出来そうな気がします。

というか、ここまで書いて気付きましたが要望の掲示板に書けよ!って感じですね。

改めて掲示板に投稿した方が良いでしょうか?
Nyan mini rurun9(投稿日:2010/02/07 12:59, 履歴)
そういえば、
deleteTextを使うとメッセージウィンドウも何故か消えるみたいです。
この仕様を利用すればウィンドウごと点滅、て演出ができるかな?
Now mini dangansozi(投稿日:2010/02/05 09:28, 履歴)
>クリックなどで先に進める以外の方法で消すことはできないと思います。

やはりそうですか、残念です。

>フェードインなどをすればメッセージウィンドウを
含めて全画面が隠れますがこういうのを求めているわけでは
ないですよね。

そうですね。フェードインなどでは厳しいかもしれません。

ウィンドウの早い点滅で緊張の有る場面や、ウィンドウが震える様に表示させ、効果音と合わせて主人公が倒れる演出などなど。
その様な感じで使用したいと思っていますので、ぜひ要望としての検討よろしくお願いします。

情報感謝です!
Zararu128x128 mini dycoon(投稿日:2010/02/04 20:31, 履歴)
Rmakeのご利用ありがとうございます。

現在のところメッセージウィンドウを
クリックなどで先に進める以外の方法で消すことはできないと思います。
フェードインなどをすればメッセージウィンドウを
含めて全画面が隠れますがこういうのを求めているわけでは
ないですよね。

要望として検討させていただきたいと思います。

よろしくお願いします。
Now mini dangansozi(投稿日:2010/02/04 20:00, 履歴)
rurun9さん、ありがとうございます。

知りたかったのはメッセージウィンドウを消して、メッセージウィンドウ自体を点滅させる方法だったのですが、メッセージを点滅させるのも面白いですね。その発想はありませんでした。
メッセージを点滅させれば、何か面白い演出ができるかもしれませんね。
情報感謝です!
Nyan mini rurun9(投稿日:2010/02/04 19:19, 履歴)
確かにメッセージウィンドウは出っ放しですね。
speakFullScreenを使えば最初から無いですが。

ただspeakを使うと文字列を表示した後にボタンが押されるまで停止しちゃうので、敢えてsetTextで書くとそれっぽいのが作れるかも。

text="点滅する文字"
i=0
while i<10
setTextFontColor(rand(256),rand(256),rand(256))
ID=createText(100,200,400,100)
setText(ID,"あと",9-i,"回\n",text)
waitTime(500)
deleteText(ID)
waitTime(500)
i=i+1
end
speak("OK")

ローカル変数で簡単に書いてます