Merge pull request '素材' (#16) from why_ga into main
Reviewed-on: #16
This commit was merged in pull request #16.
This commit is contained in:
@@ -6,35 +6,35 @@
|
||||
<field name="code">road_auto</field><field name="name">道路</field>
|
||||
<field name="category">road</field><field name="icon">assets/roads/5.png</field>
|
||||
<field name="footprint_w">1</field><field name="footprint_h">1</field><field name="sequence">5</field>
|
||||
<field name="cost_gold">1</field>
|
||||
<field name="cost_gold">0</field>
|
||||
<field name="terrains">["plain","forest"]</field>
|
||||
</record>
|
||||
<record id="bi_road_t" model="yt.world.build.item">
|
||||
<field name="code">road_t</field><field name="name">T字路口</field>
|
||||
<field name="category">road</field><field name="icon">assets/roads/1.png</field>
|
||||
<field name="footprint_w">1</field><field name="footprint_h">1</field><field name="sequence">10</field>
|
||||
<field name="cost_gold">1</field>
|
||||
<field name="cost_gold">0</field>
|
||||
<field name="terrains">["plain","forest"]</field>
|
||||
</record>
|
||||
<record id="bi_road_cross" model="yt.world.build.item">
|
||||
<field name="code">road_cross</field><field name="name">十字路口</field>
|
||||
<field name="category">road</field><field name="icon">assets/roads/2.png</field>
|
||||
<field name="footprint_w">1</field><field name="footprint_h">1</field><field name="sequence">20</field>
|
||||
<field name="cost_gold">1</field>
|
||||
<field name="cost_gold">0</field>
|
||||
<field name="terrains">["plain","forest"]</field>
|
||||
</record>
|
||||
<record id="bi_road_corner" model="yt.world.build.item">
|
||||
<field name="code">road_corner</field><field name="name">弯道</field>
|
||||
<field name="category">road</field><field name="icon">assets/roads/4.png</field>
|
||||
<field name="footprint_w">1</field><field name="footprint_h">1</field><field name="sequence">30</field>
|
||||
<field name="cost_gold">1</field>
|
||||
<field name="cost_gold">0</field>
|
||||
<field name="terrains">["plain","forest"]</field>
|
||||
</record>
|
||||
<record id="bi_road_straight" model="yt.world.build.item">
|
||||
<field name="code">road_straight</field><field name="name">直路</field>
|
||||
<field name="category">road</field><field name="icon">assets/roads/5.png</field>
|
||||
<field name="footprint_w">1</field><field name="footprint_h">1</field><field name="sequence">40</field>
|
||||
<field name="cost_gold">1</field>
|
||||
<field name="cost_gold">0</field>
|
||||
<field name="terrains">["plain","forest"]</field>
|
||||
</record>
|
||||
<!-- 地面 -->
|
||||
|
||||
+2
-33
@@ -526,14 +526,6 @@ body { background: #0a0e17; overflow: hidden; font-family: 'Microsoft YaHei', sa
|
||||
#loadingScreen .loadBar { flex: 1; max-width: none; height: 12px; background: rgba(255,255,255,0.1); border-radius: 6px; overflow: hidden; }
|
||||
#loadingScreen .loadFill { height: 100%; width: 0%; background: linear-gradient(90deg, #4af, #a8e6cf); border-radius: 6px; transition: width 0.3s; }
|
||||
#loadingScreen .loadPct { font-size: 20px; color: #4af; font-variant-numeric: tabular-nums; letter-spacing: 1px; }
|
||||
#loadingScreen .loadTip {
|
||||
position: absolute; bottom: 10vh; left: 32px;
|
||||
font-size: 20px; color: #a8b8c8; max-width: 460px; text-align: left;
|
||||
line-height: 1.6; min-height: 50px; transition: opacity 0.35s; opacity: 1;
|
||||
padding: 12px 18px; border-left: 2px solid rgba(74,170,255,0.5);
|
||||
background: rgba(20,28,42,0.5); border-radius: 0 6px 6px 0;
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
|
||||
/* 单位详情弹窗 */
|
||||
#unitModal {
|
||||
@@ -882,7 +874,6 @@ body { background: #0a0e17; overflow: hidden; font-family: 'Microsoft YaHei', sa
|
||||
<!-- 加载界面 -->
|
||||
<div id="loadingScreen">
|
||||
<img class="loadBg" id="loadBg" alt="">
|
||||
<div class="loadTip" id="loadTip"></div>
|
||||
<div class="loadLine">
|
||||
<div class="loadBar"><div class="loadFill" id="loadFill"></div></div>
|
||||
<div class="loadPct" id="loadPct">0%</div>
|
||||
@@ -1306,7 +1297,7 @@ body { background: #0a0e17; overflow: hidden; font-family: 'Microsoft YaHei', sa
|
||||
|
||||
<script>
|
||||
// ============ 配置 ============
|
||||
const MAP_RADIUS = 2; // 主世界六边形半径:比原始(3)缩小一圈,最外层锁定为边界环
|
||||
const MAP_RADIUS = 1; // 主世界六边形半径:再缩小一圈;可编辑区域为 ring 0~1,ring=MAP_RADIUS+1 锁定为边界环
|
||||
// 轴向(q,r)对应的六边形环号(到中心距离),用于判定是否在 MAP_RADIUS 内
|
||||
function hexRing(q, r) { return Math.max(Math.abs(q), Math.abs(r), Math.abs(-q - r)); }
|
||||
const POLY_SIZE = 36; // 六边形基础尺寸(屏幕 px @ zoom=1),原 52 缩小使网格更紧凑
|
||||
@@ -1904,7 +1895,7 @@ const MICRO_BUILD_CATS = [
|
||||
{ id: 'nature', name: '自然' },
|
||||
];
|
||||
const MICRO_BUILD_ITEMS = [
|
||||
{ id: 'road_auto', cat: 'road', icon: 'assets/roads/5.png', name: '道路', autoRoad: true, costGold: 1 },
|
||||
{ id: 'road_auto', cat: 'road', icon: 'assets/roads/5.png', name: '道路', autoRoad: true, costGold: 0 },
|
||||
{ id: 'road_t', cat: 'road', icon: 'assets/roads/1.png', name: 'T字路口', hidden: true },
|
||||
{ id: 'road_cross', cat: 'road', icon: 'assets/roads/2.png', name: '十字路口', hidden: true },
|
||||
{ id: 'road_corner', cat: 'road', icon: 'assets/roads/4.png', name: '弯道', hidden: true },
|
||||
@@ -6951,36 +6942,14 @@ function init() {
|
||||
// 加载动画:真实等待地形贴图全部解码完毕,再隐藏加载屏并启动渲染(预加载闸门,杜绝渐进 pop-in)
|
||||
const loadFill = document.getElementById('loadFill');
|
||||
const loadPct = document.getElementById('loadPct');
|
||||
const loadTip = document.getElementById('loadTip');
|
||||
const loadBg = document.getElementById('loadBg');
|
||||
if (loadBg) loadBg.src = pickTransitionImage();
|
||||
// 随机游戏小提示(兼作无声引导,循环轮换)
|
||||
const TIPS = [
|
||||
'💡 拖拽空白处可平移视角,滚轮缩放沙盘',
|
||||
'💡 滚轮飞入地块,进入微观村落看看居民',
|
||||
'💡 建造模式下可绘制地形,重塑世界地貌',
|
||||
'💡 按住地块拖动,可与相邻地块交换地貌',
|
||||
'💡 右上角时钟在自动流转昼夜,世界随时不同',
|
||||
'💡 五层世界:星空 / 天空 / 大地 / 地下 / 地心',
|
||||
'💡 你的建造会自动存档,下次回来世界仍在',
|
||||
'💡 切换世界标签,俯瞰同一坐标的不同层级',
|
||||
'💡 微观世界左键拖动可切换相邻地块',
|
||||
'💡 微观世界滚轮缩放、右键拖拽平移'
|
||||
];
|
||||
let tipIdx = Math.floor(Math.random() * TIPS.length);
|
||||
loadTip.textContent = TIPS[tipIdx];
|
||||
const tipTimer = setInterval(() => {
|
||||
tipIdx = (tipIdx + 1) % TIPS.length;
|
||||
loadTip.style.opacity = '0';
|
||||
setTimeout(() => { loadTip.textContent = TIPS[tipIdx]; loadTip.style.opacity = '1'; }, 350);
|
||||
}, 2800);
|
||||
const loadStart = Date.now();
|
||||
loadTerrainAssets(p => {
|
||||
const pct = Math.round(p * 100);
|
||||
loadFill.style.width = pct + '%';
|
||||
loadPct.textContent = pct + '%';
|
||||
}).then(() => {
|
||||
clearInterval(tipTimer);
|
||||
loadFill.style.width = '100%';
|
||||
loadPct.textContent = '100%';
|
||||
// 加载屏至少停留 1 秒:确保主世界元素(地形贴图/居民/建筑)完全就绪再进入,快机也不闪屏
|
||||
|
||||
Reference in New Issue
Block a user