2013-10-04 40 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,那么显然这个函数不会运行,并且跟踪不会发生。