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:
wanghaoyang
2026-09-02 10:24:22 +08:00
2 changed files with 7 additions and 38 deletions
+5 -5
View File
@@ -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
View File
@@ -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 秒:确保主世界元素(地形贴图/居民/建筑)完全就绪再进入,快机也不闪屏