Actionscript 3 如何在子变量';你已经被创造出来了
我真的很感激在正确的方向上有一点,actionscript和flashbuilder对我来说是非常新的,我觉得我的知识仍然有一些基本的差距,我正在努力填补它们 无论如何 所以我有一些相当简单的圆,基于一个叫做CircleA的AS类: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; >
> 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=某个数字?(我会去试试,但不是在我的自动取款机上)谢谢,你查过上面链接的来源了吗?