2014-02-16 44 views
0

我需要幫助請:)。我正在製作800BC和2014 AD之間的世界動態地圖,但我被困住了。 我創建了一個文本字段,用戶可以輸入一個日期(「date_input」)和一個複選框,他/她可以選擇BC或AD(「BC_check」)閃光 - 複選框,eventchange

例如,如果他/她想要520BC,他/她只需在date_input中寫入520並檢查BC_chack。它將使電影剪輯對應於所選尺度(世界/大陸/地區)和時代(BC/AD)到幀520(「世界地圖_neg」)。如果用戶選擇了422AD年,它會將影片剪輯「world_map_pos」帶到422幀。

我的問題是代碼第一次工作,但是當我嘗試取消選擇BC_check時,地圖沒有改變,我必須改變它的規模來改變。

下面是部分代碼:

/* Aller à date */ 
date_input.restrict = "0-9"; 
var date_dynamic: int; 
date_input.addEventListener(Event.CHANGE, fl_date); 
function fl_date(e: Event): void { 
date_dynamic = parseInt(date_input.text); 
if (BC_check.selected == true) 
{ 
    world_map_neg.gotoAndStop(date_dynamic); 
    america_map_neg.gotoAndStop(date_dynamic); 
    europe_map_neg.gotoAndStop(date_dynamic); 
    asia_map_neg.gotoAndStop(date_dynamic); 
    africa_map_neg.gotoAndStop(date_dynamic); 
    oceania_map_neg.gotoAndStop(date_dynamic); 
    regionx_map_neg.gotoAndStop(date_dynamic); 
} 
else 
{ 
    world_map_pos.gotoAndStop(date_dynamic); 
    america_map_pos.gotoAndStop(date_dynamic); 
    europe_map_pos.gotoAndStop(date_dynamic); 
    asia_map_pos.gotoAndStop(date_dynamic); 
    africa_map_pos.gotoAndStop(date_dynamic); 
    oceania_map_pos.gotoAndStop(date_dynamic); 
    regionx_map_pos.gotoAndStop(date_dynamic); 
} 
} 

我是一個初學者,所以我會很感激你的幫助。如果需要,這裏是我的.fla一個鏈接,但我昨天才使那多半是佔位符開始:https://www.dropbox.com/s/gz9l4d8qb42fsif/ATLAS%201.1.fla

此外,英語不是我的第一語言,所以不要判斷我的語法嚴厲:)

有一個好的一天, 病毒Jeryl

回答

0

這裏是我做了什麼來繞去我的問題:

/* Aller à date */ 
date_input.restrict = "0-9\\-"; 
var date_dynamic: int; 
date_input.addEventListener(Event.CHANGE, fl_date); 
function fl_date(e: Event): void { 
date_dynamic = parseInt(date_input.text); 
world_map_neg.gotoAndStop(date_dynamic - date_dynamic * 2); 
world_map_pos.gotoAndStop(date_dynamic) 
regionx_map_neg.gotoAndStop(date_dynamic - date_dynamic * 2); 
regionx_map_pos.gotoAndStop(date_dynamic) 
regiony_map_neg.gotoAndStop(date_dynamic - date_dynamic * 2); 
regiony_map_pos.gotoAndStop(date_dynamic) 

/*Date World*/ 
if (date_dynamic < -1 && world_map_neg.visible == true) {} else if (date_dynamic < -1 && world_map_pos.visible == true) { 
    world_map_pos.visible = false; 
    world_map_neg.visible = true; 
} else if (date_dynamic > 1 && world_map_neg.visible == true) { 
    world_map_pos.visible = true; 
    world_map_neg.visible = false; 
} else if (date_dynamic > 1 && world_map_pos.visible == true) { 

    /* Date Region X */ 
} else if (date_dynamic < -1 && regionx_map_neg.visible == true) {} else if (date_dynamic < -1 && regionx_map_pos.visible == true) { 
    regionx_map_pos.visible = false; 
    regionx_map_neg.visible = true; 
} else if (date_dynamic > 1 && regionx_map_neg.visible == true) { 
    regionx_map_pos.visible = true; 
    regionx_map_neg.visible = false; 
} else if (date_dynamic > 1 && regionx_map_pos.visible == true) { 

    /* Date Region Y */ 
} else if (date_dynamic < -1 && regiony_map_neg.visible == true) {} else if (date_dynamic < -1 && regiony_map_pos.visible == true) { 
    regiony_map_pos.visible = false; 
    regiony_map_neg.visible = true; 
} else if (date_dynamic > 1 && regiony_map_neg.visible == true) { 
    regiony_map_pos.visible = true; 
    regiony_map_neg.visible = false; 
} else if (date_dynamic > 1 && regiony_map_pos.visible == true) {} 
} 

這也許不是最好的方式,但它的工作原理:) 當用戶輸入586,程序將顯示world_map_pos或regionx_map_pos的框架586 (取決於region_inpu文本字段)。當用戶輸入-586時,程序將他或她發送到world_map_neg或regionx_map_neg的框586。 AD和BC在兩個不同的影片剪輯上,我根本不需要複選框:)

+0

當我用真實地圖和按鈕替換大多數佔位符時,我會在幾天內發佈文件更新。 – Jeryl

0

這樣做:如果我進入「800」,我檢查「BC」,然後送我去幀800但是,如果我不檢查「BC」送我去幀800 + 800(即,date_dynamic + 800)。如果我想去任何一年AD,只需寄給我800 + 800。這應該工作,因爲,例如,你2014年的信息。將在第2814幀。

+0

謝謝您的回答。我昨天找到了一條路。不知道這是最好的,但這是我做的: – Jeryl

+0

你做了什麼? –

+0

檢查我在下一個答案中發佈的代碼:) – Jeryl