วันอาทิตย์ที่ 5 มิถุนายน พ.ศ. 2554

การทำ Save game



สำหรับเกม flash ที่เล่นบนเครื่องของเรา เรามีวิธีที่ใช้สำหรับการเก็บข้อมูลไม่ว่าจะเป็นชื่อ คะแนน ไอเท็มของผู้เล่น ด้วยวิธีการใช้ Shared object มาดูโคทเลยง่ายกว่า


_root.NAME = "test";
_root.NUM1 = 1;
_root.NUM2 = 2;
_root.NUM3 = 3;
_root.NUM4 = 4;

function SaveGame(savename) {
myLSO = SharedObject.getLocal(savename, "/");
myObj = {};
myObj.objArray = new Array(9);
myObj.objArray[0] = _root.NAME;
myObj.objArray[1] = _root.NUM1;
myObj.objArray[2] = _root.NUM2;
myObj.objArray[3] = _root.NUM3;
myObj.objArray[4] = _root.NUM4;
myLSO.data.myObj = myObj;
trace("saved !!");
}


function LoadGame(savename) {
myLSO = SharedObject.getLocal(savename, "/");
if (myLSO.data.myObj.objArray[0] != undefined) {
trace("loading succes!!");
_root.NAME = myLSO.data.myObj.objArray[0];
_root.NUM1 = myLSO.data.myObj.objArray[1];
_root.NUM2 = myLSO.data.myObj.objArray[2];
_root.NUM3 = myLSO.data.myObj.objArray[3];
_root.NUM4 = myLSO.data.myObj.objArray[4];
} else {
trace("loading fail!!");
}
}

โดยจะแบ่งเป็นสองส่วน คือส่วนโหลด และ ส่วนเซฟ ทำเป็นฟังชั่นไว้ใช้ง่ายดี
ลองเอาไปประยุคใช้ดู ในตัวอย่างนี้เราแสดงให้เห็นว่า มันสามารถเก็บค่าตัวแปร 5 ตัวนี้ไว้ได้
ถ้าเกมจริงๆอาจจะมีตัวแปรมากกว่านี้

โหลด ตัวอย่างไปลอง


2 ความคิดเห็น:

  1. ไม่ระบุชื่อ28 กรกฎาคม 2554 เวลา 07:49

    แล้วโปรแกรมที่ทำเกมส์ใช้โปรแกรมอะไรทำครับ

    ตอบลบ
  2. ไม่เข้าใจเรยอ่ะพี่ ผมอยุแค่ม.3 เรยยังไม่มีคนสอน แต่อยาก

    ฝึกไว้ก่อน

    ตรงโคดอ่ะคับ เอาไปไส่ตรงไหนหรอ ??

    ตอบลบ