2013-10-04 41 views
-1

這是tile.as如何讓我的比賽認識到這一公共職能

在這個函數運行無痕跡之內。 還有一個公共功能瓦作爲構造函數。

public function start():void 
    { 
    trace("workingwell"); 
     if (stage) init(); 
      else addEventListener(Event.ADDED_TO_STAGE, init); 
    } 
    private function init(e:Event):void 
    { 
     trace("starting"); 
    removeEventListener(Event.ADDED_TO_STAGE, init); 

它上面:

import main; 
import boxsprite; 
import StatusBox; 
import Set; 

還運行在主命令線 - 一個main.as。在構造函數或在您的旅途()函數

+0

添加構造函數體請 –

+0

感謝您的回覆,但我需要使用此公用函數調用的私有函數來調用構造函數 - 公共函數tile(i:uint,kana1:String,value1:uint,type1:uint): void \t \t \t { \t id = i; \t假名=假名1; \t value = value1; \t type = type1; \t currentmultipliers = multiplier; go(); //當你創建一個新的tile對象時,這個函數將被調用 } – user2617804

回答

0

鑑於「追蹤」是在啓動功能的第一行

+0

Main.as不能識別start()給出一個錯誤 - 應該用import tile導入; As3太垃圾了。 – user2617804

+1

看起來AS3在你學習的時候沒有意義,但是放心吧,它會是你不明白導致問題的原因。令人沮喪但真實。這就是說,我不確定我是否理解你的評論。如果您的Tile Class與.fla文件位於同一文件夾中,則不必導入它。您必須調用Tile Class實例的啓動函數(例如_tile.start())才能運行該函數。它不會自動運行。 – moosefetcher

+0

再次閱讀您的評論,您似乎期望Main.as可以訪問啓動功能,因爲它正在導入Tile。不是這種情況。您將需要創建一個Tile實例並將該實例存儲在一個變量中(例如var _tile:Tile = new Tile())。然後您將能夠訪問該實例中定義的函數(例如_tile.start())。 – moosefetcher

0

調用start()函數,我想說的啓動功能是沒有得到所謂的。當你實例化一個新的Tile時,Tile構造函數會自動運行,但是如果你沒有從SOMEwhere調用start,那麼顯然這個函數不會運行,並且跟蹤不會發生。