2014-04-16 9 views
0

배경 이미지 세트를 저장하고 올바르게로드하는 데 문제가 있습니다. caseSwapper의 "1 - 2"이미지가있는 과거에는 올바르게 작동했습니다.AS3 SharedObject - 배경 이미지가 올바르게로드되지 않습니다. MC 내부에 저장된 이미지 세트가 올바른 이미지를로드하지 못함

구조 : 난 당신과 같이하십시오 저장하고로드 할 수 있습니다 드래그 객체로 설정 한 내 무대에 . (이 작품) "caseSwapper"라는 movieClip 인 배경에는 각 프레임 내에 서로 다른 이미지가 포함 된 프레임 집합이 들어 있습니다. E.G frame one은 "frameone"이라고 불린다. 대안 영상 등 등

부하와 무대에 저장 버튼을 당신이에
SharedObject를 "에서는, mySO"

문제 및 행동에 데이터를 저장할 수 있습니다 포함되어 프레임 (2)가 표시되어 "Frametwo" 그것의 얼굴, 저장은 작동하는 것처럼 보입니다. trace 문은 현재 프레임이 mySO에 저장 중임을 선언하고 있지만 완전히 확신 할 수는 없습니다. 기본적으로 플레이어가 특정 배경을 선택하고 '저장'을 클릭하면 현재 이미지를 sharedObject에 저장/기록해야합니다.

참고 : 스테이지에서 '로드'를 클릭하면 프레임 1이 작동하는 것처럼 보입니다. 프레임 123 또는 4를 저장 한 후에도 응용 프로그램 (로드가 아님)을 실행하면 프레임 4가 시작/중지됩니다. 그런 다음 load를 클릭하여 내 sharedObject를 검색해야합니다 ... 첫 번째 프레임 만 표시합니다 ... 모든 포인터. 편집 할 스크립트가 맨 아래에 있습니다. 디자이너가 가장 중요하다는 사실에 유의하십시오. 당신이 시작할 때 이것은 또한 왜 당신은보고있는 프레임 사입니다

mySO.data.myBgFrame = 1; 
mySO.data.myBgFrameone = 2; 
mySO.data.myBgFrametwo = 3; 
mySO.data.myBgFramethree = 4; 

: - 당신은 실제로 어디 현재 프레임을 저장하지 않을

save_btn.addEventListener (MouseEvent.CLICK, clickersave); 

