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/
Ура, Дрейк Сварци