2026-05-10 13:12:44 +08:00

111 lines
5.8 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HoloLake 动态漫制作系统 - 环节6</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container">
<h1>🎬 HoloLake 动态漫制作系统</h1>
<!-- 主布局容器 -->
<div class="main-layout">
<!-- 左侧素材面板 -->
<div class="left-panel">
<h3>📦 素材库</h3>
<h3>角色</h3>
<div class="material-grid">
<div class="material-item" draggable="true" data-type="character" data-emoji="😊">😊 开心</div>
<div class="material-item" draggable="true" data-type="character" data-emoji="😢">😢 难过</div>
<div class="material-item" draggable="true" data-type="character" data-emoji="😠">😠 生气</div>
<div class="material-item" draggable="true" data-type="character" data-emoji="😴">😴 睡觉</div>
</div>
<h3>物品</h3>
<div class="material-grid">
<div class="material-item" draggable="true" data-type="item" data-emoji="🌸">🌸 花</div>
<div class="material-item" draggable="true" data-type="item" data-emoji="⭐">⭐ 星星</div>
<div class="material-item" draggable="true" data-type="item" data-emoji="💎">💎 宝石</div>
<div class="material-item" draggable="true" data-type="item" data-emoji="📖">📖 书</div>
</div>
<h3>场景</h3>
<div class="material-grid">
<div class="material-item" draggable="true" data-type="background" data-emoji="🏠">🏠 房子</div>
<div class="material-item" draggable="true" data-type="background" data-emoji="🌳">🌳 树林</div>
<div class="material-item" draggable="true" data-type="background" data-emoji="⛰️">⛰️ 山</div>
</div>
</div>
<!-- 中间画布区域 -->
<div class="canvas-area">
<canvas id="mainCanvas" width="800" height="450"></canvas>
<!-- 画布控制栏 -->
<div class="canvas-controls">
<button class="btn" onclick="exportScreenshot()">📷 截图</button>
<button class="btn" onclick="exportScene()">📤 导出JSON</button>
<button class="btn" onclick="document.getElementById('import-file').click()">📥 导入JSON</button>
<input type="file" id="import-file" style="display:none" accept=".json" onchange="importScene(event)">
<button class="btn btn-primary" id="previewBtn">👁️ 预览</button>
<button class="btn btn-primary" id="shareBtn">🔗 分享作品</button>
</div>
<!-- 预览模式专用控制按钮(默认隐藏) -->
<div class="preview-controls hidden">
<button class="btn btn-primary" id="playPreviewBtn">▶️ 播放</button>
<button class="btn" id="pausePreviewBtn">⏸️ 暂停</button>
<button class="btn" id="stopPreviewBtn">⏹️ 停止</button>
<button class="btn" id="exitPreviewBtn">✖️ 退出预览</button>
</div>
</div>
<!-- 右侧场景面板 -->
<div class="right-panel">
<h3>🎬 场景列表</h3>
<div class="scene-list" id="sceneList"></div>
<button class="btn" onclick="addScene()" style="width:100%; margin-top:10px;"> 新建场景</button>
<!-- 时间轴预览区域 -->
<div class="timeline">
<h3>⏱️ 时间轴</h3>
<div class="timeline-controls">
<button class="btn" onclick="addFrame()" style="padding:5px 15px;"> 新帧</button>
<button class="btn" onclick="deleteFrame()" style="padding:5px 15px;">🗑️ 删帧</button>
<button class="btn" onclick="togglePlayback()" id="timelinePlayBtn" style="padding:5px 15px;">▶️ 播放</button>
</div>
<div class="frames-container" id="framesContainer"></div>
<div style="margin-top:10px; display:flex; align-items:center; gap:10px;">
<span>速度:</span>
<input type="range" id="fpsSlider" min="1" max="12" value="4" style="flex:1;">
<span id="fpsValue">4 FPS</span>
</div>
</div>
</div>
</div>
</div>
<!-- 分享弹窗(默认隐藏) -->
<div id="shareOverlay" class="overlay hidden"></div>
<div id="sharePanel" class="share-panel hidden">
<h3>🔗 分享作品</h3>
<div>
<button class="btn" id="generateUrlBtn" style="margin-right:10px;">生成分享链接</button>
<button class="btn" id="generateEmbedBtn">生成嵌入代码</button>
</div>
<div id="shareUrlContainer" style="margin-top:20px;">
<div class="share-url" id="shareUrl"></div>
<div class="share-actions">
<button class="btn" id="copyShareBtn" style="display:none;">📋 复制</button>
<button class="btn" id="closeShareBtn">关闭</button>
</div>
</div>
</div>
<script src="js/app.js"></script>
</body>
</html>