function clickersave (e:MouseEvent):void { 
    saved.play(); 
mySO.data.myblcskull_mc_x = blcskull_mc.x; 
mySO.data.myblcskull_mc_y = blcskull_mc.y; 
mySO.data.myblackhandbag_mc_y = blackhandbag_mc.y; 
mySO.data.myblackhandbag_mc_x = blackhandbag_mc.x;  
mySO.data.myhotlips_mc_x = hotlips_mc.x; 
mySO.data.myhotlips_mc_y = hotlips_mc.y;  
mySO.data.my_x = bones_mc.x; 
mySO.data.my_y = bones_mc.y; 
mySO.data.mybut_x = btrfly_mc.x; 
mySO.data.mybut_y = btrfly_mc.y; 
mySO.data.mytig_x = tiger_mc.x; 
mySO.data.mytig_y = tiger_mc.y; 
mySO.data.myskullface_mc_y = skullface_mc.y; 
mySO.data.myskullface_mc_x = skullface_mc.x; 
mySO.data.myblack_tile_mc_zero_y = black_tile_mc_zero.y; 
mySO.data.myblack_tile_mc_zero_x = black_tile_mc_zero.x; 
mySO.data.myblack_tile_mc_one_x = black_tile_mc_one.x; 
mySO.data.myblack_tile_mc_one_y = black_tile_mc_one.y; 
mySO.data.mycrown_mc_y = crown_mc.y; 
mySO.data.mycrown_mc_x = crown_mc.x; 
mySO.data.myperfume_mc_y = perfume_mc.y; 
mySO.data.myperfume_mc_x = perfume_mc.x; 
mySO.data.myheart_mc_x = heart_mc.x; 
mySO.data.myheart_mc_y = heart_mc.y; 
mySO.data.myrose_mc_y = rose_mc.y; 
mySO.data.myrose_mc_x = rose_mc.x; 
// tears saved - - - - - - - 
mySO.data.mytear_drop_mc_one_x = tear_drop_mc_one.x; 
mySO.data.mytear_drop_mc_one_y = tear_drop_mc_one.y; 
mySO.data.mytearup_drop_mc_three_x = tearup_drop_mc_three.x; 
mySO.data.mytearup_drop_mc_three_y = tearup_drop_mc_three.y; 
mySO.data.mytearup_drop_mc_four_x = tearup_drop_mc_four.x; 
mySO.data.mytearup_drop_mc_four_y = tearup_drop_mc_four.y; 
mySO.data.mytear_drop_mc_two_x = tear_drop_mc.x; 
mySO.data.mytear_drop_mc_two_y = tear_drop_mc.y; 
mySO.data.mytear_side_mc_one_x = tear_side_mc_one.x; 
mySO.data.mytear_side_mc_one_y = tear_side_mc_one.y; 
mySO.data.mytear_side_mc_two_x = tear_side_mc_two.x; 
mySO.data.mytear_side_mc_two_y = tear_side_mc_two.y; 
mySO.data.mytear_op_mc_one_y = tear_op_mc_one.y; 
mySO.data.mytear_op_mc_one_x = tear_op_mc_one.x; 
mySO.data.mytear_op_mc_two_y = tear_op_mc_two.y; 
mySO.data.mytear_op_mc_two_x = tear_op_mc_two.x; 
//tear_op_mc_one 
// pink gems 
mySO.data.mypink_jewel_mc_one_x = pink_jewel_mc_one.x; 
mySO.data.mypink_jewel_mc_one_y = pink_jewel_mc_one.y; 
mySO.data.mypink_jewel_mc_two_x = pink_jewel_mc_two.x; 
mySO.data.mypink_jewel_mc_two_y = pink_jewel_mc_two.y; 
mySO.data.mypink_jewel_mc_three_x = pink_jewel_mc_three.x; 
mySO.data.mypink_jewel_mc_three_y = pink_jewel_mc_three.y; 
mySO.data.mypink_jewel_mc_four_x = pink_jewel_mc_four.x; 
mySO.data.mypink_jewel_mc_four_y = pink_jewel_mc_four.y; 
mySO.data.mypink_jewel_mc_five_x = pink_jewel_mc_five.x; 
mySO.data.mypink_jewel_mc_five_y = pink_jewel_mc_five.y; 
mySO.data.mypink_jewel_mc_six_x = pink_jewel_mc_six.x; 
mySO.data.mypink_jewel_mc_six_y = pink_jewel_mc_six.y; 
mySO.data.mypink_jewel_mc_seven_x = pink_jewel_mc_seven.x; 
mySO.data.mypink_jewel_mc_seven_y = pink_jewel_mc_seven.y; 
mySO.data.mypink_jewel_mc_eight_x = pink_jewel_mc_eight.x; 
mySO.data.mypink_jewel_mc_eight_y = pink_jewel_mc_eight.y; 
mySO.data.mypink_jewel_mc_nine_x = pink_jewel_mc_nine.x; 
mySO.data.mypink_jewel_mc_nine_y = pink_jewel_mc_nine.y; 
// bg saves 

mySO.data.myBgFrame = 1; 
mySO.data.myBgFrameone = 2; 
mySO.data.myBgFrametwo = 3; 
mySO.data.myBgFramethree = 4; 
trace("bgbackgrounds"); 

// silver gems - - - - - - - - - 
mySO.data.mycircle_gem_mc_x = circle_gem_mc.x; 
mySO.data.mycircle_gem_mc_y = circle_gem_mc.y; 
mySO.data.mycircle_gem_mc_two_x = circle_gem_mc_two.x; 
mySO.data.mycircle_gem_mc_two_y = circle_gem_mc_two.y; 
mySO.data.mycircle_gem_mc_thirteen_x = circle_gem_mc_thirteen.x; 
mySO.data.mycircle_gem_mc_thirteen_y = circle_gem_mc_thirteen.y; 
//circle_gem_mc_six 
mySO.flush(); 

} 

if (mySO.data.myBgFrame){ 
    caseSwapper.gotoAndStop(mySO.data.myBgFrame); 
} 
if (mySO.data.myBgFrameone){ 
    caseSwapper.gotoAndStop(mySO.data.myBgFrameone); 
} 
if (mySO.data.myBgFrametwo){ 
    caseSwapper.gotoAndStop(mySO.data.myBgFrametwo); 
} 
if (mySO.data.myBgFramethree){ 
    caseSwapper.gotoAndStop(mySO.data.myBgFramethree); 
} 

//caseSwapper.currentFrame = mySO.data.myBgFrame; 

/////// ---------------------- loader  

// ---------------------- LOADER ------------------------- 
//-------------------------------------------------------- 
//-------------------------------------------------------- 
// when load button is clicked it loads the x and y position of dragged objects pulled from the 
//sharedOject, it remembers the last var! 
load_btn.addEventListener (MouseEvent.CLICK, loadlast); 

