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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
1206
MIDyロード画面を作りたい4解決


MIDy

リンク

2015/12/6(Sun) 12:55:19|NO.73471

#include "hspda.as"

//文字列変数adatにキャラ一覧データをインプット後にソート
sdim adat,1000
notesel adat
noteload "chara.dat"

//文字列配列変数bf(0)から順に一行ずつインプット
sdim bf,1000,999

repeat notemax
noteget bf(cnt),cnt
loop

//一旦bf(n)改行データにばらしてを文字列変数sbfに代入
//sbfをnoteselで指定してnotegetで文字列配列変数datにインプット
sdim sbf,1000
sdim dat,1000,999,999

repeat notemax
cno = cnt
csvnote sbf,bf(cnt)
notesel sbf

repeat notemax
noteget dat(cno,cnt),cnt
loop
loop

mes dat(0,0)
mes dat(1,1)
mes dat(2,2)
stop


dat形式のcsvデータを配列変数にインプットしていくスクリプトです。
実行すると、文字が表示されるまでに時間がかかります。データの取り込みに時間がかかるからだと思うのですが。
その間、ちょっとしたアニメーションを表示したロード画面を作りたいです。
イメージはYouTubeのロード画面のようなものです。

助言お願いします。



この記事に返信する


zero

リンク

2015/12/6(Sun) 15:07:18|NO.73472

暇だったのでYoutubeのロード中に真ん中でくるくる回るやつを再現してみた。
こんなやつでよければ。


#module #uselib "winmm" #cfunc timeGetTime "timeGetTime" #deffunc draw int cx, int cy, int n redraw 0 color : boxf r = 11 repeat 8 px = cos(m_pi * (cnt + n) / 4) * r + cx py = sin(m_pi * (cnt + n) / 4) * r + cy if (cnt == 0) { color 90, 90, 90 cr = 4 } else { color 32, 32, 32 cr = 3 } circle px-cr, py-cr, px+cr, py+cr loop redraw 1 return #deffunc load now = timeGetTime() if (time < now) { time = now + 100 draw 320, 240, n n = (n + 1) \ 8 } return #global // ループ repeat 10000000 // 重い処理 // ... load await 0 loop color 255, 255, 255 boxf color mes "OK"



MIDy

リンク

2015/12/6(Sun) 16:29:03|NO.73473

すみません、かなり初心者なもので、頂いたスクリプトをどう活用すればいいのか分かりません。
具体的に、どのように私のスクリプトと組み合わせればいいのでしょうか?



zero

リンク

2015/12/6(Sun) 19:44:39|NO.73477

すみません、説明不足でしたね。
おそらくrepeat-loopが2重になっている部分が
時間がかかっていると思いますので、
その中に先のモジュールで定義したloadという命令を
呼び出せば良いと思います。

repeat notemax cno = cnt csvnote sbf,bf(cnt) notesel sbf repeat notemax noteget dat(cno,cnt),cnt load // ここでロード画面を更新 loop loop
こんな具合ですかね。
あくまで参考程度に書いたので、他の部分は適当です。
loadの中でdrawを呼び出していますが、
draw 320, 240, n ←これ
最初の2つの数字は、くるくる回る円の中心座標です。
背景色などはdrawの中に直接書いてしまってあるので、
適宜書き換えてください。



MIDy

リンク

2015/12/10(Thu) 00:12:01|NO.73538

できました!
助言、感謝します!



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