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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0418
Law-haKフェードイン、アウトについて教えてください。8解決


Law-haK

リンク

2010/4/18(Sun) 15:15:54|NO.32049

1、画面のフェードインとフェードアウト
2、文字のフェードインとフェードアウト
をしたいのですが、右も左もわからぬ初心者なものでどう打てばできるのでしょうか?
教えてください。<m(_ _)m>



この記事に返信する


backdrop

リンク

2010/4/18(Sun) 15:21:46|NO.32052

フェードイン(黒→白)する

i=255 repeat 255 j = cnt color j, j, j : boxf await 1;ここは入れなくてもいい loop
逆にフェードアウト(白→黒)する場合は3行目を

j = i - cnt
に変える



backdrop

リンク

2010/4/18(Sun) 15:34:03|NO.32056

ちなみに虹色をすべて表示する場合はこうなる

cls 4 repeat 255 r.cnt = cnt g.cnt = cnt b.cnt = cnt loop r2=g2=b2=0 repeat 255 * 5 if ( cnt > 0 ) & ( cnt <= 255 ){ r2++ }else:if ( cnt > 255 ) & ( cnt <= 255 * 2 ){ g2++ }else:if ( cnt > 255 * 2 ) & ( cnt <= 255 * 3 ){ r2-- b2++ }else:if ( cnt > 255 * 3 ) & ( cnt <= 255 * 4 ){ g2-- }else:if ( cnt > 255 * 4 ){ b2-- } color r2,g2,b2 : boxf await 0 loop



u

リンク

2010/4/18(Sun) 16:02:48|NO.32059

アルゴリズムについては以下を参考に、分からない命令等はヘルプを参照してください。(スクリプトエディタで命令を選択してF1)

screen 0,500,100 font "MS ゴシック",30 repeat 255+2 title "背景色:color "+str(255-r)+","+str(255-g)+","+str(255-b)+" 文字色:color "+r+","+g+","+b redraw 0 color 255-r,255-g,255-b boxf pos 50,50 color r,g,b mes "ホットスーププロセッサー" redraw 1 //態々変数を分けたのは色々な色を表せるようにするため r=cnt//red値 g=cnt//green値 b=cnt//blue値 wait 1//0.01秒間隔 loop



Law-haK

リンク

2010/4/18(Sun) 16:29:44|NO.32060

ありがとうございます。画面のほうはフェードアウトできました。
ですが、すみません、手っ取り早く文字を黒から白に変えるのがどうもできなくて、(-_-;)
多分教えてくださった backdropさんやuさんを参考にすればいいのだろうけれど、
何分、初心者なもので、、



ESZET

リンク

2010/4/18(Sun) 19:04:32|NO.32074

文字は、

/////////文字列のサイズ取得 buffer 1 //仮想画面 font "MS UI Gothic",50 mes "フェードイン!" x = ginfo_mesx //「ginfo_mesx・y」で直前に表示した文字のサイズを取得出来る y = ginfo_mesy gsel 0 font "MS UI Gothic",50 /////フェードイン repeat 255 redraw 0 color 255,255,255 : boxf 50,50,50+x,50+y pos 50,50 color 255-cnt,255-cnt,255-cnt mes "フェードイン!" redraw 1 await 0 //速度 loop wait 200 /////フェードアウト repeat 255 redraw 0 color 255,255,255 : boxf 50,50,50+x,50+y pos 50,50 color cnt,cnt,cnt mes "フェードアウト!" redraw 1 await 0 //速度 loop
のようにしてフェードイン・フェードアウトします。

アンチエイリアスがかかっていないフォントでのフェードインであれば

font "MS UI Gothic",20 repeat 255 pos 50,50 color 255-cnt,255-cnt,255-cnt mes "フェードイン!" await 5 //速度 loop
こんな感じでOKです。

前者の場合、背景が単色ではなく写真や絵の上では使用できません。
写真や絵の上でフェードアウトや、アンチエイリアスのかかった文字のフェードインをしたい場合は、ちょっとややこしいことになります。



ESZET

リンク

2010/4/18(Sun) 19:07:59|NO.32075

おっと、何意味不明なことを云ってるんだ私ww

アンチエイリアスのかかっていない文字のフェードアウトは

font "MS UI Gothic",20 repeat 255 pos 50,50 color 255-cnt,255-cnt,255-cnt mes "フェードイン!" await 3 //速度 loop wait 200 color 255,255,255 boxf repeat 255 pos 50,50 color cnt,cnt,cnt mes "フェードアウト!" await 3 //速度 loop
単にこれでOKです。



backdrop

リンク

2010/4/18(Sun) 20:48:07|NO.32079

すみませんNO.32056のスクリプトで
配列r,g,bを使っていませんね 省略してもかまいません

NO.32056で文字を表示する場合、読みやすくするには
ポジションを固定して背景の補色を使えはOKです。
(補色というのは反対の色で255から背景のRGBをそれぞれ引けば出来ます)



Law-haK

リンク

2010/4/18(Sun) 22:11:18|NO.32089

ありがとうございます。解決しました。



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