Я сделал invetory в AS3, который позволяет мне помещать предметы на слоты в шкафу или в слоты в инвентаре. Он полностью работает, но есть одна проблема. В игре вы должны иметь возможность покупать новые предметы и добавлять их в шкаф. Я хочу, чтобы это было сохранено, чтобы оно было доступно в следующий раз, когда вы играете.Сохраните элементы (MovieClips) и динамически создайте их
Для этого я хочу сохранить Array в SharedObject, а затем создать элементы динамически из массива.
Сейчас я использую старомодную жесткую кодировку для каждого объекта;
Itemwrench = new WrenchItem();
Itemwrench.x = par.toolCloset.kast_1.slotTC1.x + 400;
Itemwrench.y = par.toolCloset.kast_1.slotTC1.y + 245;
Itemwrench.gotoAndStop(2);
Itemwrench.name = "slotTC1";
Itemwrench.TC = 1;
NotinventoryParentTC.addChild(Itemwrench);
Однако, чтобы добавить их динамически я должен был бы использовать getChildByName, прежде чем он будет добавлен к стадии, что невозможно.
Если возможно, вы можете показать мне, как это сделать правильно?
Нужная информация:
-The пункты все хранится в шкафу с прорезями (экземпляров в шкафу мувиклипе).
-При необходимости получить имя slotTC + целое число в цикле for.
-Имя элементов изменяется в соответствии с номером слота, который они назначают, когда вы вынимаете их из шкафа или кладете обратно в шкаф.
for(var i:int = 0; i < itemsInTC.length - itemsInTC.indexOf(e.currentTarget.name) - 1; i++)
{
nextSlotTC = "slotTC" + (itemsInTC.indexOf(e.currentTarget.name) +2 +i);
trace("Next Slot: " + nextSlotTC);
TempStrTC = "slotTC" + (itemsInTC.indexOf(e.currentTarget.name) +1 +i).toString();
trace("temp string: " + TempStrTC);
NotinventoryParentTC.getChildByName(nextSlotTC).x =
par.toolCloset.kast_1.getChildByName(TempStrTC).x + 400;
NotinventoryParentTC.getChildByName(nextSlotTC).y =
par.toolCloset.kast_1.getChildByName(TempStrTC).y + 245;
if(Boolean(NotinventoryParentTC.getChildByName(nextSlotTC)))
{
NotinventoryParentTC.getChildByName(nextSlotTC).name = TempStrTC;
}
}
Таким образом, я назначаю новое имя и помещаю его в слот с новым именем, которое они получили.
Так что теперь мой вопрос:
Как сделать так, что вы можете сохранить детали к общему объекту, так что они находятся в шкафу в следующий раз, когда вы играете в игру.
Извините за длинный вопрос.
Заранее благодарен,
Милан.
Позвольте мне попробовать! :) – MilanSxD
Я вижу, как это работает, но мне пришлось бы изменить весь мой код ^^ ' – MilanSxD
Я как-нибудь это выясню. Спасибо за вашу помощь :) Я запомню использовать эту систему в следующий раз. :) – MilanSxD