Flash Actionscript 3 - Simple Btn Click сохранить игру / приложение

Я работаю над проектом, который требует от меня сохранения всех кусочков на втором кадре сцены. Это прославленная игра на одевание, в которой пользовательская игра создает дизайн или произведение искусства, сохраняет проект и возвращается к нему позже, нажав "restore_btn".

Это будет иметь несколько "перетаскиваемых" фрагментов на сцене, во втором кадре. Может ли кто-нибудь дать мне некоторое представление о том, как сделать так, чтобы приложение могло сохранять на рабочем столе, и когда пользователь открывает его и нажимает кнопку "восстановить", его последний дизайн загружается на сцену? Спасибо за помощь. У меня был небольшой трал в сети, и я не могу найти какие-то простые вещи для того, что мне нужно.

Код добавлен, на всякий случай.

PS Пожалуйста, будьте проще, так как я дизайнер.:-)

stop();

Mouse.hide();
stage.addEventListener(MouseEvent.MOUSE_MOVE,follow);
function follow(evt:MouseEvent){
    tweezer_cur.x = mouseX;
    tweezer_cur.y = mouseY;
}

//Resetter btn ---------------------

reset_btn.addEventListener(MouseEvent.CLICK, startover);

function startover(event:MouseEvent):void
{
gotoAndPlay(1);
}

//------------------------------ fullscreen
function setFullScreen():void {
if (stage.displayState== "normal") {
stage.displayState="fullScreen";
stage.scaleMode = StageScaleMode.NO_SCALE;
} else {
stage.displayState="normal";
 }
}

fullbtn.addEventListener(MouseEvent.CLICK, goFull); 
        // btn declared - - - - - - - - 

        function goFull(event:MouseEvent):void {
setFullScreen();
};

//---------------------------- print project


//--- all the draggables will live here
dragme.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
dragme.addEventListener(MouseEvent.MOUSE_UP, dropObject);

function pickupObject(event:MouseEvent):void {
event.target.startDrag(true);
}
function dropObject(event:MouseEvent):void {
event.target.stopDrag();
}


//--------

//creating a container as main canvas

var artworkContainers:Sprite = new Sprite();
addChild(artworkContainers);

//example adding content
//var anyContentIWantToPrint:Sprite = new Sprite();
//anyContentIWantToPrint.graphics.beginFill(0, 1);
//anyContentIWantToPrint.graphics.drawRect(0, 0, 1024, 768);
//anyContentIWantToPrint.graphics.endFill();
//artworkContainers.addChild(anyContentIWantToPrint);

printme_btn.addEventListener(MouseEvent.CLICK, startPrintJobHandler, false, 0, true);

function startPrintJobHandler(event:MouseEvent):void
{
     var printJob:PrintJob = new PrintJob();
     printJob.start()

     var printJobOptions:PrintJobOptions = new PrintJobOptions(); 
     printJobOptions.printAsBitmap = true; 
     //When 'artworkContainer' will be your artwork canvas, where the user will drag and drop.   Replace for the instance name you are using.     
     printJob.addPage(artworkContainers, null, printJobOptions);

     printJob.send();
  }

 // making all of the functions save! --------------------------------

var saveData:SharedObject = SharedObject.getLocal("MyDesign");

 if(!saveData.data.test)
     saveData.data.test = "Test string";
    trace(saveData.data.test); // Test string

2 ответа

Решение

Это слишком долго, чтобы ответить в комментарии, так что здесь идет:

import flash.net.SharedObject;
import flash.geom.Point;
import flash.events.MouseEvent;

var restore_values:SharedObject=SharedObject.getLocal("dress_up_game");

if(!restore_values.data.shirt_point){
    restore_values.data.shirt_point=new Point(shirt.x,shirt.y);
    restore_values.flush();
}

restore_btn.addEventListener(MouseEvent.CLICK,restore);
function restore(e:MouseEvent){
    if(restore_values.data.shirt_point){
        shirt.x=restore_values.data.shirt_point.x;
        shirt.y=restore_values.data.shirt_point.y;
    }
}

shirt.addEventListener(MouseEvent.MOUSE_DOWN,start_shirt_drag);
function start_shirt_drag(e:MouseEvent){
    shirt.startDrag()


}
shirt.addEventListener(MouseEvent.MOUSE_UP,stop_shirt_drag);
function stop_shirt_drag(e:MouseEvent){
    shirt.stopDrag()
    restore_values.data.shirt_point=new Point(shirt.x,shirt.y);
    restore_values.flush();
}

Мне понадобилось несколько минут, чтобы вычеркнуть это. Еще раз, имя экземпляра кнопки - "restore_btn". Предмет одежды или "перетаскиваемый кусочек" идет под именем экземпляра "рубашка". Код помещает рубашку в последнюю сохраненную позицию, если вы нажмете кнопку восстановления. Вы должны быть в состоянии адаптировать этот код к ситуации вашего проекта самостоятельно.

Ура, Дрейк Сварци

Да, у Атриаса есть правильная идея. Проверьте это: http://www.republicofcode.com/tutorials/flash/as3sharedobject/

Ура, Дрейк Сварци

Другие вопросы по тегам