Когда я впервые открываю игру и играю, все в порядке
после нескольких ходов игроки получают новые ходы,некоторые карты летают (игроки получают ресурсы, торгуют и т. д.), а затем, когда я нажимаю кнопку обновления страницы, чтобы начать новую игру, некоторые карты меньше:
Обратите внимание, что это происходит только с картами.Общим для всех карт является то, что они оживляют.Карты оживляются, когда игрок получает новый ресурс.Поэтому, возможно, я подумал, что какой-то старый код продолжает работать в фоновом режиме, даже когда проигрыватель обновил страницу, поэтому я убедился, что все старые анимации остановились, когда игрок нажал на обновление.Это не решило проблему.
Другая интересная вещь заключалась в том, что карты в левом нижнем углу и карты в банке - это совершенно разные спрайты.У них нет ничего общего, кроме их текстуры (банковские карты даже не анимируются).Поэтому я предполагаю, что пакет текстур не был загружен специально для двух типов карт, показанных на этом изображении.Обратите внимание, что в каждой игре разные карты меньше, но как только определенная текстура становится меньше, «ВСЕ» из спрайтов, которые используют эту текстуру, становятся меньше.
Как я могу это исправить?
Моя функция загрузки описана ниже
export function loadImages() {
PIXI.loader
.add("tile_lumber", "../images/tile_lumber.svg")
.add("tile_brick", "../images/tile_brick.svg")
.add("tile_wool", "../images/tile_wool.svg")
.add("tile_grain", "../images/tile_grain.svg")
.add("tile_ore", "../images/tile_ore.svg")
.add("tile_desert", "../images/tile_desert.svg")
.
.
.
.on("progress", loadProgressHandler)
.load(GameUICore.setup);
}
export function setup() {
assetsLoaded = true
createContainers()
GameUICards.setCardProps() //The cards on left bottom created here
GameUIActions.createActions()
GameUIPlayers.createPlayers() //The cards in bank created here
createTimer()
createKeyboardActions()
app.ticker.add(function (delta) {
animateObjects()
});
}
function animateObjects() {
for (let view of animatingViews) {
view.animate()
}
for (let line of animatingLines) {
line.animate()
}
for (let text of animatingTexts) {
text.animate()
}
removeObjectsWhoseAnimationFinished()
}
Вы можете попытаться воспроизвести проблему: http://katan.io/
Обратите внимание, что это происходит в Chrome и Safari, но не в Firefox