ゲーム進行関数

関数詳細
初期化専用
hdxSysSetTouchArea( tid,x,y,w,h ) 画面内の各オブジェクトのタッチ位置とサイズを設定する。
この関数はOnInitSystem()内でのみ使用可能。
※実行時のゲーム画面のスケール値は考慮する必要無し
※幅または高さどちらかが0以下の場合は、そのオブジェクトのタッチ判定は行われない
 tid : タッチID
 x,y : デザイン上での位置
 w,h : デザイン上でのサイズ
ゲーム進行
hdxNextScene() 現在のシーンを終わらせて次のシーンへ遷移する。
遷移不可の状態の場合は無視される。
hdxStartDemoTimer() タイトル画面でデモが始まるまでのカウントを開始する。
デモはこの関数を呼び出した時間から、設定された時間経過すると開始される。
※hdxStopDemoTimer()を呼び出した後に再度この関数を呼び出した場合は、再度デモカウンタがリセットされカウントが再び開始される
hdxStopDemoTimer() タイトル画面でデモまでのカウントを停止する。
これが呼び出されるとデモは開始されなくなる。
hdxOpenLoginFrame() ログインフレームアニメを開始する。
※既に開始している場合や、ログイン画面ではない場所では無視される
hdxDrawLoginFrame( frm_color ) ログイン画面上でログインフレームを表示する。
※ログイン・プレイモードステート以外では無視される
 frm_color : フレームの色(ARGB)
hdxEnablePlayMode() プレイモードの選択処理を許可する。
tbl = hdxIsSupportedGameMode() 現在使用可能なゲームモードのリストを返す。
使用可能ならTRUEが入る。
※ログイン画面以降でなければ全てFALSEが設定される
tbl : "beginner"
    "standard"
    "expert"
    "class"
    "free"
hdxEnableGameMode() ゲームモードの選択処理を許可する。
hdxSetListInfo(
 x1,x2,
 off_x,off_y,
 list_h,
 font,size,color1,color2,
 edge,color3 )
リスト選択の未選択時と選択時のX位置と、1つのリストの高さを指定する。
ここで指定された値を利用してリストのスクロール処理が行われる。
 x1    : 未選択時のX座標(def=780)
 x2    : 選択時のX座標(def=746)
 off_x   : タイトル名のXオフセット(def=80)
 off_y   : タイトル名のYオフセット(def=-17)
 list_h   : 1つのリストの高さ(def=38)
 font   : フォント名(空文字の場合は設定ファイルから取得)
 size   : フォントサイズ(0以下の場合は設定ファイルから取得)
 color1  : 文字列上部の色(def=0xFFFFFFFF)
 color2  : 文字列下部の色(def=0xFFFFA5FF)
 edge   : ふちの太さ(0の場合はふちは付かない/def=2)
 color3  : ふちの色(def=0xFF000000)
hdxEnableMusicSelect() 曲の選択を許可する。
hdxDrawMusicList() 曲リストを表示する。
hdxSetListInfo()で設定した位置とサイズから自動的に表示領域が算出される。
※現在のレンダーターゲットに描画される
tbl = hdxGetUserInfo() ログインしたユーザー情報を取得する。
※ログインしていない場合は全て空文字もしくは0が入る
 tbl : "userid" ユーザーID
    "nickname" ニックネーム
    "point" 現在のポイント
