Как получить доступ к дочерним переменным после их создания - PullRequest
1 голос
/ 01 сентября 2010

Я бы очень признателен за точку в правильном направлении, ActionScript и Flashbuilder довольно новы для меня, и я чувствую, что в моих знаниях все еще есть некоторые фундаментальные пробелы, и я изо всех сил стараюсь их устранить.

В любом случае.

Итак, у меня есть несколько довольно простых кругов, основанных на классе AS под названием CircleA:

> 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 ); 
>                   
>               }
>               
>       }
> }

Затем я взял несколько из них и сложил ихв компонент spritevisualelement проекта mxml Flash Builder:

>     <?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>

Теперь все это на самом деле работает нормально, однако теперь я хочу создать пару функций, которые заставляют случайный круг менять цвет каждые пару секунди изменить цветовую палитру по щелчку и т. д., но чтобы сделать все это, мне нужно иметь возможность изменять значения переменных, в частности, CirColour.

Как мне это сделать?

Мои попытки обычно заканчиваются ошибкой 1120, утверждающей, что я пытаюсь получить доступ к неопределенному свойству.

Я чувствую себя глупо.

Спасибо за ваше время.

Джош

1 Ответ

0 голосов
/ 01 сентября 2010

дорогой Джошуа, если вы используете flashbuilder и flex 4, почему бы не использовать мощь компонентов Spark ??

http://pastebin.com/Vs7ZuDdB

Вы можете задать свои вопросы здесь)

...