fix texturen
All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 1m23s
All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 1m23s
This commit is contained in:
@@ -4,44 +4,60 @@
|
||||
// ==========================================
|
||||
// 1. ASSETS LADEN (PIXI V8 KORREKT)
|
||||
// ==========================================
|
||||
// ==========================================
|
||||
// 1. ASSETS LADEN (FEHLERTOLERANT)
|
||||
// ==========================================
|
||||
async function loadAssets() {
|
||||
const keysToLoad = [];
|
||||
const assetsToLoad = [];
|
||||
|
||||
// A. Player hinzufügen
|
||||
PIXI.Assets.add({ alias: 'player', src: 'assets/player.png' });
|
||||
keysToLoad.push('player');
|
||||
// --- 1. REGISTRIEREN (Namen zu Pfaden zuordnen) ---
|
||||
|
||||
// B. Hintergründe aus Config
|
||||
if (gameConfig.backgrounds) {
|
||||
gameConfig.backgrounds.forEach(bg => {
|
||||
// Alias = Dateiname (z.B. "school-background.jpg")
|
||||
PIXI.Assets.add({ alias: bg, src: 'assets/' + bg });
|
||||
keysToLoad.push(bg);
|
||||
});
|
||||
// A. Player
|
||||
// Prüfen ob schon da, um Warnungen bei Hot-Reload zu vermeiden
|
||||
if (!PIXI.Assets.cache.has('player')) {
|
||||
PIXI.Assets.add({ alias: 'player', src: 'assets/player.png' });
|
||||
assetsToLoad.push('player');
|
||||
}
|
||||
|
||||
// C. Hindernisse aus Config
|
||||
if (gameConfig.obstacles) {
|
||||
gameConfig.obstacles.forEach(def => {
|
||||
if (def.image) {
|
||||
// Alias = ID (z.B. "teacher")
|
||||
// Checken ob Alias schon existiert (vermeidet Warnungen)
|
||||
if (!PIXI.Assets.cache.has(def.id)) {
|
||||
PIXI.Assets.add({ alias: def.id, src: 'assets/' + def.image });
|
||||
keysToLoad.push(def.id);
|
||||
}
|
||||
// B. Hintergründe
|
||||
if (gameConfig.backgrounds) {
|
||||
gameConfig.backgrounds.forEach(bg => {
|
||||
if (!PIXI.Assets.cache.has(bg)) {
|
||||
PIXI.Assets.add({ alias: bg, src: 'assets/' + bg });
|
||||
assetsToLoad.push(bg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
console.log("Lade Assets...", keysToLoad);
|
||||
// Alles auf einmal laden
|
||||
await PIXI.Assets.load(keysToLoad);
|
||||
console.log("✅ Alle Texturen geladen!");
|
||||
} catch (e) {
|
||||
console.error("❌ Asset Fehler:", e);
|
||||
// C. Hindernisse
|
||||
if (gameConfig.obstacles) {
|
||||
gameConfig.obstacles.forEach(def => {
|
||||
if (def.image && !PIXI.Assets.cache.has(def.id)) {
|
||||
PIXI.Assets.add({ alias: def.id, src: 'assets/' + def.image });
|
||||
assetsToLoad.push(def.id);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// --- 2. LADEN (Mit Fehler-Abfangung) ---
|
||||
console.log(`Lade ${assetsToLoad.length} Assets...`);
|
||||
|
||||
// Wir erstellen für jedes Asset einen eigenen Lade-Versuch
|
||||
const loadPromises = assetsToLoad.map(key => {
|
||||
return PIXI.Assets.load(key)
|
||||
.catch(err => {
|
||||
// HIER IST DER TRICK:
|
||||
// Wenn ein Fehler passiert, loggen wir ihn, aber werfen ihn NICHT weiter.
|
||||
// Wir geben einfach null zurück. Damit gilt dieser Task als "erledigt".
|
||||
console.warn(`⚠️ Asset Fehler bei '${key}': Datei fehlt oder defekt.`);
|
||||
return null;
|
||||
});
|
||||
});
|
||||
|
||||
// Wir warten, bis ALLE Versuche durch sind (egal ob Erfolg oder Fehler)
|
||||
await Promise.all(loadPromises);
|
||||
|
||||
console.log("✅ Ladevorgang abgeschlossen (vorhandene Assets sind bereit).");
|
||||
}
|
||||
|
||||
// ... (Rest der Datei: startGameClick, gameLoop etc. BLEIBT GLEICH)
|
||||
|
||||
Reference in New Issue
Block a user