tbl = hdxGetGameInfo() 現在のゲーム状態を返す。
※モードにより該当するオプションが異なるため、必ず現在のプレイモードやゲームモードを確認して表示すること
 tbl : "login"        ログイン中か(0=未ログイン、1=ログイン済み)
     "pmode"       プレイモード
                  PLAYMODE_SINGLE_1P : シングル1P
                  PLAYMODE_SINGLE_2P : シングル2P
                  PLAYMODE_DOUBLE  : ダブル
     "gmode"       ゲームモード
                  GAMEMODE_BEGINNER : BEGINNER
                  GAMEMODE_STANDARD : STANDARD
                  GAMEMODE_EXPERT   : EXPERT
                  GAMEMODE_CLASS   : 段位認定
                  GAMEMODE_FREE    : フリー
     "demo"        デモンストレーションか
                  FALSE : 通常ゲーム
                  TRUE  : デモ
     "stage"        ステージ番号(現状BEGINNER、STANDARD、FREEモードのみ有効)
     "download"      通信プレイ時で曲リストや曲データのDL中か
                  (TRUEの場合はDLインジケーターなどを表示する)
     "opt_shuffle_1P"   1P側配置変更(OPTSHUFFLE_*****)
     "opt_shuffle_2P"   2P側配置変更(OPTSHUFFLE_*****)
     "opt_difficult"    難しさ(OPTDIFFICULT_NORMAL、OPTDIFFICULT_EASY、OPTDIFFICULT_HARD)
     "opt_cover"     レーンカバー
                 (OPTCOVER_NO、OPTCOVER_SUDDEN、OPTCOVER_HIDDEN、OPTCOVER_HIDSUD、OPTCOVER_LIFT、OPTCOVER_LIFTSUD)
     "opt_assist"     アシスト(OPTASSIST_NORMAL=無し、OPTASSIST_AUTO_SCRATCH=オートスクラッチ、OPTASSIST_AUTO_PLAY=オートプレイ)
     "opt_double"     ダブル時の拡張オプション(0=NORMAL、1=FLIP、2=DOUBLE BATTLE)
     "opt_speed"     スクロールスピード(倍)
tbl = hdxGetIsSupportedOption() 現在使用可能なオプションの状態を返す。
プレイモードやゲームモードにて変化し、使用可能時はTRUE、不可能な場合はFALSEが入る。
※まだモードが確定していない場合は全てFALSEが入る
tbl : "shuffle_1P"    1P側配置の変更が可能か
    "shuffle_2P"    2P側配置の変更が可能か
    "difficult"     難しさの変更が可能か
    "cover"      レーンカバーの変更が可能か
    "assist"      アシストの変更が可能か
    "double"      ダブル時の拡張オプションが変更が可能か
    "speed"       スクロールスピードの変更が可能か
tbl = hdxGetCourseList( id ) リストIDからコース内の曲リストテーブルを返す。
※リストがコース曲でなければ曲数は0が返る
 tbl : "count" リスト内に含まれる曲の数
    "title0","level0          1つ目の曲情報
         :
    "title<count-1>","level<count-1>" 最後の曲情報
 id : リストID
