HSP2.x系で、円の中心に向かってグラデーションをかけるサンプルコード
Hot Soup Processor 2.x系で、円の中心に向かってグラデーションをかけていく謎のサンプルコードですw
需要があればHSP3系でもやります(需要無いかも)
需要があればHSP3系でもやります(需要無いかも)
;円の中心に向かってグラデーションをかけていくサンプル(謎)
;「外側に向かって〜」も可能。
;変数の初期化
fskip=1 ;フレームスキップ数
size=200 ;画面のサイズ
wtime=3 ;ウェイト
skipmode=0 ;1=途中のアニメーションを行わない
;画面の生成
screen 0,size,size,0
title "描画開始"
cls 4
;アニメーションスキップの判定
if skipmode{
redraw 0
}else{
;フェードイン
repeat 90
await wtime
;色計算部分
r+2 : g++ : b++
;限界処理
if r<0 : r=0
if g<0 : g=0
if b<0 : b=0
if r>0xff : r=0xff
if g>0xff : g=0xff
if b>0xff : b=0xff
;描画部分
color r,g,b
font "MSゴシック",size
pos 0,0 : mes "●"
loop
}
;グラデーション描画
repeat size/fskip
if skipmode==0 : await wtime
;色計算部分
r=0xff-(cnt>>1)
g=0x64+(cnt<<2)
b=0x64+(cnt<<1)
;限界処理
if r<0 : r=0
if g<0 : g=0
if b<0 : b=0
if r>0xff : r=0xff
if g>0xff : g=0xff
if b>0xff : b=0xff
;描画部分
color r,g,b
font "MSゴシック",size-(cnt*fskip)
pos cnt*fskip>>1,cnt*fskip>>1 : mes "●"
;描画部分の変更例
;color r,g,b
;font "MSゴシック",size+(cnt*fskip)
;pos -cnt*fskip>>1,-cnt*fskip>>1 : mes "●"
loop
if skipmode : redraw 1
title "描画終了"
stop
;「外側に向かって〜」も可能。
;変数の初期化
fskip=1 ;フレームスキップ数
size=200 ;画面のサイズ
wtime=3 ;ウェイト
skipmode=0 ;1=途中のアニメーションを行わない
;画面の生成
screen 0,size,size,0
title "描画開始"
cls 4
;アニメーションスキップの判定
if skipmode{
redraw 0
}else{
;フェードイン
repeat 90
await wtime
;色計算部分
r+2 : g++ : b++
;限界処理
if r<0 : r=0
if g<0 : g=0
if b<0 : b=0
if r>0xff : r=0xff
if g>0xff : g=0xff
if b>0xff : b=0xff
;描画部分
color r,g,b
font "MSゴシック",size
pos 0,0 : mes "●"
loop
}
;グラデーション描画
repeat size/fskip
if skipmode==0 : await wtime
;色計算部分
r=0xff-(cnt>>1)
g=0x64+(cnt<<2)
b=0x64+(cnt<<1)
;限界処理
if r<0 : r=0
if g<0 : g=0
if b<0 : b=0
if r>0xff : r=0xff
if g>0xff : g=0xff
if b>0xff : b=0xff
;描画部分
color r,g,b
font "MSゴシック",size-(cnt*fskip)
pos cnt*fskip>>1,cnt*fskip>>1 : mes "●"
;描画部分の変更例
;color r,g,b
;font "MSゴシック",size+(cnt*fskip)
;pos -cnt*fskip>>1,-cnt*fskip>>1 : mes "●"
loop
if skipmode : redraw 1
title "描画終了"
stop
最初に記事を書いた日:2017/10/30
この記事をシェアする
関連記事
- ・HSP2.xで、MIDIファイルのヘッダ情報を調べるモジュール
- ・HSP2.xで、LHA書庫の圧縮と解凍を実現するモジュール
要loadlib&llmod - ・HSP2.xで、HTMLファイル内のリンク先を列挙するサンプルコード(モジュール付き)
- ・HSP2.x系で、ファイルパスから、ファイル名やフォルダ名を取得するサンプルモジュール
- ・HSP2.x系で、アルファベットの大文字と小文字を相互変換するサンプルモジュール
- ・HSP2.x系で、平方根の近似値を整数で取得するサンプルモジュール
- ・HSP2.x系で、getkey、stick命令のキー番号を取得・表示するサンプルコード
- ・HSP2.x系用 ベンチマークプログラム ソースコード
- ・HSP2.xでMDIウインドウを作成するサンプルコード
要loadlib&llmod