109 lines
3.4 KiB
HTML
109 lines
3.4 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>NS Unknown Game 地图编辑器</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
</head>
|
|
<body>
|
|
<header class="app-header">
|
|
<div>
|
|
<h1>地图编辑器</h1>
|
|
<p>编辑游戏运行时使用的 Frostbite2D .map 文本地图。</p>
|
|
</div>
|
|
<div class="header-actions">
|
|
<button id="loadSampleButton" type="button">加载 stage_01.map</button>
|
|
<label class="file-button">
|
|
打开 .map
|
|
<input id="fileInput" type="file" accept=".map,text/plain">
|
|
</label>
|
|
<button id="downloadButton" type="button">下载 .map</button>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="editor-shell">
|
|
<aside class="panel left-panel">
|
|
<section>
|
|
<h2>地图</h2>
|
|
<div class="field-grid">
|
|
<label>
|
|
地图 ID
|
|
<input id="mapIdInput" type="text">
|
|
</label>
|
|
<label>
|
|
世界宽
|
|
<input id="worldWidthInput" type="number" step="1">
|
|
</label>
|
|
<label>
|
|
世界高
|
|
<input id="worldHeightInput" type="number" step="1">
|
|
</label>
|
|
<label>
|
|
网格
|
|
<input id="gridSizeInput" type="number" step="1" min="1" value="10">
|
|
</label>
|
|
<label>
|
|
编辑目标
|
|
<select id="hitFilterInput">
|
|
<option value="collision">碰撞块</option>
|
|
<option value="all">全部对象</option>
|
|
<option value="tile">铺砖区</option>
|
|
<option value="zone">战斗区</option>
|
|
<option value="spawn">出生点</option>
|
|
<option value="rect">场景矩形</option>
|
|
</select>
|
|
</label>
|
|
</div>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>新增</h2>
|
|
<div class="button-grid">
|
|
<button id="addTilesetButton" type="button">图块集</button>
|
|
<button id="addLayerButton" type="button">图层</button>
|
|
<button id="addCollisionButton" type="button">碰撞块</button>
|
|
<button id="addTileRectButton" type="button">铺砖区</button>
|
|
<button id="addBattleZoneButton" type="button">战斗区</button>
|
|
<button id="addSpawnButton" type="button">出生点</button>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="object-section">
|
|
<h2>对象</h2>
|
|
<div id="objectList" class="object-list"></div>
|
|
</section>
|
|
</aside>
|
|
|
|
<section class="canvas-panel">
|
|
<div class="toolbar">
|
|
<span id="statusText">就绪</span>
|
|
<span id="viewText"></span>
|
|
</div>
|
|
<canvas id="mapCanvas" width="1280" height="720"></canvas>
|
|
</section>
|
|
|
|
<aside class="panel right-panel">
|
|
<section>
|
|
<h2>选中对象</h2>
|
|
<div id="selectionSummary" class="selection-summary">未选择对象。</div>
|
|
<div id="propertyPanel" class="property-panel"></div>
|
|
<button id="deleteButton" type="button" class="danger-button">删除选中对象</button>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>图块集</h2>
|
|
<div id="tilesetList" class="tileset-list"></div>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>导出文本</h2>
|
|
<textarea id="outputText" spellcheck="false"></textarea>
|
|
</section>
|
|
</aside>
|
|
</main>
|
|
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|