RE: [Flashcoders] [as3] colorTransform

2007-04-10 Thread Petro Bochan
ilteris kaplan
> Thanks Petro. It's interesting that if I set the this line
> _sprite.graphics.beginFill(0xFF); it doesn't work but if I set it
> like  _sprite.graphics.beginFill(0xAABBCC); it works. Does anyone has
> any idea why?

Hi ilteris,

Hmm, this looks fairly weird, though there is a workaround: if by chance
you set the fill of a Sprite to be 0xFF (totally white) and want to
apply a new colour, instead of playing with offsets and multipliers, use
the .color property. Something like this:

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(1, 0xFF);
_sprite.graphics.beginFill(0xFF);
_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.color = 0xAABBCC;
_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


Re: [Flashcoders] [as3] colorTransform

2007-04-10 Thread ilteris kaplan

Thanks Petro. It's interesting that if I set the this line
_sprite.graphics.beginFill(0xFF); it doesn't work but if I set it
like  _sprite.graphics.beginFill(0xAABBCC); it works. Does anyone has
any idea why?

On 4/10/07, Petro Bochan <[EMAIL PROTECTED]> wrote:

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(0xFF);
>   _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


___
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


RE: [Flashcoders] [as3] colorTransform

2007-04-10 Thread Petro Bochan
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(0xFF);
>   _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