|
@@ -183,16 +183,16 @@ export class PassCardManager extends Component {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- // 我们的目录结构现在是 avatars/1/avatar_1_5.png
|
|
|
- // 正确的资源路径格式是 avatars/1/avatar_1_5(不需要.png后缀)
|
|
|
- const avatarPath = `avatars/${characterId}/avatar_${characterId}_5`;
|
|
|
+ // 构建头像资源路径,加上spriteFrame后缀以直接获取SpriteFrame子资源
|
|
|
+ const avatarPath = `avatars/${characterId}/avatar_${characterId}_5/spriteFrame`;
|
|
|
console.log('尝试加载头像路径:', avatarPath);
|
|
|
|
|
|
// 加载头像资源
|
|
|
resources.load(avatarPath, SpriteFrame, (err, spriteFrame) => {
|
|
|
if (err) {
|
|
|
console.error(`加载头像失败: ${avatarPath}`, err);
|
|
|
- this.tryAllPossiblePaths(characterId);
|
|
|
+ // 如果加载失败,尝试其他路径
|
|
|
+ this.loadFallbackAvatar(characterId);
|
|
|
} else {
|
|
|
// 设置头像
|
|
|
this.avatarSprite.spriteFrame = spriteFrame;
|
|
@@ -202,52 +202,21 @@ export class PassCardManager extends Component {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 尝试所有可能的头像路径格式
|
|
|
+ * 尝试加载备用头像
|
|
|
* @param characterId 角色ID
|
|
|
*/
|
|
|
- private tryAllPossiblePaths(characterId: number): void {
|
|
|
- console.log('尝试所有可能的头像路径格式:', characterId);
|
|
|
+ private loadFallbackAvatar(characterId: number): void {
|
|
|
+ console.log('尝试加载备用头像:', characterId);
|
|
|
|
|
|
- // 基于项目目录结构,尝试所有可能的路径格式
|
|
|
- const possiblePaths = [
|
|
|
- // 当前目录格式,不同变体 - 使用新的下划线格式
|
|
|
- `avatars/${characterId}/avatar_${characterId}_1`,
|
|
|
- `avatars/${characterId}/avatar_${characterId}_2`,
|
|
|
- `avatars/${characterId}/avatar_${characterId}_3`,
|
|
|
- `avatars/${characterId}/avatar_${characterId}_4`,
|
|
|
-
|
|
|
- // 其他可能的格式
|
|
|
- `avatars/${characterId}/${characterId}`,
|
|
|
- `avatars/${characterId}`,
|
|
|
- `0${characterId}/${characterId}`,
|
|
|
- `${characterId}`
|
|
|
- ];
|
|
|
+ // 尝试加载备用路径
|
|
|
+ const fallbackPath = `avatars/${characterId}/avatar_${characterId}_1/spriteFrame`;
|
|
|
|
|
|
- console.log('尝试路径列表:', possiblePaths);
|
|
|
- this.tryPathSequentially(possiblePaths, 0);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 按顺序尝试路径
|
|
|
- */
|
|
|
- private tryPathSequentially(paths: string[], index: number): void {
|
|
|
- if (index >= paths.length) {
|
|
|
- console.error('所有路径都加载失败');
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- const path = paths[index];
|
|
|
- console.log(`尝试路径 ${index+1}/${paths.length}: ${path}`);
|
|
|
-
|
|
|
- resources.load(path, SpriteFrame, (err, spriteFrame) => {
|
|
|
+ resources.load(fallbackPath, SpriteFrame, (err, spriteFrame) => {
|
|
|
if (err) {
|
|
|
- console.warn(`路径 ${path} 加载失败, 尝试下一个`);
|
|
|
- this.tryPathSequentially(paths, index + 1);
|
|
|
+ console.error(`加载备用头像失败: ${fallbackPath}`);
|
|
|
} else {
|
|
|
- if (this.avatarSprite) {
|
|
|
- this.avatarSprite.spriteFrame = spriteFrame;
|
|
|
- console.log(`头像加载成功,使用路径: ${path}`);
|
|
|
- }
|
|
|
+ this.avatarSprite.spriteFrame = spriteFrame;
|
|
|
+ console.log('备用头像加载成功: ' + fallbackPath);
|
|
|
}
|
|
|
});
|
|
|
}
|