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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0812
まっしーイージング関数でWordのアレを再現したい2解決


まっしー

リンク

2021/8/12(Thu) 20:55:47|NO.93556

お世話になっております。
今回、イージング関数を使用してOffice 2013-2016の起動画面にあったあれを再現したいです。
<こんなようなもの>
⇒●●●●● ●●●●● ●●●●●
左から丸が5つ、イージング関数で出てきて、真ん中で少し停止、その後右へ移動。

Windows 10のプリローダーのように作ることはできないのでしょうか?
よろしくお願いします。



この記事に返信する


foon

リンク

2021/8/12(Thu) 23:13:36|NO.93558

暇なので作ってみました。
若干動きが変なのと、ソースが見にくいです・・・


#define StartEaseTime 50 #define EndEaseTime 50 #define StartEaseWidth 120 #define EndEaseWidth 120 #define LinearSpeed 1 #define LinearTime 3 #define CircleOffset 4 #define CircleMargin 16 #define CircleNum 10 dim ScreenWidth ScreenWidth=StartEaseWidth+EndEaseWidth+(StartEaseTime+60*LinearTime+EndEaseTime)*LinearSpeed bgscr 0,ScreenWidth,256,0,ginfo(20)/2-ScreenWidth/2,ginfo(21)/2-256/2 repeat repeat StartEaseTime+EndEaseTime+60*LinearTime+CircleNum*CircleOffset dim EaseCount EaseCount=cnt redraw 0 color 50,150,255:boxf color 255,255,255:font"Meiryo",35 pos 220,70:mes"わ〜ど" color 255,255,255:font"Meiryo",20 repeat CircleNum EaseCirclePos=StartEaseWidth if (EaseCount-cnt*CircleOffset)<StartEaseTime { setease -CircleNum*CircleMargin,StartEaseWidth,ease_cubic_out EaseCirclePos=getease((EaseCount-cnt*CircleOffset),StartEaseTime) } if (EaseCount-cnt*CircleOffset)>StartEaseTime+60*LinearTime { setease StartEaseWidth,StartEaseWidth+EndEaseWidth+CircleNum*CircleMargin,ease_cubic_in EaseCirclePos=getease((EaseCount-cnt*CircleOffset)-StartEaseTime-60*LinearTime,EndEaseTime) } EaseCirclePos+(EaseCount-cnt)*LinearSpeed-CircleMargin*cnt pos EaseCirclePos,170:mes"●" loop redraw 1 await 1000/60 loop loop



まっしー

リンク

2021/8/13(Fri) 10:09:06|NO.93561

foonさんありがとうございます!
スクリプトをいろいろ変えてみたところかなりWordのModern UIプログレスバーになりました。



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