Как поместить игру с несколькими .swf-файлами (персонажами, звуком, ресурсами...) в Ruffle?Html

Программисты Html
Ответить
Anonymous
 Как поместить игру с несколькими .swf-файлами (персонажами, звуком, ресурсами...) в Ruffle?

Сообщение Anonymous »

Я пытаюсь вернуть весь веб-сайт 2010 года и его флеш-игры с ruffle (https://onlinewinxclub.com/centro-web/?lang=en), и пока все хорошо, даже для такого человека, как я, который никогда по-настоящему не работал с Flash, я изменил несколько сценариев, касающихся рекордов в 5 других играх, чтобы они указывали на мой сервер вместо старого веб-сайта, и до сих пор все игры следовали одной и той же логике: все файлы в своих папках, .xml для языков и один .swf только для игры...
Однако одна из игр, которая на тот момент оказалась самой успешной, содержит несколько файлов .swf, которые необходимо предварительно загрузить, и я понятия не имею, как их запустить. "game.swf", который отвечает за все, не загружается после... загрузки.
Кто-нибудь может это сделать? Я планировал выпустить веб-сайт через несколько недель, и на самом деле это последнее, что мне нужно закончить, прежде чем окончательно выпустить его, и, к сожалению, это касается области, в которой у меня меньше опыта - flash.
Вот файл с игрой на диске: https://drive.google.com/file/d/10XEXJ2 ... TrPuP/view
MinigamePlayer.php — это место, где я запускаю игру. https://onlinewinxclub.com/centro-web/p ... hp?lang=en
Я попробовал кучу вещей.
Сначала я зашел в waybackmachine на старый официальный сайт и посмотрел, как у них был собственный код:

Код: Выделить всё























You need Flash plugin to play this game







Это было все, но это совсем не помогло, потому что на самом деле оно не отличалось ничем от того, что есть у меня самого, а именно:
MinigamePlayer.php:

Код: Выделить всё





Play Game
 

document.addEventListener("DOMContentLoaded", function() {
const langMap = {
'en': 1,
'it': 2,
'fr': 3,
'es': 6,
'de': 7,
'pt': 9
};

function getQueryParam(param) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(param);
}

const lang = getQueryParam('lang');
const languageId = langMap[lang] || 1;

if (!window.gameLoaded) {
const swfFiles = [
"game8/assets.swf",
"game8/characters.swf",
"game8/audio.swf",
"game8/interface.swf",
"game8/levels.xml"
];

// Preload the SWF files
swfFiles.forEach(function(file) {
const preloadObject = document.createElement("object");
preloadObject.setAttribute("type", "application/x-shockwave-flash");
preloadObject.setAttribute("data", file);
preloadObject.style.display = "none";
document.body.appendChild(preloadObject);
});

var gameContainer = document.createElement("object");
gameContainer.setAttribute("id", "minigame-object");
gameContainer.setAttribute("type", "application/x-shockwave-flash");
gameContainer.setAttribute("data", "../../../../pages/Games/Flash/IceCream/MinigameWrapper.swf?gameId=8&languageId=${languageId}&userId=0&sessionId=");
gameContainer.setAttribute("width", "750");
gameContainer.setAttribute("height", "480");

gameContainer.setAttribute("style", "outline: 1px solid #7E7F7F;");

gameContainer.innerHTML = `








You need Ruffle to play this game. [url=https://ruffle.rs/#downloads]Download Ruffle here[/url].

`;

document.body.appendChild(gameContainer);
window.gameLoaded = true;
}
});





Как вы можете видеть, я попробовал предварительную загрузку файлов, но на консоли появляется следующее:

ОШИБКА core/src/avm2/events.rs:433 Ошибка отправки события
EventObject(EventObject { type: "complete", class:
flash.events::Event, ptr: 0x13ab200 }) в обработчик
FunctionObject(FunctionObject { ptr: 0x10111c8, name:
Ok("comComponents::GameBase/handleXMLLoaderComplete()") }) : TypeError:
Ошибка № 1009: Невозможно получить доступ к свойству или методу нулевой ссылки на объект
. (поле доступа: playBtn) в
com.rm.icecream.ui::PauseScreen/initialize() в
com.rm.icecream::Game/initialize() в
comComponents::GameBase/loadOrInitialize() в
comComponents::GameBase/handleXMLLoaderComplete()
core.ruffle.4165d85befd59ccf80e4.js:1 [Нарушение]
Обработчик 'requestAnimationFrame' занял 107 мс
core.ruffle.4165d85befd59ccf80e4.js:1 [Нарушение]
Обработчик 'requestAnimationFrame' занял 91 мс
core.ruffle.4165d85befd59ccf80e4.js:1 [Нарушение]
Обработчик 'requestAnimationFrame' занял 97 мс

Я также пытался найти любой старый веб-сайт, на котором еще были игры. 99% из них использовали URL-адрес официального веб-сайта, и веб-сайт закрылся в 2012 году. Но я нашел один веб-сайт, единственный, на котором игра каким-то образом работала гладко, но я не смог понять, что они сделали
https://www.numuki.com/include/js/wafla ... sessionId=

Подробнее здесь: https://stackoverflow.com/questions/788 ... -in-ruffle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»