ひろばニュース|2026/03/20~2026/03/26号

みかん

今週のニュースです!新着などのお知らせだよ!

みかんの新着おんがく紹介|『タイムバトル』『悲愴』『ダークパルス』

ループ:◎
用途:Youtube動画向け、作業用向け、ゲーム・アプリ向け
時間:1分07秒
BPM:170
キー:Gm
ジャンル:みらい
楽器:シンセサイザー

フリーBGM『タイムバトル』はこちら!→https://mikanmusicsquare.com/time_battle/

みかん

今週はちょっとダークだったり悲しい系の曲が多かったです!ちなみに、『悲愴』と『ダークパルス』は、実は今週の木曜日に2曲まとめて出来たけど、ちょっと動画はつけ切れなかったので記事の埋め込みで紹介してます!

いろはの新着セットリスト|『カフェでまったり』×『シンク』
いろは

今週のセットリスト案のテーマは『生活感のあるチルさ』ですわ。このチル系のローファイBGMには、『シンク』みたいな生活の効果音がすごく合いますわね。

ことはのソースコード解説|『みかんのリズムスクエア』判定解説
function checkHit(lane) {
    if (!gameRunning || gamePaused) return;

    // ① タップした瞬間の「ゲーム内時間」を取得
  //★ここの『Performance.now()』がポイント!
    let hitTimeMs = performance.now() - gameStartTime;
    
    // ② まだ判定されていない、該当レーンのノーツを1つ探す
    const targetObj = notesOnScreen.find(n => n.data.lane == lane && !n.judged);
    if (!targetObj) return;

    // ③ 本来のタイミング(targetTimeMs)との「差」を計算(秒単位)
    const diff = Math.abs((hitTimeMs - targetObj.targetTimeMs) / 1000);
    
    // ④ 許容範囲(goodThreshold)外なら何もしない
    if (diff > goodThreshold) return;

    targetObj.judged = true;
    let judgment = 'Good';
    // ...中略...

    // ⑤ Perfect判定のしきい値(perfectThreshold)以内ならPerfect
    if (diff <= perfectThreshold) {
        judgment = 'Perfect';
        // ...スコア加算処理など...
    }
    
    // ...以下、エフェクト表示やノーツ消去など...
}

  //タップ/クリック時の判定と演出
 /★ここの『pointerdown』がポイント!
hitButtons.forEach(btn => {
    btn.addEventListener('pointerdown', (e) => {
        // デフォルト動作(スマホでの長押し選択やズームなど)を無効化
        e.preventDefault();
        
        const lane = e.currentTarget.dataset.lane;
        checkHit(lane);

//...以下タップ/クリック時の演出など...
ことは

『ひろば』ページにて展開されているブラウザゲーム『みかんのリズムスクエア』の判定ロジックがこちらです。下に箇条書きでこだわりポイントをまとめたので、リズムゲームを作りたい人はぜひ一度読んでみてください。

  • 超精密な時間計測: Date.now() ではなく、OSの時刻同期に左右されない performance.now() を使用。ページ読み込み時からの経過時間をマイクロ秒単位で計測するため、判定のズレが最小限に。
  • 最速のレスポンス: 離した瞬間に反応する click ではなく、触れた瞬間に発火(反応)する pointerdown を採用。スマホ特有の遅延(300ms)も回避し、ブラウザゲーム最高レベルの反応速度を実現。
タイトルとURLをコピーしました