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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0303
TCCフェードアウトのアニメーション2解決


TCC

リンク

2019/3/3(Sun) 14:26:49|NO.86790

カーソルキーで動く■があります。
スペースキーが押されたら、3秒間(後で変えられるようにしたい)でフェードアウトしたいです。
フェードアウト中もカーソルキーは効くようにしたいです。
フェードアウト完了後、再びスペースキーが押されたら、
3秒間でフェードインしたいです。

やり方を教えていただけたら幸いです...


xsize = 50 ysize = 50 speed = 3 // boxの左上の座標 posx = (ginfo_winx - xsize) / 2 posy = (ginfo_winy - ysize) / 2 *main_loop repeat stick key, 15 if key & 128 : break // [ESC]パルス if (key & 05) == 1 : posx -= speed // ← if (key & 05) == 4 : posx += speed // → if (key & 10) == 2 : posy -= speed // ↑ if (key & 10) == 8 : posy += speed // ↓ posx = limit(posx, 0, ginfo_winx - xsize) posy = limit(posy, 0, ginfo_winy - ysize) if key & 16 { // [SPACE]パルス //??? } redraw 0 color 255, 255, 255 boxf color ,,255 boxf posx, posy, posx+xsize, posy+ysize redraw 1 await 1000/60 loop wait 10 end



この記事に返信する


ham

リンク

2019/3/3(Sun) 17:02:59|NO.86791

boxfだと透明が使えないのでgrectで代用しましたが
こういう感じでしょうか。

xsize = 50 ysize = 50 speed = 3 alpha = 256.0 // 不透明度(0〜256) fadespeed = 1.422222 // フェード速度 256÷180(3秒なら60×3で180)=1.422222 // boxの左上の座標 posx = (ginfo_winx - xsize) / 2 posy = (ginfo_winy - ysize) / 2 *main_loop repeat stick key, 15 if key & 128 : break // [ESC]パルス if (key & 05) == 1 : posx -= speed // ← if (key & 05) == 4 : posx += speed // → if (key & 10) == 2 : posy -= speed // ↑ if (key & 10) == 8 : posy += speed // ↓ posx = limit(posx, 0, ginfo_winx - xsize) posy = limit(posy, 0, ginfo_winy - ysize) if key & 16 { // [SPACE]パルス if alpha>=256|alpha<=0 : fade ^= 1 // フェードが終わっている場合、フェード イン/オフを切り替え } if fade=0&alpha<256 : alpha+fadespeed :else: if fade=1&alpha>0 : alpha-fadespeed // フェード redraw 0 color 255, 255, 255 boxf color ,,255 gmode 3,xsize,ysize,alpha grect posx+xsize/2, posy+ysize/2 redraw 1 await 1000/60 loop wait 10 end



TCC

リンク

2019/3/4(Mon) 21:00:29|NO.86819

すみません、返信が遅れました。
gmodeを使えば良かったんですね!
ありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.86790への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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