こんな感じでいかがでしょうか?
#include "winmm.as"
#const DAYSHIFTVAL 3 // 日付をシフトする際にキーを押す回数
#const DAYSHIFTVALM1 DAYSHIFTVAL-1
time=0
gsel 0,2
title "stickに対応するキーを押した際に日付変更"
*@
// 現在のシステム時間を取得
timeGetTime
ctime = stat^(stat&0x80000000)// timeGetTime の戻り値を hsp で演算できるように 符号なし整数(精度1/2)に変換する
// キー入力
// 主にここで日付と時間の操作を行います
stick key
if(key){
// キーが押された場合
if(time==DAYSHIFTVALM1){
day++ // 日付を変更
dayshift = ctime // 日付が変更されたシステム時刻を記録
}
// time が DAYSHIFTVALM1 で有った場合日付を変更
time=(time+1)\DAYSHIFTVAL // timeの 値を 0~DAYSHIFTVALM1 の範囲でループさせる
keyin = ctime // キーが入力されたシステム時刻を記録
}
// 描画開始
redraw 0
color:boxf
font msGothic,calctimeframe(dayshift+1500,32,96),2 // フォント サイズを 32 〜 96 の間に丸める。
color 255,255,255:pos 0,0:mes strf("%d 日",day)
tf = calctimeframe(keyin+1000,0,ginfo_winy-(300))
if(tf){
color 255,255,255
pos 0,ginfo_winy+24-tf
logmes ""+ginfo_cy
font msGothic,24,2
mes strf("%d 時刻区分",time)
}
redraw
await 32
goto*@b
#defcfunc calctimeframe int time_ , int min_ , int big_
return limit(time_-ctime,min_,big_)