[MF]修改贪吃蛇模型加载后无法手动导入问题,调整仓库路径
This commit is contained in:
parent
0d6d11aaf7
commit
778af9770b
@ -97,18 +97,18 @@ async function initModel() {
|
||||
|
||||
const cdnJsonUrl = `${cdnModelBaseUrl}${cdnModelJsonFileName}`;
|
||||
const cdnBinUrl = `${cdnModelBaseUrl}${cdnModelBinFileName}`;
|
||||
|
||||
console.log(`尝试从 CDN 加载模型: ${cdnJsonUrl}, ${cdnBinUrl}`);
|
||||
showStatus(MODEL_STATUS, 'info', '正在尝试从 CDN 自动加载 KNN 模型...');
|
||||
// 模型自动加载
|
||||
// console.log(`尝试从 CDN 加载模型: ${cdnJsonUrl}, ${cdnBinUrl}`);
|
||||
// showStatus(MODEL_STATUS, 'info', '正在尝试从 CDN 自动加载 KNN 模型...');
|
||||
|
||||
try {
|
||||
await loadKNNModel(cdnJsonUrl, cdnBinUrl);
|
||||
console.log('CDN 模型自动加载成功。');
|
||||
} catch (cdnError) {
|
||||
showStatus(MODEL_STATUS, 'warning', `从 CDN 加载 KNN 模型失败: ${cdnError.message}。您可以尝试手动加载。`);
|
||||
console.warn('CDN KNN 模型加载失败:', cdnError);
|
||||
updateModelUI(false);
|
||||
}
|
||||
// try {
|
||||
// await loadKNNModel(cdnJsonUrl, cdnBinUrl);
|
||||
// console.log('CDN 模型自动加载成功。');
|
||||
// } catch (cdnError) {
|
||||
// showStatus(MODEL_STATUS, 'warning', `从 CDN 加载 KNN 模型失败: ${cdnError.message}。您可以尝试手动加载。`);
|
||||
// console.warn('CDN KNN 模型加载失败:', cdnError);
|
||||
// updateModelUI(false);
|
||||
// }
|
||||
|
||||
} catch (error) {
|
||||
showStatus(MODEL_STATUS, 'error', `模型加载失败: ${error.message}`);
|
||||
|
File diff suppressed because one or more lines are too long
@ -519,8 +519,10 @@
|
||||
async function initApp() {
|
||||
updateGameStatus('initial'); // 初始状态设为 'initial'
|
||||
statusDisplay.textContent = '正在加载 MoveNet 模型和摄像头...';
|
||||
isModelLoaded = false;
|
||||
importModelBtn.disabled = false;
|
||||
startBtn.disabled = true;
|
||||
importModelBtn.disabled = true;
|
||||
|
||||
|
||||
try {
|
||||
// 初始化 KNN 分类器
|
||||
@ -542,7 +544,6 @@
|
||||
|
||||
// 绑定按钮事件
|
||||
startBtn.addEventListener('click', startGame);
|
||||
importModelBtn.addEventListener('click', () => fileImporter.click());
|
||||
fileImporter.addEventListener('change', handleModelImport);
|
||||
restartBtn.addEventListener('click', resetGame);
|
||||
|
||||
@ -562,19 +563,16 @@
|
||||
}
|
||||
});
|
||||
|
||||
// --- 新增:尝试自动从 CDN 加载 KNN 模型数据 ---
|
||||
// !!! 请替换为你的实际 CDN 模型 URL !!!
|
||||
const cdnModelJsonUrl = 'https://goood-space-assets.oss-cn-beijing.aliyuncs.com/public/models/pose-knn-model.json';
|
||||
|
||||
|
||||
console.log(`尝试从 CDN 自动加载 KNN 模型数据: ${cdnModelJsonUrl}`);
|
||||
statusDisplay.textContent = '正在尝试从 CDN 加载姿态识别模型...';
|
||||
// 自动加载模型
|
||||
const cdnModelJsonUrl = 'https://goood-space-assets.oss-cn-beijing.aliyuncs.com/public/models/pose-knn-model.json';
|
||||
|
||||
try {
|
||||
await loadKNNModelData(null, cdnModelJsonUrl); // 传入 CDN URL, file 为 null
|
||||
statusDisplay.textContent = 'CDN 姿态识别模型加载成功!可以开始游戏了。';
|
||||
isModelLoaded = true; // 标记模型已加载
|
||||
startBtn.disabled = false; // 启用开始游戏按钮
|
||||
importModelBtn.disabled = true; // 自动加载成功后,禁用手动导入按钮
|
||||
updateGameStatus('ready'); // 更新游戏状态
|
||||
} catch (cdnError) {
|
||||
console.warn('CDN KNN 模型数据自动加载失败:', cdnError);
|
||||
@ -788,7 +786,7 @@
|
||||
|
||||
statusDisplay.textContent = '正在加载模型数据...';
|
||||
startBtn.disabled = true; // 加载中禁用开始按钮
|
||||
importModelBtn.disabled = true; // 加载中禁用导入按钮
|
||||
importModelBtn.disabled = true;
|
||||
|
||||
try {
|
||||
let loadedModelData;
|
||||
@ -865,7 +863,6 @@
|
||||
statusDisplay.textContent = '姿态模型导入成功!可以开始游戏了。';
|
||||
isModelLoaded = true; // 设置模型已加载状态
|
||||
startBtn.disabled = false; // 启用开始游戏按钮
|
||||
importModelBtn.disabled = true; // 导入按钮禁用
|
||||
updateGameStatus('ready');
|
||||
|
||||
} catch (error) {
|
||||
@ -1130,28 +1127,28 @@ function generateFood() {
|
||||
if (gameStatus === 'initial') {
|
||||
statusDisplay.textContent = '等待模型导入...';
|
||||
startBtn.disabled = true;
|
||||
importModelBtn.disabled = false;
|
||||
importModelBtn.disabled = false; // 初始状态下允许导入
|
||||
restartBtn.disabled = true;
|
||||
} else if (gameStatus === 'loading') {
|
||||
// 状态文本已经在加载函数中设置
|
||||
startBtn.disabled = true;
|
||||
importModelBtn.disabled = true;
|
||||
importModelBtn.disabled = true; // 加载过程中禁用导入
|
||||
restartBtn.disabled = true;
|
||||
} else if (gameStatus === 'ready') {
|
||||
statusDisplay.textContent = '模型已加载,点击“开始游戏”或按“Enter”键。';
|
||||
startBtn.disabled = false;
|
||||
importModelBtn.disabled = true;
|
||||
restartBtn.disabled = true; // 只有在gameOver后才启用重新开始
|
||||
importModelBtn.disabled = false; // 模型加载完成后,导入按钮保持启用
|
||||
restartBtn.disabled = true;
|
||||
} else if (gameStatus === 'playing') {
|
||||
statusDisplay.textContent = '游戏进行中...';
|
||||
startBtn.disabled = true;
|
||||
importModelBtn.disabled = true;
|
||||
restartBtn.disabled = true;
|
||||
importModelBtn.disabled = false; // 游戏进行中,导入按钮保持启用(如果用户想切换模型)
|
||||
restartBtn.disabled = true;
|
||||
} else if (gameStatus === 'gameOver') {
|
||||
statusDisplay.textContent = '游戏结束!点击“重新开始”或按“Enter”键。';
|
||||
startBtn.disabled = true;
|
||||
importModelBtn.disabled = true;
|
||||
restartBtn.disabled = false; // 游戏结束时启用重新开始
|
||||
importModelBtn.disabled = false; // 游戏结束后,导入按钮保持启用
|
||||
restartBtn.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user