feat(gameplay): 更新单位属性和材质配置 - 调整多个单位的基础生命值和攻击力数值平衡 - 修改CoreBattleGround材质的纹理缩放比例 - 更新地砖材质颜色为白色 - 优化纹理资源设置,调整最大纹理尺寸并添加PlayableAds平台支持 - 修复弓箭手技能目标查找逻辑,改用统一的敌人检测方法 - 为水晶矿添加中立阵营设置和光球视觉效果同步 - 调整预制体中的全局缩放参数 - 为狼人和石巨人添加NavMeshAgent组件支持 - 优化水晶矿血条显示位置计算方式 ```
132 lines
9.3 KiB
HTML
132 lines
9.3 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>召唤之战:双路与资源点布局</title>
|
|
<style>
|
|
:root { --bg:#101722; --panel:#182332; --ink:#e8eef5; --muted:#a9b6c5; --blue:#3da5ff; --red:#ff5c68; --road:#637386; --side:#d9a441; --bad:#da6870; --good:#54c48a; }
|
|
* { box-sizing:border-box; }
|
|
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
|
|
main { max-width:1100px; margin:0 auto; padding:32px 20px 56px; }
|
|
h1 { margin:0 0 8px; font-size:30px; }
|
|
h2 { margin:28px 0 10px; font-size:22px; }
|
|
p { margin:8px 0; color:var(--muted); }
|
|
.intro { margin-bottom:22px; }
|
|
.panel { background:var(--panel); border:1px solid #2c3a4c; border-radius:8px; padding:18px; margin-top:18px; }
|
|
.map-wrap { display:grid; grid-template-columns:minmax(0, 1fr) 260px; gap:18px; align-items:start; }
|
|
svg { display:block; width:100%; height:auto; background:#dce5d1; border-radius:6px; }
|
|
.legend { display:grid; gap:10px; color:var(--muted); font-size:14px; }
|
|
.legend div { display:flex; align-items:center; gap:8px; }
|
|
.swatch { width:25px; height:12px; border-radius:3px; display:inline-block; flex:0 0 auto; }
|
|
.swatch.main { background:var(--road); }
|
|
.swatch.side { background:var(--side); }
|
|
.swatch.blue { background:var(--blue); }
|
|
.swatch.red { background:var(--red); }
|
|
.good { border-left:4px solid var(--good); padding-left:12px; }
|
|
.warn { border-left:4px solid var(--bad); padding-left:12px; }
|
|
table { width:100%; border-collapse:collapse; margin-top:12px; }
|
|
th,td { text-align:left; padding:9px 10px; border-bottom:1px solid #304052; }
|
|
th { color:#fff; background:#223044; }
|
|
td { color:var(--muted); }
|
|
code { color:#ffd77a; }
|
|
@media (max-width:760px) { .map-wrap { grid-template-columns:1fr; } h1 { font-size:25px; } }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<h1>《召唤之战》双路与资源点布局</h1>
|
|
<p class="intro">这张图回答一个核心问题:<strong>资源点不是必经路上的收费站,而是主路旁边的可选目标。</strong></p>
|
|
|
|
<section class="panel">
|
|
<h2>推荐布局:两条主路 + 两个侧向资源支路</h2>
|
|
<div class="map-wrap">
|
|
<svg viewBox="0 0 700 900" role="img" aria-label="双路资源点布局俯视图">
|
|
<defs>
|
|
<marker id="arrowBlue" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#1976d2"/></marker>
|
|
<marker id="arrowRed" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#d83242"/></marker>
|
|
<marker id="arrowGold" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#a97909"/></marker>
|
|
</defs>
|
|
<rect x="22" y="22" width="656" height="856" rx="12" fill="#b9cba9" stroke="#73866d" stroke-width="3"/>
|
|
<text x="350" y="55" text-anchor="middle" font-size="18" font-weight="700" fill="#263728">敌方区域</text>
|
|
<text x="350" y="860" text-anchor="middle" font-size="18" font-weight="700" fill="#263728">我方区域</text>
|
|
|
|
<!-- two independent main roads -->
|
|
<path d="M205 790 L205 120" stroke="#415164" stroke-width="86" stroke-linecap="round"/>
|
|
<path d="M495 790 L495 120" stroke="#415164" stroke-width="86" stroke-linecap="round"/>
|
|
<path d="M205 790 L205 120 M495 790 L495 120" stroke="#7e8da0" stroke-width="4" stroke-dasharray="15 13"/>
|
|
<text x="205" y="475" text-anchor="middle" font-size="18" font-weight="700" fill="#fff" transform="rotate(-90 205 475)">左主路:可直接推向敌方城堡</text>
|
|
<text x="495" y="475" text-anchor="middle" font-size="18" font-weight="700" fill="#fff" transform="rotate(90 495 475)">右主路:可直接推向敌方城堡</text>
|
|
|
|
<!-- resource side pockets -->
|
|
<path d="M205 355 C155 355 115 350 82 315" fill="none" stroke="#d9a441" stroke-width="34" stroke-linecap="round"/>
|
|
<path d="M495 545 C545 545 585 550 618 585" fill="none" stroke="#d9a441" stroke-width="34" stroke-linecap="round"/>
|
|
<path d="M205 355 C155 355 115 350 82 315 M495 545 C545 545 585 550 618 585" fill="none" stroke="#ffe29a" stroke-width="3" stroke-dasharray="10 9"/>
|
|
|
|
<!-- resource nodes -->
|
|
<circle cx="70" cy="302" r="43" fill="#e8b94e" stroke="#895f0a" stroke-width="5"/>
|
|
<circle cx="630" cy="598" r="43" fill="#e8b94e" stroke="#895f0a" stroke-width="5"/>
|
|
<text x="70" y="298" text-anchor="middle" font-size="16" font-weight="700" fill="#3e2d08">水晶矿</text>
|
|
<text x="70" y="319" text-anchor="middle" font-size="13" fill="#3e2d08">可选目标</text>
|
|
<text x="630" y="594" text-anchor="middle" font-size="16" font-weight="700" fill="#3e2d08">混沌之门</text>
|
|
<text x="630" y="615" text-anchor="middle" font-size="13" fill="#3e2d08">可选目标</text>
|
|
|
|
<!-- castles -->
|
|
<rect x="145" y="755" width="120" height="70" rx="12" fill="#3189d7" stroke="#14558d" stroke-width="5"/>
|
|
<rect x="435" y="75" width="120" height="70" rx="12" fill="#e34b58" stroke="#962b35" stroke-width="5"/>
|
|
<text x="205" y="797" text-anchor="middle" font-size="18" font-weight="700" fill="#fff">我方城堡</text>
|
|
<text x="495" y="117" text-anchor="middle" font-size="18" font-weight="700" fill="#fff">敌方城堡</text>
|
|
|
|
<!-- blue / red direct routes -->
|
|
<path d="M205 745 L205 160" fill="none" stroke="#1976d2" stroke-width="5" marker-end="url(#arrowBlue)"/>
|
|
<path d="M495 155 L495 740" fill="none" stroke="#d83242" stroke-width="5" marker-end="url(#arrowRed)"/>
|
|
<!-- optional resource routes -->
|
|
<path d="M175 705 C135 600 115 425 78 340" fill="none" stroke="#a97909" stroke-width="4" stroke-dasharray="12 8" marker-end="url(#arrowGold)"/>
|
|
<path d="M525 195 C565 300 585 475 622 560" fill="none" stroke="#a97909" stroke-width="4" stroke-dasharray="12 8" marker-end="url(#arrowGold)"/>
|
|
<text x="94" y="520" font-size="14" font-weight="700" fill="#6c5009" transform="rotate(-78 94 520)">主动去争夺资源点</text>
|
|
<text x="607" y="390" font-size="14" font-weight="700" fill="#6c5009" transform="rotate(78 607 390)">主动去争夺资源点</text>
|
|
|
|
<!-- labels -->
|
|
<rect x="285" y="420" width="130" height="60" rx="8" fill="#eef4e9" stroke="#80947b"/>
|
|
<text x="350" y="445" text-anchor="middle" font-size="15" font-weight="700" fill="#2b3b2a">中间留出</text>
|
|
<text x="350" y="466" text-anchor="middle" font-size="15" font-weight="700" fill="#2b3b2a">独立战斗空间</text>
|
|
</svg>
|
|
<div class="legend">
|
|
<div><span class="swatch main"></span><span><strong>深灰色:</strong>两条主路。单位可以完全绕过资源点,直接推敌方城堡。</span></div>
|
|
<div><span class="swatch side"></span><span><strong>黄色:</strong>资源支路。只有玩家把目标指向资源点时,单位才会走这里。</span></div>
|
|
<div><span class="swatch blue"></span><span><strong>蓝箭:</strong>我方从下向上推进。</span></div>
|
|
<div><span class="swatch red"></span><span><strong>红箭:</strong>敌方从上向下推进。</span></div>
|
|
<div class="good"><strong>核心:</strong>两条主路不交叉,双方不会因为去资源点而必然汇合。</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="panel">
|
|
<h2>单位有两种选择</h2>
|
|
<table>
|
|
<thead><tr><th>玩家目标</th><th>单位实际路线</th><th>结果</th></tr></thead>
|
|
<tbody>
|
|
<tr><td>敌方城堡</td><td>沿左主路或右主路直走</td><td>直接推进,不经过资源点</td></tr>
|
|
<tr><td>水晶矿</td><td>从左主路入口转入侧向支路</td><td>争夺能量收益,占领后再决定是否回主路</td></tr>
|
|
<tr><td>混沌之门</td><td>从右主路入口转入侧向支路</td><td>争夺自动出兵收益,占领后再决定是否回主路</td></tr>
|
|
<tr><td>途中遇到敌军</td><td>只在近距离视野内拦截</td><td><code>detectionRange = 8</code>,不会隔很远跨路追击</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
|
|
<section class="panel">
|
|
<h2>不要采用的布局</h2>
|
|
<p class="warn"><strong>资源点放在主路正中央:</strong>所有单位都必须经过资源点,资源点会变成必争的收费站,玩家无法选择速攻主城。</p>
|
|
<p class="warn"><strong>两条路在中央重新合并:</strong>即使起点分成左右两路,单位最终仍会在合流处相遇,分兵只是视觉上的分路。</p>
|
|
<p class="warn"><strong>两个资源点分别贴近己方城堡:</strong>双方到达时间不对称,资源点会天然属于距离更近的一方。</p>
|
|
</section>
|
|
|
|
<section class="panel">
|
|
<h2>推荐的 Unity 落地规则</h2>
|
|
<p>先做两条互不交叉的 NavMesh 主路。资源点放在主路外侧的凹袋中,各自连接一条短支路。支路入口与敌方主路保持足够距离,避免资源点支路直接变成双方必经的交叉口。</p>
|
|
<p>资源点占领后,单位可以回到主路,也可以继续攻击城堡。第一版不需要做复杂的路口优先级,只要保证三件事:<strong>主路能绕过、支路可选择、两条主路不交叉</strong>。</p>
|
|
</section>
|
|
</main>
|
|
</body>
|
|
</html>
|