# AS3 - Multiple ColorTransform object instances not created in loop

**URL:** <https://forum.kirupa.com/t/as3-multiple-colortransform-object-instances-not-created-in-loop/210286>\
**Category:** Uncategorized\
**Created:** [December 17, 2006, 9:06am UTC](https://forum.kirupa.com/t/as3-multiple-colortransform-object-instances-not-created-in-loop/210286 "2006-12-17T09:06:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fingers](https://avatars.discourse-cdn.com/v4/letter/f/dc4da7/32.png) [@Fingers](https://forum.kirupa.com/u/Fingers)\
**Post date:** [December 17, 2006, 9:06am UTC](https://forum.kirupa.com/t/as3-multiple-colortransform-object-instances-not-created-in-loop/210286/1 "2006-12-17T09:06:27Z")

</div>

I thought this would be simple but for some reason I’m having all kinds of problems. Why won’t the for loop create a new c instance each time the loop increments, like it does for sHolder and s? …And, assuming it is possible to make it do this, how can each instance be given an identifier that can be accessed dynamically, like sHolder and s in the traceSomething function?

```auto

package {
    import flash.display.Sprite;
    import flash.geom.ColorTransform;
    import flash.display.Shape;

    public class ColorTest extends Sprite{
        
        private var sHolder:Sprite;
        private var s:Shape;
        private var c:ColorTransform;
        
        public function ColorTest(){
        for(var i:uint = 0; i < 5; i++){
            sHolder = new Sprite();
            sHolder.name = "sHolder" + i;
            addChild(sHolder);
            sHolder.x = 50;
            sHolder.y = 25 * i;
            s = new Shape();
            s.name = "s" + i;
            s.graphics.beginFill(0xFFFFFF,1);
            s.graphics.drawRoundRect(-10, 10, 20, 20, 4, 4)
            s.graphics.endFill();
            sHolder.addChild(s);
            c = new ColorTransform();
            c = sHolder.transform.colorTransform;
            c.redOffset = -50;
            c.blueOffset = -150;
            c.greenOffset = -255;
            sHolder.transform.colorTransform = c;
            }
            traceSomething();
        }
        
        public function traceSomething():void{
            for(var i:uint = 0; i < 5; i++){
                var t:Sprite = getChildByName("sHolder" + i) as Sprite;
                trace(t.name);
                trace(t.getChildByName("s" + i).name);
            }
        }
    }

```

Fingers
