+ -
当前位置:首页 → 问答吧 → 为什么子类不能访问主场景里的MC?

为什么子类不能访问主场景里的MC?

时间:2009-04-21

来源:互联网

请问如何在子类中访问主场景里的MC?  或者是在子类中访问主类新增加的MovieClip,--(我用addChild添加了bb)
主类这样,
var bblayerOne = new playerOne();
addChild(bb);

如何在other.as这个子类使用这个新增加的bb呢?

[ 本帖最后由 jim606 于 2009-4-21 10:00 编辑 ]

作者: jim606   发布时间: 2009-04-21

把bb先声明为一个
public var bblayerOne;

下面在给他实例化
bb = new playerOne;
addChild(bb);

这样,子类应该就可以访问了

作者: Track19   发布时间: 2009-04-21

你的写法,bb 不是父类的属性或方法。只是一个局部变量

作者: Track19   发布时间: 2009-04-21

主类访问子类的才用public var bb:.....


子类好象是不可以的,我试过了,刚才还试了下,不可以。
代码:
public var aa:MovieClip;
然后在子类里直接trace(aa);-------结果:1120: 访问的属性 aa 未定义。

作者: jim606   发布时间: 2009-04-21

主场景可以使用MovieClip(root),如主场景的aa变量就是MovieClip(root).aa

作者: k5angle   发布时间: 2009-04-21

引用:
原帖由 k5angle 于 2009-4-21 10:32 发表
主场景可以使用MovieClip(root),如主场景的aa变量就是MovieClip(root).aa
不可以的啊!我用了,但是报错了。
TypeError: Error #1009: 无法访问空对象引用的属性或方法。


晕。

作者: jim606   发布时间: 2009-04-21

可以,昨天在天地会才有人问过。我做了一例子传上去的

作者: flash023   发布时间: 2009-04-21

那你不把地址发来look下。呵呵

作者: jim606   发布时间: 2009-04-21

这个列子算不算

新建文件夹.rar (1.01 KB)
新建文件夹.rar (1.01 KB)
下载次数: 18
2009-4-21 18:06

作者: menuhinlove   发布时间: 2009-04-21

这个明白了。谢谢了。

现在又有个问题。 。。。。

我在一个叫func的文件夹里建了个Time_control.as,代码是:
package func {
       import flash.display.*;
       import flash.events.*;
       
       public class Timer_control extends MovieClip {
              private var t:Number;
              public var time:Number;
              public function Timer_control() {
                     
              }
              public function Go():void {
                     t = 1;
                     time = 30;
                     timeTxt.text = String(TimerGo);
                     addEventListener(Event.ENTER_FRAME,TimerGo);
              }
              public function TimerGo(event:Event):void {
                     t++;
                     if(t%30==0) time--;
                     if(time==0) {
                            removeEventListener(Event.ENTER_FRAME,TimerGo);
                            endGame();//打算在主类里写个这样的函数,调用方法可能是错误的,先这样写。^_^
                     }
              }
       }
}

现在想在主类里调用这个Go()方法,应该如何调用。可能比较简单的问题,但是一下没想明白,想大家给点提示。谢谢先。

作者: jim606   发布时间: 2009-04-22

主类里调用这个Go()方法--已经可以了。

现在想问问的是:
这个Timer_control.as应该如何访问主类里的endGame();方法呢?

作者: jim606   发布时间: 2009-04-22

先谢谢大家。。呵呵。。还有上面一个问题啦

作者: jim606   发布时间: 2009-04-22

http://space.flash8.net/bbs/thread-375022-1-1.html

作者: flash023   发布时间: 2009-04-22

谢谢。 谢谢flash023 :D

作者: jim606   发布时间: 2009-04-22

子类?谁的子类?子类不是直接继承了父类的一切吗?

作者: Poshidon   发布时间: 2009-04-23

是我说错了吧。。不知道叫什么。。指正下??

作者: jim606   发布时间: 2009-04-23

mainclass.as
class1.rootscene=this.rootscene

class1.as
public static rootscene:Object;

rootscene.abc........

Now you could use it

作者: lmyer   发布时间: 2010-10-23