|
|
2015/8/22(Sat) 13:02:22|NO.70981
文章のスクロールの方法を教えてください!!
ただのスクロールなら、
x=100
repeat
cls
pos x,100
mes "文字スクロールをしています"
x=x-1
wait 1
loop
みたいなものでできますけど、
x=100
repeat
redraw 0
color 255,255,255
boxf
pos x,100
color 0,0,0
mes "文字スクロールをしています"
color 255,255,255
boxf 0,100,100,120
boxf 250,100,700,120
x=x-1
redraw
wait 1
loop
みたいなのををboxfなしでやりたいです。
理由は↓のように背景をつけるとboxfが邪魔をするからです。
x=100
repeat
redraw 0
color 255,255,255
boxf
//背景
color 100,100,100
boxf
pos x,100
color 0,0,0
mes "文字スクロールをしています"
color 255,255,255
boxf 0,100,100,120
boxf 250,100,700,120
x=x-1
redraw
wait 1
loop
何か方法はありますか?
わかる方回答お願いします!!
|
|
2015/8/22(Sat) 13:03:45|NO.70982
背景は画像なので、白いboxfを灰色に変えてもできません。
|
|
2015/8/22(Sat) 14:32:00|NO.70983
boxfをgcopyに変えればいいのでは?
もしくは文字をbufferに描画し、gmodeで透過色を指定してメインウィンドウにgcopyでコピーという方法もあります。
|
|
2015/8/22(Sat) 14:34:49|NO.70984
背景表示
vram保存
文字表示
ここから
保存しておいたvramを適用
文字を動かして表示
ここまで繰り返し
ボタンなどを設置しないならこんな感じです。
vramについてはmrefを使ってください
|
|
2015/8/22(Sat) 14:40:34|NO.70985
>>kanamaruさん
なぜvramが必要なんですか?
mrefはどちらかと言うと上級者向けですよね?
SqOcさんには申し訳ないですが初心者には余りに難しすぎます。
この場合、gmodeやgcopyだけで十分だと思いますが。
|
|
2015/8/22(Sat) 14:49:36|NO.70986
連投すみません。サンプルです
buffer 1,600,400//これを背景画像だと仮定する
Color 100,100,100:boxf
randomize
repeat 20 //適当に図形を描画
Color rnd(255),rnd(255),rnd(255):circle rnd(600),rnd(400),rnd(600),rnd(400),0
loop
Screen 0,600,400
x=100
repeat
redraw 0
//背景
pos 0,0:gcopy 1,0,0,600,400
pos x,100
color 0,0,0
mes "文字スクロールをしています"
//ここの2行をboxfからgcopyにする
pos 0,100:gcopy 1,0,100,100,20
pos 250,100:gcopy 1,250,100,450,20
x=x-1
redraw
wait 1
loop
|
|
2015/8/22(Sat) 22:42:06|NO.70990
スペースさんありがとうございました!
kanamarusさんの命令についてもいつか学んでみたいと思います!
gcopyはこんなふうにも利用できたのですね!!
最終的に僕のやりたかったのは背景も動かすことで、できたので、一応スクリプトを載せておきます
buffer 1,600,400//これを背景画像だと仮定する
Color 100,100,100:boxf
randomize
repeat 20 //適当に図形を描画
Color rnd(255),rnd(255),rnd(255):circle rnd(600),rnd(400),rnd(600),rnd(400),0
loop
Screen 0,600,400
x=100
hcopylx=0
hcopyly=100
hcopyrx=250
hcopyry=100
repeat
redraw 0
//背景
pos hx,hy:gcopy 1,0,0,600,400
pos x,100
color 0,0,0
mes "文字スクロールをしています文字スクロールをしています文字スクロールをしています"
//ここの2行をboxfからgcopyにする
pos 0,100:gcopy 1,hcopylx,hcopyly,100,20
pos 250,100:gcopy 1,hcopyrx,hcopyry,450,20
x=x-1
hx=hx-1:hy=hy-1
hcopylx=hcopylx+1
hcopyly=hcopyly+1
hcopyrx=hcopyrx+1
hcopyry=hcopyry+1
redraw
wait 1
loop
↑についておかしかったらコメントお願いします。
ありがとうございました!!
|
|
2015/8/23(Sun) 11:30:20|NO.70998
正しく言えば仕組み上VRAMではありません。VRAMバッファが正しいです。
|
|