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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0311
フェードフェードイン7解決


フェード

リンク

2007/3/11(Sun) 23:23:29|NO.6215

文字のフェードインはどうやってするのですか?
過去ログを検索しましたが出てきませんでした。
フェードインってもともとHSPの機能ではないですよね?



この記事に返信する


KIMU

リンク

2007/3/12(Mon) 03:00:29|NO.6218

>フェードインってもともとHSPの機能ではないですよね?
文字限定などのフェードイン機能はありませんが
半透明コピー等を使えば大抵の事は出来ます。


color:boxf :黒で塗りつぶし font "MS 明朝",64,1+2 repeat 255 color cnt,cnt,cnt ;徐々に白にしていく pos 80,200 mes "フェードイン " wait 1 loop buffer 1 picload dir_exe+"\\sample\\demo\\sky_bg.jpg" gsel 0 ;操作先を screen 0 に pos 0,0 repeat 100 redraw 0 gmode 3,,,cnt ;半透明設定 gcopy 1,0,0,640,480 ;buffer 1に読み込んだ画像を半透明コピーを繰り返して文字を消す redraw 1 wait 1 loop buffer 2 color:boxf font "MS ゴシック",80,1+2 color 255,255,255 pos 50,150 mes "フェードイン " ;buffer 2に白い文字列を書き込み gsel 0 pos 0,0 color repeat 256,1 redraw 2 gmode 0 gcopy 1,0,0,640,480 ;buffer 1に読み込んだ画像をコピーして前回の映像に上書き gmode 4,,,cnt ;指定色を透明色にして半透明設定 gcopy 2,0,0,640,480 ;buffer 2に書き込んだ文字をブレンド率を上げながらコピー redraw 1 wait 1 loop



フェード

リンク

2007/3/12(Mon) 03:22:18|NO.6219

実行してみましたが下のようなエラーが出ました。
error 2 : 文法が間違っています (1行目)
どうしてでしょうか・・・?



DoubleQuote

リンク

2007/3/12(Mon) 03:25:22|NO.6220

おそらく、
color:boxf :黒で塗りつぶし

ではなく、
color:boxf ;黒で塗りつぶし
の間違いでは無いかと思いますよ。



KIMU

リンク

2007/3/12(Mon) 03:28:13|NO.6221

ごめん(^^;
(コピペしてから追加したしたから気が付かなかった)

>color:boxf :黒で塗りつぶし

の :黒で塗りつぶし がコメントアウトになって無かった・・・
: を ; これに変えるか :黒で塗りつぶし を削除してください



osakana

リンク

2007/3/12(Mon) 05:17:41|NO.6222

のんびりと書いてたらもう解決っぽい・・・。
ちょっと長いけどせっかく書いたので一応置いときます。
でもやってる事は大体同じです。

//--文字の色でフェードする--// //フェードイン font "",72 repeat 255 pos 144,204 :color 255-cnt,255-cnt,255-cnt :mes "フェードイン" await 1 loop //画面を白色で塗りつぶす color 255,255,255 :boxf //フェードアウト repeat 255 pos 115,204 :color cnt,cnt,cnt :mes "フェードアウト" await 1 loop //フェードイン&アウト repeat 255*2 if cnt<=255 :cnt2=255-cnt :else :cnt2++ pos 33,204 :color cnt2,cnt2,255 :mes "フェードイン&アウト" await 1 loop //--文字を画像としてフェードする--// //背景作成 buffer 1,640,480 repeat 20*20 x=cnt\20 y=cnt/20 color 255/20*y,255-255/20*x,255/20*x if (x+y)&1 {boxf x*32,y*24,(x+1)*32,(y+1)*24} loop //文字画像を作成 buffer 2,600,72 font "",72 :color 255,0,255 :mes "フェードイン&アウト" //背景をフェードイン gsel 0 repeat 33 redraw 0 color 255,255,255 :boxf gmode 3,,,cnt*8 :pos 0,0 :gcopy 1,0,0,640,480 redraw 1 wait 8 loop //フェードイン&アウト cnt2=2 :color 255,255,255 repeat 64*2 redraw 0 if cnt<64 :cnt2++ :else :cnt2-- gmode 0 :pos 0,0 :gcopy 1,0,0,640,480 gmode 4,,,cnt2*2 :pos 33,150+cnt :gcopy 2,0,0,575,72 redraw 1 wait 1 loop //背景をフェードアウト repeat 33 redraw 0 color 255,255,255 :boxf gmode 3,,,256-cnt*8 :pos 0,0 :gcopy 1,0,0,640,480 redraw 1 wait 8 loop color :pos 221,204 :mes "終わり"



osakana

リンク

2007/3/12(Mon) 13:52:32|NO.6227

HSPは色々便利な命令が沢山用意されていますが、
それでも命令1つでやりたい事が出来る事はほとんどありません
大抵はいくつかの命令や関数を組みあわせて欲しい機能を実現しています。
そのかわり標準命令などを組み合わせ自分で命令を作る事は出来ます。

それで簡単な物ですが一応作って見ました。

#module //mesfade txt,fade,type,fname,fsize,fstyle //txt: 文表示字 , fade: フェードの速さ //type: 0=IN 1=OUT 2=IN&OUT //fname: 書体 , fsize: フォントサイズ , fstyle: フォントスタイル #deffunc mesfade str txt,int fade,int type,str fname,int fsize,int fstyle //各データをバックアップ id=ginfo_sel posx=ginfo(22) posy=ginfo(23) r=ginfo_r g=ginfo_g b=ginfo_b mref bmscr,67 gx=bmscr(33) gy=bmscr(34) mode=bmscr(35) rate=bmscr(65) //文字の全体サイズを取得して文字画像作成 buffer 1,0,0 font fname,fsize,fstyle :mes txt :mesx=ginfo_mesx+fsize/2 :mesy=ginfo_mesy buffer 1,mesx,mesy font fname,fsize,fstyle :color r,g,b :mes txt //コピー先画面取得 buffer 2,mesx,mesy :gcopy 0,posx,posy,mesx,mesy //操作先画面を元に戻して、白を透明色に gsel id color 255,255,255 //フェードイン if type=0|type=2 { repeat fade,1 redraw 0 blend=256.0/fade*cnt gmode 0 :pos posx,posy :gcopy 2,0,0,mesx,mesy gmode 4,,,blend :pos posx,posy :gcopy 1,0,0,mesx,mesy redraw 1 await 16 loop } //フェードアウト if type=1|type=2 { repeat fade,1 redraw 0 blend=255-256.0/fade*cnt gmode 0 :pos posx,posy :gcopy 2,0,0,mesx,mesy gmode 4,,,blend :pos posx,posy :gcopy 1,0,0,mesx,mesy redraw 1 await 16 loop } //データを元に戻す gmode mode,gx,gy,rate color r,g,b pos posx,posy+mesy return #global //----ここからメイン----// randomize repeat 100 pos rnd(600),rnd(400) color rnd(4)*64,rnd(4)*64,rnd(4)*64 mesfade ""+cnt,rnd(20)+20,2,"",rnd(30)+42,1<<rnd(3) wait 4 loop



フェード

リンク

2007/3/12(Mon) 18:22:41|NO.6231

皆様ありがとうございました。
迷惑かけてすいませんでした。
これからもお願いします。



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