HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
1108
テンゲームの現在の状態を保つ方法3未解決


テン

リンク

2013/11/8(Fri) 19:15:52|NO.58024

RPGを作っています。
あるマスに来ると、boxfでめっせーじを表示する
ようにしています。ですが、メッセージを表示して
取り消すことはどうしたらいいでしょうか?

あまり、質問をしたことがないので分かりづらいですけど
回答よろしくお願いします。



この記事に返信する


FunnyMaker

リンク

2013/11/8(Fri) 19:57:28|NO.58026

boxfで四角いダイアログっぽい領域を描いて、再びその領域を
消して、描く前にあった部分を見えるようにしたいということですか?
もしそうなら、今言ったとおりの動作をさせればよいわけですが、

・ゲーム画面をもう一度描き治す

または

・boxfでメッセージを表示する前の画面の画像データをバッファウィンドウに
退避しておいて、boxfメッセージ表示後に、gcopyでバッファから復元する。

と言った方法でどうでしょうか?
2番目の方法はhsp3dishでは使えませんが。



Ve

リンク

2013/11/9(Sat) 00:24:45|NO.58031

メインループ内に
━━━━━━━━━━
*マップの描画
*キャラクターの描画
*メッセージの描画
━━━━━━━━━━
という処理を作り、
メッセージ描画のフラグが立っていたら描画
そうでない場合は描画しない。

そんな感じです。



きのよー

リンク

2013/11/9(Sat) 11:49:58|NO.58037

boxfは描画命令なので、上書きした場所をもとに戻すことは不可能です。
なので、もう一度画面を書き直せば治ります。
書きなおすのは、マップを書き、プレイヤーを書き、最後のメッセージを書きなおさない、という方法と、
メッセージを表示する前にバッファにコピーをしておいて、それを上書きする、という手があります。
私としては前者のほうが応用が効くと思いますよ。
画面がちらつくのが嫌なら、redrawあたりを使うといいです。



ONION software Copyright 1997-2021(c) All rights reserved.