非公開 画面高画質化

    @@ -5,41 +5,43 @@ */ javascript:(function(){ - const d=document; - /* 1. 拡大率の定義(PCなら2.0〜3.0が適正) */ - const zoom = 2.5; + const d = document; + /* 1. 全体的なUIのクッキリ度を上げる(2倍程度が安全) */ + const UI_ZOOM = 2; + + /* 2. ゲームコンテナ全体の文字レンダリングを最適化 */ + const container = d.getElementById('game-container'); + if(container) { + Object.assign(container.style, { + webkitFontSmoothing: 'antialiased', + mozOsxFontSmoothing: 'grayscale', + textRendering: 'optimizeLegibility' + }); + } - /* 2. UI要素を一括で「本物のサイズ」へ書き換える */ - const rescale = (selector, baseWidth, baseHeight, baseFont) => { + /* 3. 各UI要素の「解像度」だけを上げる(zoomを使用) */ + /* zoomはscaleと違い、ブラウザがその倍率で文字を再描画します */ + const fixUI = (selector) => { const el = d.querySelector(selector); if(!el) return; Object.assign(el.style, { - width: (baseWidth * zoom) + 'px', - height: (baseHeight * zoom) + 'px', - fontSize: (baseFont * zoom) + 'px', - transform: 'rotate(-90deg)', /* 回転は維持 */ - scale: '1', /* ここでscaleを1(拡大なし)にするのがクッキリの秘訣 */ - borderWidth: (2 * zoom) + 'px' + zoom: UI_ZOOM, + /* zoomで大きくなった分、CSSの見た目上のサイズを半分にして相殺する */ + width: (parseFloat(getComputedStyle(el).width) / UI_ZOOM) + 'px', + transformOrigin: 'center center' }); }; - /* 各パーツの物理サイズを底上げ(元サイズ × zoom) */ - rescale('#minimap', 60, 60, 10); - rescale('.score-panel', 100, 40, 12); - rescale('#leaderboard', 120, 150, 11); - rescale('#mode-display', 200, 30, 14); - - /* 3. ボタンや入力欄もクッキリさせる */ - d.querySelectorAll('button, input, .modal-content').forEach(el => { - el.style.fontSize = (16 * zoom) + 'px'; - el.style.padding = (8 * zoom) + 'px'; - }); + /* 主要なUIに適用 */ + ['#minimap', '.score-panel', '#leaderboard', '#mode-display'].forEach(fixUI); - /* 4. Canvasのにじみ対策(レンダリングヒント) */ + /* 4. Canvas(ゲーム画面)のエッジを鋭くする */ const canvas = d.getElementById('gameCanvas'); if(canvas) { - canvas.style.imageRendering = 'pixelated'; /* 補完によるボヤけを防止 */ + /* アンチエイリアスを抑制し、PCモニターでパキッとさせる */ + canvas.style.imageRendering = '-webkit-optimize-contrast'; + canvas.style.imageRendering = 'crisp-edges'; } - alert('【UI高精細化】適用!\n虫眼鏡拡大を廃止し、フォントそのものを巨大化しました。'); + alert('【UI高精細化・安定版】\nレイアウトを維持したまま、再描画密度を上げました。'); })();
  • /*
     * @title 画面高画質化
     * @description ゲーム画面を高画質にし、PCなど大画面で遊んだ際のぼやけを小さくする
     * @private
     */
    
    javascript:(function(){
        const d = document;
        /* 1. 全体的なUIのクッキリ度を上げる(2倍程度が安全) */
        const UI_ZOOM = 2;
    
        /* 2. ゲームコンテナ全体の文字レンダリングを最適化 */
        const container = d.getElementById('game-container');
        if(container) {
            Object.assign(container.style, {
                webkitFontSmoothing: 'antialiased',
                mozOsxFontSmoothing: 'grayscale',
                textRendering: 'optimizeLegibility'
            });
        }
    
        /* 3. 各UI要素の「解像度」だけを上げる(zoomを使用) */
        /* zoomはscaleと違い、ブラウザがその倍率で文字を再描画します */
        const fixUI = (selector) => {
            const el = d.querySelector(selector);
            if(!el) return;
            Object.assign(el.style, {
                zoom: UI_ZOOM,
                /* zoomで大きくなった分、CSSの見た目上のサイズを半分にして相殺する */
                width: (parseFloat(getComputedStyle(el).width) / UI_ZOOM) + 'px',
                transformOrigin: 'center center'
            });
        };
    
        /* 主要なUIに適用 */
        ['#minimap', '.score-panel', '#leaderboard', '#mode-display'].forEach(fixUI);
    
        /* 4. Canvas(ゲーム画面)のエッジを鋭くする */
        const canvas = d.getElementById('gameCanvas');
        if(canvas) {
            /* アンチエイリアスを抑制し、PCモニターでパキッとさせる */
            canvas.style.imageRendering = '-webkit-optimize-contrast';
            canvas.style.imageRendering = 'crisp-edges';
        }
    
        alert('【UI高精細化・安定版】\nレイアウトを維持したまま、再描画密度を上げました。');
    })();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。