访问MovieClip中的MovieClip



我有一个叫做Tile的MovieClip,它有自己的类。我在for循环中有下面的代码,它创建了一个网格。

var tile:MovieClip = new Tile();
tile.gotoAndStop(Floor1[i][u]+1);
tile.x = ((u-i)*tileh)+365;
tile.y = ((u+i)*tileh/2)+70;
addChild(tile);
tile.addEventListener(MouseEvent.ROLL_OVER, mouseover);

现在,在Tile中有另一个moveiclip叫做Outline。它不是一个类。我想做的是让Outline影片剪辑在我用鼠标滚动tile变量时转到一个帧。

下面是鼠标事件的函数。我尝试了event. currentarget . outline . gotoandstop(3),但似乎不起作用。我得到一个参考错误#1069:属性大纲没有找到瓷砖和没有默认值。

function mouseover(event:MouseEvent)
        {
            event.currentTarget.Outline.gotoAndStop(3);
        }

Outline(所有变量都应该是小写的,驼峰式的)。资本暗示它是一个类名)一个公共变量?你应该在全局范围内声明Outline,如下所示:

package com.blah.blah
{
    public class Tile extends DisplayObjectContainer {
        public var outline:DisplayObject;
        public function Tile() {
            // instantiate outline here
        }
    }
}

访问修饰符的基本说明:

  • Public:可以从任何类
  • 访问
  • Private:只能从在
  • 中声明的类访问
  • Internal:只能由同一包中的类访问
  • Static:只存在一个实例,只能通过类访问范围(Class.function ())
  • Protected:只有扩展了该类的类才能访问该对象
  • Final:子函数不能覆盖

最新更新