Я бы очень хотел, чтобы точка в правильном направлении, actionscript и flashbuilder для меня были совершенно новыми, и я чувствую, что у меня есть некоторые существенные пробелы в нем, m изо всех сил пытается их подключить.Как получить доступ к переменным-потомкам после их создания
В любом случае.
Так у меня есть некоторые довольно простые круги, основанные на классе 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 вспышки:
> <?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>
Теперь все это на самом деле работает хорошо, однако сейчас я хочу, чтобы создать несколько функций, которые вызывают случайный круг, чтобы изменить цвет каждые несколько секунд и изменить цветовую палитру на кнопку и т.д., но делать все это я должен иметь возможность изменить va значения, cirColour.
Как это сделать?
Мои попытки обычно заканчиваются ошибкой 1120, заявляющей, что я пытаюсь получить доступ к неопределенному свойству.
Я чувствую себя глупо.
Спасибо за ваше время.
Джош
Пока я смотрел на это, так как я все еще чувствую, что это довольно простая концепция в Action Script и, вероятно, следует знать, как это сделать. .. Кто-нибудь знает, как я это сделаю? Спасибо. – Joshua
'myCircles.getChildAt (numberOfElementAdded)'; – Eugene
что, myCircles.getChildAt (numberOfElementAdded) .circolour = * некоторое число *; ? (пойдет и попробует, но не на моем компьютере) спасибо, хотя – Joshua