popravki
This commit is contained in:
@@ -57,6 +57,9 @@ Pripravi se... NOČ PRIHAJA.`;
|
||||
fontSize: '16px', fill: '#666'
|
||||
}).setOrigin(1);
|
||||
|
||||
// LANGUAGE SELECTOR
|
||||
this.createLanguageSelector(width, height);
|
||||
|
||||
// Input to skip
|
||||
this.input.keyboard.on('keydown-SPACE', () => {
|
||||
this.scene.start('GameScene');
|
||||
@@ -66,4 +69,80 @@ Pripravi se... NOČ PRIHAJA.`;
|
||||
this.scene.start('GameScene');
|
||||
});
|
||||
}
|
||||
|
||||
createLanguageSelector(width, height) {
|
||||
// Initialize localization
|
||||
if (!window.i18n) {
|
||||
window.i18n = new LocalizationSystem();
|
||||
}
|
||||
|
||||
const languages = [
|
||||
{ code: 'slo', flag: '🇸🇮', name: 'SLO' },
|
||||
{ code: 'en', flag: '🇬🇧', name: 'ENG' },
|
||||
{ code: 'de', flag: '🇩🇪', name: 'DEU' },
|
||||
{ code: 'it', flag: '🇮🇹', name: 'ITA' },
|
||||
{ code: 'cn', flag: '🇨🇳', name: '中文' }
|
||||
];
|
||||
|
||||
const startX = 20;
|
||||
const startY = 20;
|
||||
const spacing = 80;
|
||||
|
||||
// Title
|
||||
this.add.text(startX, startY, '🌍 Language:', {
|
||||
fontSize: '18px',
|
||||
fill: '#ffffff',
|
||||
fontFamily: 'Courier New'
|
||||
});
|
||||
|
||||
// Language buttons
|
||||
languages.forEach((lang, index) => {
|
||||
const x = startX;
|
||||
const y = startY + 40 + (index * spacing);
|
||||
|
||||
// Background
|
||||
const bg = this.add.rectangle(x, y, 200, 60, 0x333333, 0.8);
|
||||
bg.setOrigin(0, 0);
|
||||
|
||||
// Flag + Name
|
||||
const text = this.add.text(x + 100, y + 30, `${lang.flag} ${lang.name}`, {
|
||||
fontSize: '24px',
|
||||
fill: window.i18n.getCurrentLanguage() === lang.code ? '#00ff41' : '#ffffff',
|
||||
fontFamily: 'Courier New'
|
||||
}).setOrigin(0.5);
|
||||
|
||||
// Make interactive
|
||||
bg.setInteractive({ useHandCursor: true });
|
||||
bg.on('pointerover', () => {
|
||||
bg.setFillStyle(0x555555, 0.9);
|
||||
text.setScale(1.1);
|
||||
});
|
||||
bg.on('pointerout', () => {
|
||||
bg.setFillStyle(0x333333, 0.8);
|
||||
text.setScale(1.0);
|
||||
});
|
||||
bg.on('pointerdown', () => {
|
||||
// Set language
|
||||
window.i18n.setLanguage(lang.code);
|
||||
|
||||
// Update all text colors
|
||||
languages.forEach((l, i) => {
|
||||
const langText = this.children.list.find(child =>
|
||||
child.text && child.text.includes(l.flag)
|
||||
);
|
||||
if (langText) {
|
||||
langText.setColor(window.i18n.getCurrentLanguage() === l.code ? '#00ff41' : '#ffffff');
|
||||
}
|
||||
});
|
||||
|
||||
// Visual feedback
|
||||
this.tweens.add({
|
||||
targets: bg,
|
||||
alpha: 0.5,
|
||||
yoyo: true,
|
||||
duration: 100
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user