2016-01-18 59 views
0

我正在創建一個交互式地圖,該地圖使用戶可以選擇單擊隨機站點,查看內容然後返回到概覽或繼續下一個網站。將1添加到變量從隨機數開始AS3

我在添加1到網站編號時遇到問題,當用戶單擊「下一個網站」時。而不是繼續到下一個網站,它從一個隨機數繼續。

我對視圖站點按鈕的代碼

vmsite1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandlervmsite1); 
function mouseDownHandlervmsite1(event:MouseEvent):void 
    { 
    gotoAndStop(33); // WHERE THE DYNAMIC CONTENT LOADS 

    var siteNumber = 1; 

    } 

我的下一個按鈕的代碼:

next_site1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandlernext_site1); 
    function mouseDownHandlernext_site1(event:MouseEvent):void 
     { 
      siteNumber = siteNumber; 
      if (siteNumber <= 29) { 
      siteNumber ++; 
      } 
      else { 
       siteNumber = siteNumber; 
      } 
      // UNLOAD THE PREVIOUS SLIDE SHOW 
      myLoader.unload(); 
      SiteNumberText1.text = siteNumber.toString(); 
      site1scroll.scrollTarget = field; 
      loadData(); 
      // LOAD THE SLIDE SHOW 
      var urlforswfcomp2:URLRequest = new URLRequest(URLSWF + siteNumber + imgext); 
      myLoader.load(urlforswfcomp2); 

     } 

我曾通過Adobe網站上的AS3導一看,但我可以」找到類似於我的問題。

http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fcf.html

http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/operators.html

先謝謝了!

+1

當你在一個函數內聲明一個變量,比如'var siteNumber = 1;'這個變量只存在於函數中。如果您希望其他函數能夠使用它的值,則需要在函數之外聲明該變量。像'siteNumber = siteNumber'這樣的語句也沒有真正的用處,你可以爲它自己分配相同的變量。 –

+0

@SunilD。你能提出一個解決錯誤的方法嗎? 如果我沒有在else語句中的siteNumber = siteNumber,增量不斷增加。 – Fushy

+0

好吧,我會移動'siteNumber'的聲明,以便它在函數'mouseDownHandlervmsite1'之外。但是,無可否認,根據你最後的陳述,我有點困惑。你有沒有其他可以顯示的相關代碼? –

回答

0

我將我的siteNumber變量定義移到了按鈕代碼之外,並且它工作正常。這是我的新視圖更多按鈕代碼。

var siteNumber:int = 0; 

vmsite1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandlervmsite1); 
function mouseDownHandlervmsite1(event:MouseEvent):void 
    { 
    gotoAndStop(33); 
    siteNumber = 1 
}