Actionscript 3 如何在子变量';你已经被创造出来了

Actionscript 3 如何在子变量';你已经被创造出来了,actionscript-3,apache-flex,flash-builder,Actionscript 3,Apache Flex,Flash Builder,我真的很感激在正确的方向上有一点,actionscript和flashbuilder对我来说是非常新的,我觉得我的知识仍然有一些基本的差距,我正在努力填补它们 无论如何 所以我有一些相当简单的圆,基于一个叫做CircleA的AS类: > Package components { >     import flash.display.Shape; >     import flash.display.Sprite; >  

我真的很感激在正确的方向上有一点,actionscript和flashbuilder对我来说是非常新的,我觉得我的知识仍然有一些基本的差距,我正在努力填补它们

无论如何

所以我有一些相当简单的圆,基于一个叫做CircleA的AS类:

> Package components {  

>               import flash.display.Shape; 
>               import flash.display.Sprite;
>       
>               public class CircleA extends Sprite{
>       
>                   [Bindable] public var cirRadius:Number;
>                   [Bindable] public var cirX:Number;
>                   [Bindable] public var cirY:Number;
>                   [Bindable] public var cirColour:uint;
>               
>                   public function CircleA(cirRadius:Number, cirX:Number,
> cirY:Number, cirColour:uint){
>                       
>                       this.cirRadius = cirRadius;
>                       this.cirX = cirX;
>                       this.cirY = cirY;
>                       this.cirColour = cirColour;
>                       
>                       // creating a new shape instance
>                       var circle:Shape = new Shape( ); 
>                       // starting color filling
>                       circle.graphics.beginFill(this.cirColour , 1 );
>                       // drawing circle 
>                       circle.graphics.drawCircle( 0 , 0 ,this.cirRadius );
>                       // repositioning shape
>                       circle.x = this.cirX;                                 
>                       circle.y = this.cirY;
>                       
>                       // adding displayobject to the display list
>                       addChild( circle ); 
>                   
>               }
>               
>       }
> }
然后,我取了其中一些,并将它们堆积到flash builder mxml项目的spritevisualelement组件中:

>     <?xml version="1.0" encoding="utf-8"?>
>     <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
> 
>                  xmlns:s="library://ns.adobe.com/flex/spark"
> 
>                  xmlns:mx="library://ns.adobe.com/flex/mx"
>                  initialize="init();"
>                  minWidth="955" minHeight="600">
>       <fx:Declarations>
>       </fx:Declarations>
>       <fx:Script>
>           <![CDATA[       
>       
>               import components.*;
>               
>               import flash.display.Shape;
>               import flash.display.Sprite;        
>               
>               public var myCircleA:CircleA= new CircleA(15, 100, 50, 0x66990ff);
>               public var myCircleB:CircleA= new CircleA(20, 230, 30, 0x3399ff);
>               public var myCircleC:CircleA= new CircleA(25, 180, 90, 0x0033ff);
>               public var myCircleD:CircleA= new CircleA(20, 50, 20, 0x0000cc);
>               
>               private function init():void {
>                   myCircles.addChild(myCircleA);
>                   myCircles.addChild(myCircleB);
>                   myCircles.addChild(myCircleC);
>                   myCircles.addChild(myCircleD);
>               }
>               
>               //myCircleA.cirColour = 0x00ff33;
>     
>           ]]>
>       </fx:Script>
>       
>       <s:SpriteVisualElement id = "myCircles"/>
>                              
>       
>     </s:Application>
>
>      
>xmlns:s=”library://ns.adobe.com/flex/spark"
> 
>xmlns:mx=”library://ns.adobe.com/flex/mx"
>initialize=“init();”
>minWidth=“955”minHeight=“600”>
>       
>       
>       
>                  
>进口零件。*;
>               
>导入flash.display.Shape;
>导入flash.display.Sprite;
>               
>公共变量myCircleA:CircleA=新的CircleA(15100,500x66990ff);
>公共变量myCircleB:CircleA=新的CircleA(20,230,30,0x3399ff);
>公共变量myCircleC:CircleA=新的CircleA(25180900x0033ff);
>公共变量myCircleD:CircleA=新CircleA(20,50,20,0x0000cc);
>               
>私有函数init():void{
>myCircles.addChild(myCircleA);
>myCircles.addChild(myCircleB);
>myCircles.addChild(myCircleC);
>myCircles.addChild(myCircleD);
>               }
>               
>//myCircleA.cirColour=0x00ff33;
>     
>           ]]>
>       
>       
>       
>                              
>       
>     
现在所有这些都可以正常工作了,但是我现在想创建一对函数,使一个随机圆圈每隔几秒钟改变一次颜色,并在单击时改变调色板,等等,但要做到这一切,我需要能够改变变量值,特别是cirColour

我该怎么做

我的尝试通常以1120错误结束,声称我试图访问未定义的属性

我觉得自己很愚蠢

谢谢你抽出时间


Josh

亲爱的Joshua,如果您正在使用flashbuilder和flex 4,为什么不使用Spark组件的强大功能


你可以在这里问你问题)

虽然我一直在研究这个问题,但我仍然觉得这是动作脚本中一个相当基本的概念,应该知道如何做。。。有人知道我会怎么做吗?谢谢。
myCircles.getChildAt(numberOfElementAdded)
;什么,myCircles.getChildAt(numberOfElementAdded)。circolour=某个数字?(我会去试试,但不是在我的自动取款机上)谢谢,你查过上面链接的来源了吗?