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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0822
SqOc文章の横スクロール7解決


SqOc

リンク

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

何か方法はありますか?
わかる方回答お願いします!!



この記事に返信する


SqOc

リンク

2015/8/22(Sat) 13:03:45|NO.70982

背景は画像なので、白いboxfを灰色に変えてもできません。



スペース

リンク

2015/8/22(Sat) 14:32:00|NO.70983

boxfをgcopyに変えればいいのでは?
もしくは文字をbufferに描画し、gmodeで透過色を指定してメインウィンドウにgcopyでコピーという方法もあります。



kanamaru

リンク

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



SqOc

リンク

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

↑についておかしかったらコメントお願いします。

ありがとうございました!!



skyblue

リンク

2015/8/23(Sun) 11:30:20|NO.70998

正しく言えば仕組み上VRAMではありません。VRAMバッファが正しいです。



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