ilteris kaplan
> Hello flashcoders,
> 
> Once again, And after this I am not going to bother you for a while,
> I am trying to do basic colorTransform in as3. I am following docs
> from different places and the way I set i up is below: Unfortunately,
> I am missing something here. I would appreciate any advices regarding
> that.
> 
> best,
> ilteris
> 
> 
> package {
>       import flash.display.Sprite;
>       import flash.events.MouseEvent;
>       import flash.events.Event;
> 
>       import flash.geom.*;
> 
>       public class ColorTransforma extends Sprite
>       {
> 
> 
>               var _sprite:Sprite;
>               var color:ColorTransform;
> 
> 
> 
> 
> 
>               public function ColorTransforma() {
>                       _sprite = new Sprite();
> 
>                       color = _sprite.transform.colorTransform;
>                       _sprite.transform.colorTransform = color;
> 
>                       _sprite.graphics.lineStyle(  );
>                       _sprite.graphics.beginFill(0xFFFFFF);
>                       _sprite.graphics.drawRect(0, 0, 100, 100);
>                       _sprite.graphics.endFill(  );
>                       addChild(_sprite);
> 
>                       _sprite.addEventListener(MouseEvent.MOUSE_DOWN,
> onMouseDown);
> 
> 
>               }
> 
>               public function changeColor() {
>                       color.redOffset = 0;
>                       color.greenOffset = 0;
>                       color.blueOffset = 0;
>                       _sprite.transform.colorTransform = color;
> 
>               }
> 
>               private function onMouseDown(event:MouseEvent):void {
>                       changeColor();
>                       trace("yay");
> 
>          }
> 
> 
> 
>       }
> 
> }

Hi ilteris,

Not completely sure what you want to do but assuming you want to change
the colour of the sprite upon mouse click you'd have to set the offsets
to something greater than zero. Say you want to change the colour of the
shape to blue, than your code would look something like below (mind the
value of the .blueOffset property):

package {
        import flash.display.Sprite;
        import flash.events.MouseEvent;
        import flash.events.Event;
        import flash.geom.ColorTransform;
        
        public class ColorTransforma extends Sprite {

                var _sprite:Sprite;     
                var color:ColorTransform;

                public function ColorTransforma() {
                        _sprite = new Sprite();
                        _sprite.graphics.lineStyle(  );
                        _sprite.graphics.beginFill(0xAABBCC);
                        _sprite.graphics.drawRect(0, 0, 100, 100);
                        _sprite.graphics.endFill(  );
                        addChild(_sprite);
                
                        _sprite.addEventListener(MouseEvent.MOUSE_DOWN,
onMouseDown);
                        color = _sprite.transform.colorTransform;
                        _sprite.transform.colorTransform = color;
                }
        
                public function changeColor() {
                        color.redOffset = 0;
                        color.greenOffset = 0;
                        color.blueOffset = 255;
                        _sprite.transform.colorTransform = color;
                }
                
                private function onMouseDown(event:MouseEvent):void {
                changeColor();
                trace("yay");

         }

        }
        
}

Cheers,
Petro

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to