画面がちらついてしまう!
おいおい 2013/4/8(Mon) 18:56:54|NO.53494
ロードゲームとニューゲームを選ぶところまでいきました。こんな感じです↓
______________
| |
| |
| |
| にゅー |
| →ロード |
| |
|____________|
そして、ここから「にゅー」にいくためにstickをつかいifで「にゅー」にいきます。
しかし、ここで、clsを使うとチラッとなってから「にゅー」にいくのです。
つまり、「ロード」の左にある→だけ消すか、画面をclsしてもちらつかないように
できませんか?
お願いします
うめの 2013/4/8(Mon) 19:49:09|NO.53495
redraw命令を使っていますか?
もし使っているのであれば、画面更新のタイミングを見なおすべきです。
おいおい 2013/4/8(Mon) 19:49:20|NO.53496
redraw命令使おうと思うんですが、どこに使えばいいのかがわからないんです!
名無し 2013/4/8(Mon) 19:56:56|NO.53497
本当に・・・他力本願乙です・・・
暇人 2013/4/8(Mon) 19:58:45|NO.53498
ヘルプで redraw を検索(ちらつきをなくすサンプルも載ってる)
clsは画面クリアって言うよりウィンドウ初期化命令
普通は画像だけクリアしたい場合はredraw 0 (画面表示OFF)して
上から任意の画像(boxf,gcopy等)で釣り潰し
必要な表示を済ませ redraw 1 (画面表示ON)する
これはclsのヘルプに問題あるな・・・
初心者に絶対起きる問題なのに問題点(redraw 1されるとか)の指摘も無く
関連命令すら一つも候補が無い・・・
あかさたな 2013/4/8(Mon) 19:58:58|NO.53499
cls ではなく boxf を使いましょう。
color ←背景の色
boxf ←描き変えたい場所を指定(画面全体ならそのまま)
color ←文字の色
mes ・・・ という感じです。
うめの 2013/4/8(Mon) 19:59:16|NO.53500
hspスクリプトエディタを開いて、redrawのヘルプを読んでいくと、
わかりやすいサンプルがありますよ。
基本的な流れは……
メインループの最初にredraw 0 を書いて、直後で cls
色々画面に描画するのが終わったら、
メインループの終わりにredraw 1 を書く。
これの繰り返しです。
あかさたな 2013/4/8(Mon) 20:22:31|NO.53501
ちなみに、こういう感じでしょうか?
pos 250,240
mes "ニューゲーム"
mes "ロードゲーム"
pos 230,240
mes "→"
repeat
redraw 0
stick key,0
if key = 2 {
color 255,255,255 :boxf 230,240,250,280 :color 0,0,0
pos 230,240
mes "→"
}
if key = 8 {
color 255,255,255 :boxf 230,240,250,280 :color 0,0,0
pos 230,260
mes "→"
}
redraw 1
await 1
loop
暇人 2013/4/8(Mon) 20:25:52|NO.53502
>NO.53499
>メインループの最初にredraw 0 を書いて、直後で cls
clsはredraw 0の意味を無くすとNO.53498の方で・・・
うめの 2013/4/8(Mon) 20:38:39|NO.53503
大変失礼しました。
今確認して来ましたら、確かにclsでredraw 0の文が無意味になりました。
間違った知識で書き込みして申し訳ありません。
おいおい 2013/4/8(Mon) 20:56:31|NO.53504
みなさん、いろいろありがとうございます
暇人さんさんこうになります。うめのさんと、あかさたなさんもありがとうございます。
ついでに名無しさん
そうですね、これからは、自分で、調べた上、こうなんですが、こうじゃできませんなんでですかという風に
ききますね∑≪∵∪∃∪≫すいませんでした