打印

[AS3] 在抽象类里能不能访问子类绑定的MC?

我的抽象类里抽像了一些子类(这是绑定类)的MC,但是我继承下来的时候,出现了很多错误,一会说我MC未定义,一会说什么类型错误,,郁闷,头已经大了!!抽像类里不能定义MC吗?
引用:
原帖由 wnosidw 于 2008-6-5 23:38 发表
我的抽象类里抽像了一些子类(这是绑定类)的MC
我想看看你是怎么抽象MC的?
这是抽像类里的一个方法:
public function init():void {
       this.good = good;
       this.x = x;
       this.y = y;
       stop();
       MC.gotoAndStop(1);//这里是最先报错的!
}
我想实现这种逻辑该怎么写?
就是说我这个抽像类里的子类都有这么个MC,但是直接在抽像类里定义根本不行,难道不能实现这种逻辑?

[ 本帖最后由 wnosidw 于 2008-6-6 00:29 编辑 ]
我不太明白你的意思。
就字面而言,Actionscript3中没有抽象类。
紫色的風.net
迷一样打不开的地址

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
我说通俗点,
我要做个游戏角色,这个角色呢包装成一个mc(这个mc绑定了一个类,这个类呢继承自另外一个抽像的角色类),这个mc里面呢还有几个mc(这个抽像的角色类里我直接定义了mc里面的mc),这样说明白吗?我一夜没睡,就在搞这个问题,郁闷!

TOP

哦。明白你意思了。
通常

如果使用一个叫 mcname 的mc在扩展类中。

首先在类体加入  public var mcname:MovieClip;
然后在FLA的相应的那个影片(继承自你的扩展类)中加入任意mc,并给上mcname的实例名。

简单的讲,这种就是在类中声明变量
在IDE中new出变量。
紫色的風.net
迷一样打不开的地址

TOP

语法上面如何写???
class a{
  public var mcname:MovieClip;
  function a(){
    mcname.stop();
  }
}
继承的类怎么给名字??
class b extends a {
  function b(){
    mcname.stop();//这里会报错,具体会报很多错,头好疼!!
  }

}

[ 本帖最后由 wnosidw 于 2008-6-6 13:44 编辑 ]

TOP

如果什么都不写,则是包内通用
所以必须加public,CLASS也要加。

如果两个类写一个AS里,不能这么写的……
yiyiflashstudio.com

TOP

我只是写的一个比方,并不是想知道类怎么写,而是想知道绑定类里的mc如何写在扩展类里面

TOP

你可以这样来写,
public class AbstractClass extends Sprite
       {
              public var mc:MovieClip
              public function AbstractClass()
              {
                     
              }
              
              
       }



public class SubClass extends AbstractClass
       {
              
              public function SubClass()
              {
                     init()
              }
              private function init():void
              {
                     mc=getChildByName("库元件编定的类名") as MovieClip
              }
              
       }

TOP

楼上的,好像不完整,还是会报错,,报了很多错,一会说命名冲突,一会说找不到类!弄了几天了,,郁闷,这个绑定的这种功能感觉真是麻烦啊!!

[ 本帖最后由 wnosidw 于 2008-6-12 23:29 编辑 ]

TOP

写事件吧,你这样太乱了,没实际意义,耦合度还很强.

TOP

写事件??你说的是个什么样的逻辑?

TOP