|
|
2007/11/18(Sun) 01:14:29|NO.12476
こんばんわ。musicです。教えていただきたいことが...。
1.画像Aを表示(picload"a.gif")
2.背景を画像にして、タイマーを実行する
単純なことだと思いますが、
画面が書き換わる際、画像も消えてしまいます。
背景を残したまま時間を計るには、どのような命令を使えばいいでしょうか?
ググってみても出てこないし、検討もつがず困っています。
よろしくお願いします。
|
|
2007/11/18(Sun) 01:27:42|NO.12477
どんな風にやっているかわからないので
なせ消えるのかがわからず(clsかboxfで消している?)
消える理由がわからなければ残す方法もわかりませんが、
一般的にはというか、最も普通のやり方は以下のようなものです。
bufferにpicloadしてgcopyで表示。
消えたらまたgcopy。
|
|
2007/11/18(Sun) 05:33:20|NO.12480
ありがとうございます。
boxfで消えていました。
boxfをなくしたところ、画面ちらつきました。
たしか、前にもこんなことあったような気がするのですが、
redrawだったかな...???よく覚えてないのですが、
以前にもここで同じ質問をしたと思うので、
その時のやつが残っていると思うのですが、
検索しても出てきませんでした。
いったいどのように検索したらいいのでしょうか?
よろしくお願いします。
|
|
2007/11/18(Sun) 11:02:04|NO.12483
エディタにredrawと打ってF1キー押して
redrawのヘルプを読めばいいかと思われます。
因みに「過去ログから検索」で「ちらつき」といれて検索しても出てきます。
サイト内検索でも出てきますよ。
以前質問したなら以前のご自身のスクリプトを見直せばあるのでは?
|
|
2007/11/18(Sun) 17:50:47|NO.12485
repeat
redraw 0
;実行するプログラム
redraw 1
wait 1
loop
でいいと思われるが、これでどうなろうが保証せん
解決したらチェックしら
|
|
2007/11/23(Fri) 16:51:07|NO.12560
やっぱりちらつきました...。
redrawでは出来ませんでした。
以下のスクリプトに、cls 2 で灰色にしたいだけなんですけれど。
よろしくお願いします。
#include "mod_counttimer.hsp"
// タイマーの準備。
make_timer t
pause_count t
reset_count t
pos 0, 24
button gosub "start/stop", *start
button gosub "lap/reset", *lap
font msgothic, 16
px = 0
py = 72
repeat
// タイマーのカウント中か一時停止中かで待ち時間を変える。
if ( f == 0 ) {
wait 3
} else {
await 1
}
// 現在の経過時間の取得、表示。
gosub *drawtime
loop
stop
*start
// タイマーのカウント/一時停止の切り替え。
if ( f != 0 ) {
pause_count t
f = 0
} else {
resume_count t
f = 1
}
return
*lap
if ( f != 0 ) {
// カウント中は現在の経過時間をラップタイムとして取得、表示。
get_count t
pos px, py
mes strf( "%8.3f", refdval / 1000 )
py += 16
} else {
// 一時停止中は経過時間をリセット。
reset_count t
px += 64
py = 72
}
return
*drawtime
// 現在の経過時間の取得、表示。
get_count t
redraw 0
font "",140
color 255, 255, 255
boxf 0, 0, 600, 800
color 100, 0, 0
pos 100, 200
mes strf( "%8.3f", refdval / 1000 )
redraw 1, 0, 0, 600, 800
return
|
|
2007/11/28(Wed) 22:40:32|NO.12629
musicです。ありがとうございました。
clsの代わりにboxfやcolorを使えばいいんですね。
これをjpgとかの画像にしたい場合は、
boxfやcolorは使えませんよね?
picloadではない、また別の命令を使うのですよね?
まったく見当も付かないのですがどのような命令を使えばいいですか?
よろしくお願いします。m(_ _)m
|
|
2007/11/29(Thu) 16:01:44|NO.12633
colorやboxfのところをgcopyにすればいいと思います。
下は、読み込んで表示した画像の上に文字とループ回数を表示します。
name=dirinfo(1)+"\\sample\\demo\\sky_bg.jpg"
exist name
if strsize=-1 :end
buffer 1,,,0
picload name
screen 0,640,480
repeat
redraw 0
pos 0,0
gcopy 1,0,0,640,480
mes "画像の上に文字が表示されます"
mes "ループ回数 "+cnt
redraw 1
wait 1
loop
|
|
2007/11/29(Thu) 21:56:39|NO.12641
|
|
2007/12/30(Sun) 05:44:59|NO.12940
musicです。回答ありがとうございますm(_ _)m
KENTAさんのスクリプトを試してみました。
>>name=dirinfo(1)+"\\sample\\demo\\sky_bg.jpg"
で、画像ファイルを変えたところ、
>>if strsize=-1 :end
の影響で終了してしまいました。
strsizeは読み出しバイト数のことですが、
strsize=-1というのはどのような意味でしょうか?
#include "mod_counttimer.hsp"
// タイマーの準備。
make_timer t
pause_count t
reset_count t
pos 0, 24
button gosub "start/stop", *start
button gosub "lap/reset", *lap
font msgothic, 16
px = 0
py = 72
repeat
// タイマーのカウント中か一時停止中かで待ち時間を変える。
if ( f == 0 ) {
wait 3
} else {
await 1
}
// 現在の経過時間の取得、表示。
gosub *drawtime
loop
stop
*start
// タイマーのカウント/一時停止の切り替え。
if ( f != 0 ) {
pause_count t
f = 0
} else {
resume_count t
f = 1
}
return
*lap
if ( f != 0 ) {
// カウント中は現在の経過時間をラップタイムとして取得、表示。
get_count t
pos px, py
mes strf( "%8.3f", refdval / 1000 )
py += 16
} else {
// 一時停止中は経過時間をリセット。
reset_count t
px += 64
py = 72
}
return
*drawtime
// 現在の経過時間の取得、表示。
get_count t
redraw 0
font "",140
color 255, 255, 255
boxf 0, 0, 600, 800
color 100, 0, 0
pos 100, 200
mes strf( "%8.3f", refdval / 1000 )
redraw 1, 0, 0, 600, 800
return
の背景に画像を入れたいだけなんですけど...
いろいろ試しているのですが...
redraw間のスクリプトの書き方がどうしても分かりません><
一応、自分なりにヘルプやグーグルで調べてみましたが、全然分かりません。
すいませんがよろしくお願いします><
| |
|
2007/12/30(Sun) 09:49:59|NO.12942
>strsize=-1というのはどのような意味でしょうか?
ヘルプブラウザでexist命令の説明をちゃんとチェックしてください。
|
|
2007/12/31(Mon) 15:14:08|NO.12958
>strsize=-1というのはどのような意味でしょうか?
Kpanさんが言っているようにヘルプブラウザの説明を見てください。
>背景に画像を入れたいだけなんですけど...
#include "mod_counttimer.hsp"
のあとに
buffer 1,,,0
picload "画像ファイル名"
screen 0,640,480,0
を追加して、
redraw 0
font "",140
color 255, 255, 255
boxf 0, 0, 600, 800
color 100, 0, 0
pos 100, 200
mes strf( "%8.3f", refdval / 1000 )
redraw 1, 0, 0, 600, 800
のところを
redraw 0
font "",140
pos 0,0
gcopy 1,0,0,640,480
color 100, 0, 0
pos 100, 200
mes strf( "%8.3f", refdval / 1000 )
redraw 1
に変更してみてください。
|
|
2008/1/7(Mon) 19:22:47|NO.13027
出来ました。
何か少し勘違いしていたようです。
ヘルプはちゃんと見たつもりだったんですがね。
ありがとうございました。
|
|