hdxStartLoading() ゲームデータのロードを開始する。
tbl = hdxGetGameData() 進行中のゲームパラメータ情報を返す。
※OnGameLoading()のLOADEVENT_BMS_SUCCESSイベント以降でなければ正しい値ではない
 tbl : "level"        レベル
    "type"         タイトル画像が存在するか(0=画像無し、1=#STAGEFILE画像あり、2=#BACKBMP画像あり)
    "title"         タイトル名(UTF8)
    "genre"        ジャンル名(UTF8)
    "artist"         アーティスト名(UTF8)
    "game_bpm"      現在のテンポ値
    "game_gauge"     現在のゲージ(%)
    "game_gauge_meter" 現在のゲージの個数(0~50)
    "game_score"     現在のスコア(表示用にカウントアップアニメあり)
    "game_exscore"    現在のEXスコア
    "game_max_exscore" この曲の最大EXスコア
    "game_combo"     現在のコンボ数
    "game_maxcombo"   現在の最大コンボ数
    "game_totalnotes"   ゲームのオブジェ数
    "game_pkgreat"    現在のピカグレートの数
    "game_great"     現在のグレートの数
    "game_good"     現在のグッドの数
    "game_bad"      現在のバッドの数
    "game_poor"     現在のプアの数
    "game_jadge"     現在の判定値(0=AAA、1=AA、2=A、3=B、4=C、5=D、6=E、7=F)
    "game_progress"   ゲームの進行度(0.0~1.0)
tbl = hdxGetCoverInfo() ゲーム中のレーンカバーの詳細情報を返す。
 tbl : "num_green"            現在の緑数字(カバー無し時も参照可)
    "num_green_ms"           現在の表示ミリ秒(カバー無し時も参照可)
    "lift_offset"              LIFT系オプション時の上昇ピクセル数(LIFT系以外は常に0)
    "cover_top_x1"、"cover_top_y1"   上部レーンカバーの1Pの左上座標
    "cover_top_x2"、"cover_top_y2"   上部レーンカバーの2Pの左上座標
    "cover_top_num_white"        上部レーンカバーの現在の白数字
    "cover_under_x1"、"cover_under_y1" 下部レーンカバーの1Pの左上座標
    "cover_under_x2"、"cover_under_y2" 下部レーンカバーの2Pの左上座標
    "cover_under_num_white"       下部レーンカバーの現在の白数字
tbl = hdxGetConfig() 現在のシステム設定情報を返す。
 tbl : "app_version"    ゲームシステムバージョン文字列
    "sound_plugin"    使用中のサウンドプラグイン文字列
    "input_plugin"    使用中の外部入力プラグイン文字列(未使用時は空文字)
    "bga_mode"      BGAモード(0=常に100%、1=上中心原点100%、2=上中心原点80%)
    "width"        表示画面サイズ(幅)
    "height"       表示画面サイズ(高さ)
    "bit"         画面のビット数(フルスクリーンの場合に有効)
    "fullscreen"     フルスクリーンか(FALSE=ウィンドウ、TRUE=フルスクリーン)
    "effect"        エフェクトのON/OFF状態
    "effect_reverb"   リバーブの効き具合(0~100/エフェクトON時のみ有効)
    "effect_echo"    エコーの効き具合(0~100/エフェクトON時のみ有効)
    "effect_eq_100"~  100,400,1000,8000,16000Hz付近のそれぞれのゲイン(-15.0~+15.0)
     "effect_eq_16000"
    "master_volume"   全体の音量(0~100)
    "equalizer_api"    イコライザAPIが使用可能か
    "long_mode"     ロングモード
      ※青色の項目はゲームプレイ時のBMS解析により変更される場合ある
hdxDrawTitle( x,y,w,h,alpha ); #STAGEFILEか#BACKBMPが存在する場合は、その画像をタイトル画像として表示する。
タイトル画像が存在しない場合は何もしない。
 x,y : 左上表示座標
 w,h : 表示サイズ
 alpha : アルファ値
hdxStartGame() BMSのロードが全て完了し、準備完了状態で呼び出すことでゲームを開始する。
※OnGameLoading()にてLOADEVENT_COMPLETEが通知されたあとで有効
ret = hdxDrawBga( x,y,w,h,alpha ) BGAを任意の位置とサイズで描画する。
※この関数にて通常の背景とレイヤー画像(あれば)が同時に描画されるため、アルファを指定すると両方が透けてしまう
※BGAはここで指定したサイズ内に収まるように自動的にスケーリングされるため、
 手動でhdxGetConfig()からBGA設定を取得してサイズを調整する必要はない
ret : 設定されているか(0=BGAがまだ無い、1=静止画BGA、2=動画BGA)
 x,y : 左上表示座標
 w,h : 表示サイズ
 alpha : アルファ値
tbl = hdxGetResult() 今回のゲームの結果を返す。
 tbl : "title"                   タイトル名(UTF8)
    "genre"                  ジャンル名(UTF8)
    "artist"                  アーティスト名(UTF8)
    "clear"                  クリアしたか(FALSE=ゲームオーバー、TRUE=クリア)
    "fullcombo"                フルコンボしたか(FALSE=フルコンボではない、TRUE=フルコンボ)
    "gauge"                  今回の最終ゲージ(%)
    "score"                  今回のスコア
    "exscore"                 今回のEXスコア
    "maxcombo"                今回の最大コンボ数
    "pkgreat"                 今回のピカグレートの数
    "great"                  今回のグレートの数
    "good"                  今回のグッドの数
    "bad"                   今回のバッドの数
    "poor"                  今回のプアの数
    "rank"                  今回のランク(0=AAA、1=AA、2=A、3=B、4=C、5=D、6=E、7=F)
    "best_exscore"              今までのベストEXスコア
    "best_rank"                今までのベストランク(0=AAA、1=AA、2=A、3=B、4=C、5=D、6=E、7=F)
    "max_exscore"               この曲の最大EXスコア
    "total_notes"               この曲のオブジェ数
    "total_exscore"              今までのトータルEXスコア(全ステージの合計)
    "target_exscore"             ターゲットのEXスコア(現状は常に0)
    "target_rank"               ターゲットのランク(0=AAA、1=AA、2=A、3=B、4=C、5=D、6=E、7=F/現状は常に7)
    "current_ranking"             今回の順位(EXPERT以外なら常に0/※1以上かで順位の表示・非表示の判定が可能)
    "add_point"                今回加算されたポイント数
    "ranking_count"              順位リストの最大数(0~10)
    "ranking_num0"~"ranking_num9"       順位リストの順位番号
    "ranking_nickname0"~"ranking_nickname9"  順位リストの各順位のニックネーム
    "ranking_exscore0"~"ranking_exscore9"   順位リストの各順位のトータルEXスコア値
hdxDrawResultGraph(
 type,
 x,y,w,h,
 prog,
 style,
 size,
 color1,
 color2 )
システムのライン描画エンジンを使用して、指定のエリア内に指定の割合でグラフを表示する。
※グラフが徐々に伸びていくようにするにはprogを0.0~1.0にアニメーションさせる
 type : グラフタイプ(GRAPHTYPE_GAUGE、GRAPHTYPE_EXSCORE、GRAPHTYPE_BEST_EXSCORE、GRAPHTYPE_TARGET_EXSCORE)
 x,y,w,h : 表示する左上の座標とサイズを指定(100%表示したときのサイズ)
 prog : 表示する進行度を指定(0~1)
 style : スタイル(0=円、1=四角)
 size : 描画サイズ
 color1 : 80%未満のライン表示に使用する色(HARDやEXPERT時、EXゲージ時のグラフは無視)
 color2 : 80%以上のライン表示に使用する色(HARDやEXPERT時、EXゲージ時のグラフは常にこの色で表示する)
hdxDrawResultGraph2(
 type,
 x,y,w,h,
 prog,
 id1,
 id2 )
hdxSetPutRange()に定義した独自画像を使用し、指定のエリア内に指定の割合でグラフを表示する。
※グラフが徐々に伸びていくようにするにはprogを0.0~1.0にアニメーションさせる
 type : グラフタイプ(GRAPHTYPE_GAUGE、GRAPHTYPE_EXSCORE、GRAPHTYPE_BEST_EXSCORE、GRAPHTYPE_TARGET_EXSCORE)
 x,y,w,h : 表示する左上の座標とサイズを指定(100%表示したときのサイズ)
 prog : 表示する進行度を指定(0~1)
 id1 : 80%未満のライン表示に使用する画像ID(HARDやEXPERT時、EXゲージ時のグラフは無視)
 id2 : 80%以上のライン表示に使用する画像ID(HARDやEXPERT時、EXゲージ時のグラフは常にこの色で表示する)
tbl = hdxGetCourseResult() 今回のコースの結果を返す。
 tbl : "title"                   コース名(UTF8)
    "clear"                   クリアしたか(0=ゲームオーバー、1=クリア)
    "total_exscore"               トータルEXスコア
    "pkgreat"                  コース内の曲全てのピカグレートの合計数
    "great"                   コース内の曲全てのグレートの合計数
    "good"                    コース内の曲全てのグッドの合計数
    "bad"                    コース内の曲全てのバッドの合計数
    "poor"                    コース内の曲全てのプアの合計数
    "rank"                    コース判定値(0=AAA、1=AA、2=A、3=B、4=C、5=D、6=E、7=F)
    "total_notes"                 コース内の曲のトータルオブジェ数
    "current_ranking"               今回の順位
    "ranking_count"                順位リストの最大数(0~10)
    "ranking_num0"~"ranking_num9"       順位リストの順位番号
    "ranking_nickname0"~"ranking_nickname9"  順位リストの各順位のニックネーム
    "ranking_exscore0"~"ranking_exscore9"    順位リストの各順位のトータルEXスコア値