如何在AS3 / Flex / Papervision3D中访问平面“子”节点

时间:2010-02-23 18:32:29

标签: flex actionscript-3 flex3 papervision3d

请注意我可能完全错了,所以我提前道歉。

我有mxml thingy,例如:

    <mx:VBox id="isThisVBoxAwesomeOrWhat" width="500" height="500"
    backgroundImage="@Embed('images/500x500.jpg')" verticalAlign="bottom" 
    includeInLayout="false"
    blendMode="{BlendMode.ERASE}"
    x="-1000"
    y="-1000">

    <mx:VBox width="500" height="80" borderStyle="applicationControlBar" horizontalScrollPolicy="off" verticalScrollPolicy="off" styleName="Gradient">
        <mx:Text id="Title" width="500" text="{loremTitle}" height="30" styleName="CompNaslov"/>
        <mx:Text id="CompText" width="500" text="{loremIpsum}" height="40" styleName="CompText"/>           
    </mx:VBox>

</mx:VBox>

所以,我有一个Vbox名称isThisVBoxAwesomeOr包含另一个包含两个文本字段的VBox。

现在,在代码中我进一步制作了一个平面,这样我就可以制作一个3D对象了,这里是片段:

[for i in totalPlanes]
...

var material:MovieMaterial = new MovieMaterial(isThisVBoxAwesomeOrWhat, true, true, true); 
...
plane = new Plane(material, isThisVBoxAwesomeOrWhat.width, isThisVBoxAwesomeOrWhat.height, 10, 10);
...
linkedList.append(plane);
...
basicView.scene.addChild(plane);

所以现在我的场景充满了我想要的VBox复合材料制成的飞机。我也将这些飞机放在一个链表中,我现在要做的就是“SOMEHOW”访问每个单独的VBox,它是每个平面的复合材料。

这样的东西(显然不起作用!只是一个例子):

linkedList.node.data.VBox.VBox.Text[0]

所以我可以动态修改参数。或者也许我在这方面完全错了,我应该有尽可能多的Vbox'en,因为我有飞机并且每个人都有个人身份。无论如何我都无法弄清楚如何在这个mxml示例中访问父节点的子节点。琐碎,我知道。

1 个答案:

答案 0 :(得分:1)

您可以使用以下方式访问Plane中的VBox:

(plane.material as MovieMaterial).movie as VBox