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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0407
おいおい画面の[ふぃーどあうと]ってどうすれば???8解決


おいおい

リンク

2013/4/7(Sun) 10:23:55|NO.53478

Hspでプロの方のゲームを見てみると、表示されてる画像が、だんだん暗くなり最後は、真っ暗になっ
てしまうフィードアウト?とかいうやつをやってみたいのですが、どうすればいいでしょうか?

あと、横からフィードアウトというやつもおしえてください。お願いします



この記事に返信する


FunnyMaker

リンク

2013/4/7(Sun) 12:48:29|NO.53479

「フィードアウト」ではなくて「フェードアウト」と言うと思います。

やり方の一例としては、

下絵を描く → 黒い半透明の画像を上に重ねる

という操作を、黒い半透明の画像を重ねるときのブレンド率を次第に大きくしていきながら一定回数繰り返すことで
できます。

逆に、ブレンド率を256(=max)から徐々に下げて0にもっていくと、フェードインもできます。

画像ではなくて、文字等の、均一な色で合同な図形を描画する処理では、単に描画色のr,g,b値を変化させて
繰り返し描画することでもフェードアウト・フェードインを実現できます。


*start gsel 0,-1 ;バッファにロード。 buffer 1,1,1,0 chdir dir_tv picload "bg04.jpg" size_pic(0) = ginfo_winx,ginfo_winy;画像サイズ取得 screen 0,size_pic(0),size_pic(1),0;画像の大きさでメインウィンドウを再初期化する *job1 time_fade = 3.0;フェードにかける時間 rate_decrease = 4;ブレンド率の減少速度(1フレームあたり) repnum = 256/rate_decrease;繰り返し回数 rate_frame = time_fade/double(repnum);フレームレート(sec) array_x_gsquare(0) = 0,size_pic(0)-1,size_pic(0)-1,0;gsquare命令用の配列 array_y_gsquare(0) = 0,0,size_pic(1)-1,size_pic(1)-1 repeat repnum;(=32) redraw 0;ちらつき防止 ;<下絵の描画> gmode 0,size_pic(0),size_pic(1);下絵は完全コピー pos 0,0 : gcopy 1,0,0 ;<黒い膜を被せる> gmode 3,1,1,rate_decrease*(cnt+1);「+1」の意味は考えて! gsquare -1,array_x_gsquare,array_y_gsquare redraw 1 await rate_frame*1000 loop ;<fin> font msgothic,200,1+16 time_fade = 3.0;フェードにかける時間 rate_decrease = 5;r=g=b値の増加速度(1フレームあたり) repnum = 255/rate_decrease;繰り返し回数 rate_frame = time_fade/double(repnum);フレームレート(sec) repeat repnum color rate_decrease*(cnt+1),rate_decrease*(cnt+1),rate_decrease*(cnt+1) pos 250,150 : mes "fin" await rate_frame*1000 loop



おいおい

リンク

2013/4/7(Sun) 12:56:46|NO.53480

なるほど結構むずかしいんですね。
もっと簡単にできませんか?



keitetsu1650

リンク

2013/4/7(Sun) 13:03:41|NO.53481

FunnyMakerさんのスクリプトを1行ずつ読み進めていけば、そんなに難しくはないと思いますよ。
エディタで、命令の文字の上でF1キーでヘルプを見るのも良いでしょう。



おいおい

リンク

2013/4/7(Sun) 13:15:41|NO.53482

gmodというのは、なんでしょうか?



おいおい

リンク

2013/4/7(Sun) 13:18:38|NO.53483

一行ずつ説明していただけないでしょうか?



FunnyMaker

リンク

2013/4/7(Sun) 13:45:50|NO.53484

1行毎にコメントをつけて欲しい、ということでしょうか?

やってもいいのですが、それではあなたのためにならないと思いますから、あえてやりません。

お急ぎなら仕方ないですが、そうでないのならある程度の時間がかかるのを覚悟して一行ずつ頑張って理解していただきたいです。
HSPにはわかりやすい命令リファレンスもついていますから、きっとできるはずです。
分からない命令または関数があったら、それをHSPDocmentLibraryで検索してみてください。私がつけたコードのコメント
よりもずっと丁寧に解説がなされています。

少々時間がかかっても、努力して理解したものはきっとあなたの実力になります。
どうか御自身で頑張ってください。



FunnyMaker

リンク

2013/4/7(Sun) 13:50:32|NO.53485

追記で。

少々分からないコードがあっても、気にせず数行読み進めてみることも、時には必要です。
下の行を読んで初めて上の行を書いた作者の意図が分かるときもあります。

なんとなくわかったら、コード中の値(3.0とか、ループの回数とか、待ち時間とか...)を適当に変えて何回も実行して実験してみるのもよいでしょう。
「あっ!」と気づくことがあるかもしれません。



おいおい

リンク

2013/4/7(Sun) 13:53:59|NO.53486

わかりました。ありがとうございます



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