function loadlast (e:MouseEvent):void { 
    //saved.play();  
caseSwapper.gotoAndStop(mySO.data.myBgFrame); 
//caseSwapper.currentFrame = mySO.data.myBgFrame; 
//caseSwapper.gotoAndStop(mySO.data.myBgFrameone); 
//caseSwapper.gotoAndStop(mySO.data.myBgFrametwo); 
//caseSwapper.gotoAndStop(mySO.data.myBgFramethree); 
//caseSwapper.gotoAndStop(mySO.data.myBgFramefour); 
blcskull_mc.x = mySO.data.myblcskull_mc_x; 
blcskull_mc.y = mySO.data.myblcskull_mc_y; 
blackhandbag_mc.y = mySO.data.myblackhandbag_mc_y; 
blackhandbag_mc.x = mySO.data.myblackhandbag_mc_x;  
bones_mc.x = mySO.data.my_x; 
bones_mc.y = mySO.data.my_y; 
tiger_mc.x = mySO.data.mytig_x; 
tiger_mc.y = mySO.data.mytig_y; 
btrfly_mc.x = mySO.data.mybut_x; 
btrfly_mc.y = mySO.data.mybut_y; 
crown_mc.x = mySO.data.mycrown_mc_x; 
crown_mc.y = mySO.data.mycrown_mc_y; 
perfume_mc.x = mySO.data.myperfume_mc_x; 
perfume_mc.y = mySO.data.myperfume_mc_y; 
heart_mc.x = mySO.data.myheart_mc_x; 
heart_mc.y = mySO.data.myheart_mc_y; 
rose_mc.y = mySO.data.myrose_mc_y; 
rose_mc.x = mySO.data.myrose_mc_x; 
pink_jewel_mc_one.x = mySO.data.mypink_jewel_mc_one_x; 
pink_jewel_mc_one.y = mySO.data.mypink_jewel_mc_one_y; 
pink_jewel_mc_two.x = mySO.data.mypink_jewel_mc_two_x; 
pink_jewel_mc_two.y = mySO.data.mypink_jewel_mc_two_y; 
pink_jewel_mc_three.x = mySO.data.mypink_jewel_mc_three_x; 
pink_jewel_mc_three.y = mySO.data.mypink_jewel_mc_three_y; 
pink_jewel_mc_four.x = mySO.data.mypink_jewel_mc_four_x; 
pink_jewel_mc_four.y = mySO.data.mypink_jewel_mc_four_y; 
pink_jewel_mc_five.x = mySO.data.mypink_jewel_mc_five_x; 
pink_jewel_mc_five.y = mySO.data.mypink_jewel_mc_five_y; 
pink_jewel_mc_six.x = mySO.data.mypink_jewel_mc_six_x; 
pink_jewel_mc_six.y = mySO.data.mypink_jewel_mc_six_y; 
pink_jewel_mc_seven.x = mySO.data.mypink_jewel_mc_seven_x; 
pink_jewel_mc_seven.y = mySO.data.mypink_jewel_mc_seven_y; 
pink_jewel_mc_eight.x = mySO.data.mypink_jewel_mc_eight_x; 
pink_jewel_mc_eight.y = mySO.data.mypink_jewel_mc_eight_y; 
pink_jewel_mc_nine.x = mySO.data.mypink_jewel_mc_nine_x; 
pink_jewel_mc_nine.y = mySO.data.mypink_jewel_mc_nine_y; 
hotlips_mc.x = mySO.data.myhotlips_mc_x; 
hotlips_mc.y = mySO.data.myhotlips_mc_y; 
tearup_drop_mc_three.y = mySO.data.mytearup_drop_mc_three_y; 
tearup_drop_mc_three.x = mySO.data.mytearup_drop_mc_three_x; 
tearup_drop_mc_four.x = mySO.data.mytearup_drop_mc_four_x; 
tearup_drop_mc_four.y = mySO.data.mytearup_drop_mc_four_y; 
tear_side_mc_one.x = mySO.data.mytear_side_mc_one_x; 
tear_side_mc_one.y = mySO.data.mytear_side_mc_one_y; 
//tear_side_mc_two.x = mySO.data.mytear_side_mc_two_x; 
//tear_side_mc_two.y = mySO.data.mytear_side_mc_two_y; 
tear_op_mc_one.y = mySO.data.mytear_op_mc_one_y; 
tear_op_mc_one.x = mySO.data.mytear_op_mc_one_x; 
tear_op_mc_two.y = mySO.data.mytear_op_mc_two_y; 
tear_op_mc_two.x = mySO.data.mytear_op_mc_two_x; 
//--- silver little gems ----------------- 
circle_gem_mc_thirteen.x = mySO.data.mycircle_gem_mc_thirteen_x; 
circle_gem_mc_thirteen.y = mySO.data.mycircle_gem_mc_thirteen_y; 
circle_gem_mc_two.x = mySO.data.mycircle_circle_gem_mc_two_x; 
circle_gem_mc_two.y = mySO.data.mycircle_circle_gem_mc_two_y; 
mySO.flush();  
} 

답변

1

이 섹션은 같은 번호마다 시간을 절약 할 수 if 문에 양수가 표시되고 (0 이외의 다른 문자 또는 NaNtrue으로 계산 됨) 모든 명령문이 차례로 실행됩니다. 대신 위의

, 당신이 필요로하는 모든이 당신의 저장 기능에 있습니다

if (mySO.data.myBgFrame){ 
    caseSwapper.gotoAndStop(mySO.data.myBgFrame); 
} 
: 당신이 발사에 해당 프레임으로 이동하려면 다음

mySO.data.myBgFrame = caseSwapper.currentFrame; 

, 당신은 단지 첫 번째 if 문을 필요

+0

데이빗 감사합니다, 나는 이것을 아침에 시험 할 것입니다! – user3082874

+0

우수! 도와 줘서 고마워. "NaN"은 관심 밖의 의미는 무엇입니까? – user3082874

+0

좋아요! NaN은 "Not a Number"의 약자이며, 'var result : Number = 0/0'과 같은 것을하려고하면 얻을 수 있습니다. –