現在スライド表示において、再生・一時停止・停止のボタン処理を作成致しております。
過去ログの
ttp://hsp.tv/play/pforum.php?mode=all&num=31888
あたりも参考にさせていただいておりますが、flgをうまく使いこなすことができず、
一時停止はstopにおいて止めることができましたが、再生ボタン(return)でうまく処理を返すことができません。
#include "hspcv.as" #include "llmod3\\llmod3.hsp" #include "llmod3\\misc.hsp" /* スライドショーを表示 */ *slide // プログラムの終了処理 onexit gosub *exit buffer 7 : picload "image.bmp" // ボタン画像(1枚の画像に3枚のボタン画像が入ってます) screen 3, 800, 650 // ウィンドウID3を作成 // ディレクトリ一覧を作成 dirlist imgFileDir, "image\\*.bmp", 0 // 変数をメモリノートパッド命令のバッファに設定 notesel imgFileDir repeat gosub *slide_play loop /* スライドショーの画像表示 */ *slide_play repeat notemax //行数分繰り返す noteget tmpImg, cnt // 画像読込 cvload "image\\" + tmpImg, 0 // 画像情報取得 cvgetinfo imgSizeX, 0, CVOBJ_INFO_SIZEX cvgetinfo imgSizeY, 0, CVOBJ_INFO_SIZEY // 画面サイズ windowSizeX = 800 windowSizeY = 600 // 画像と画面の比率 ratioX = double(windowSizeX) / imgSizeX ratioY = double(windowSizeY) / imgSizeY // アスペクト比を固定で、画像をバイキュービック法でリサイズ if ratioX > ratioY { cvresize ratioY * imgSizeX, windowSizeY, 0, CV_INTER_CUBIC } else { cvresize windowSizeX, ratioX * imgSizeY, 0, CV_INTER_CUBIC } // 再生ボタン // stat1=再生、stat2=一時停止、stat3=停止 repeat 3 objsize 64, 64 pos 570 + cnt*75, 570 button "", *slide_select btnimg cnt, 7, cnt*64, 0, 64, 64 loop //フェードイン用画面 buffer 1, 800, 650 cvgetimg 0, 0 // 画像を表示 //フェードイン処理 color 255 gsel 3 repeat 257 redraw 0 color : boxf gmode 3, , , cnt pos 0, 0 : gcopy 1, 0, 0, 800, 650 wait 1 redraw 1 loop wait 300 // 表示間隔を設定 //フェードアウト用画面 buffer 1, 800, 650 gcopy 3, 0, 0, 800, 650 //フェードアウト処理 gsel 3 repeat 257 redraw 0 color : boxf pos 0, 0 gmode 3, , , 256-cnt gcopy 1, 0, 0, 800, 650 wait 1 redraw 1 loop loop return /* スライドショーの再開処理 */ *slide_start return /* スライドショーの一時停止処理 */ *slide_pause stop /* ボタン押下時の処理 */ *slide_select if stat = 0 : flg == 0 : gosub *slide_start if stat = 1 : flg == 1 : gosub *slide_pause if stat = 2 : goto *top *top gsel 0 mes "停止しました" stop /* プログラムの終了処理 */ *exit // ウィンドウIDが0以外はウィンドウを非表示 if ginfo_act = 0 { end } else { gsel wparam, -1 }
ボタン押下時、*slide_selectに遷移した時点で、それぞれのstatは取得できているので、
あとはflgの設定をしなければならないのかとは思うのですが…
やりたいことは、スライド再生時、一時停止ボタン(*slide_pause)押下で一時停止を行い、
再生ボタン(*slide_start)押下時にスライド再生を再開することです。
どうぞよろしくお願い致します。