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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0630
koyaグラデーション?を動かしたい2解決


koya

リンク

2014/6/30(Mon) 21:08:05|NO.62698

Windowsのプログレスバーに光が動くのようなアニメーション
ありますよね?

それをHSPでやりたいです。

まったくグラフィック関連のことはわかりません。
よろしくお願いします。



この記事に返信する


kanahiron

リンク

2014/6/30(Mon) 23:17:34|NO.62705

明らかに説明不足だったので解説と機能を足して再掲しました

こんな動きでどうでしょうか?

barw = 200 barh = 50 gyaku = 0 ugoki = 0 pos 10,10 mes "バーの横の長さ" pos 130,10 input barw,100,20,3 pos 10,35 mes "バーの縦の長さ" pos 130,35 input barh,100,20,3 objsize 300,30 pos 10,60 button "パターン1 3色のグラデーション",*pattern1 button "パターン2 3色のグラデーション",*pattern2 chkbox "逆回転",gyaku chkbox "動きを見る",ugoki onexit gosub *end_ stop *draw repeat redraw 0 pos 10,240 gcopy 1,x,0,barw,barh if gyaku = 0{ //普通の向き x++ if x >= barw:x=0 } else { //逆の向き x-- if x <= 0:x=barw } //「動きを見る」用の処理 if ugoki { gsel 1,1 pos 0,0 gcopy 2,0,0,barw*2,barh color 0,0,0 line x,0,x+barw,0 line x+barw-1,0,x+barw-1,barh-1 line x,barh-1,x+barw-1,barh-1 line x,0,x,barh+1 gsel 0,0 } // redraw 1 await 16 loop stop *pattern1 //画像を描く screen 1,barw*2,barh,2:title "動きを見るのをやめるとは×を押してね" iro = 0xFF0000,0x00FF00,0x0000FF,0xFF0000,0x00FF00,0x0000FF,0xFF0000 repeat length(iro)-1 gradf (cnt*barw)/3,0,(barw/3)+1,100,0,iro(cnt),iro(cnt+1) loop // //「動きを見る」用の処理 buffer 2,barw*2,barh gcopy 1,0,0,barw*2,barh // gsel 0 goto *draw *pattern2 //画像を描く screen 1,barw*2,barh ,2:title "動きを見るのをやめるとは×を押してね" ;↑screenに変えれば見える! iro = 0xFF7777,0x7777FF,0xFF7777,0x7777FF,0xFF7777 repeat length(iro)-1 gradf (cnt*barw/2),0,(barw/2)+1,100,0,iro(cnt),iro(cnt+1) loop // //「動きを見る」用の処理 buffer 2,barw*2,barh gcopy 1,0,0,barw*2,barh // gsel 0 goto *draw *end_ if wparam = 1{ ugoki = 0 objprm 5,ugoki gsel 1,-1 pos 0,0 gcopy 2,0,0,barw*2,barh gsel 0,1 return } end
わからないところは聞いて下さい!



koya

リンク

2014/7/2(Wed) 20:17:01|NO.62720

ありがとうございます。
Bufferの内容を
スクロールするという考えがありませんでした。



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