向所有人致以問候。AS3:新手,addChild問題
我很新的AS3(和Flash CS4),我有一個問題。我有這個項目,用戶在一個區域上用鼠標動態繪製她的簽名,然後在另一個框架上繪製簽名後,他可以通過點擊一些按鈕來改變簽名的顏色,每個按鈕都有不同的顏色。
我用這個來捕捉簽名另一架:
觸發捕捉事件的按鈕:
//targetMC is an MC to where the signature will be copied function buttonClick(event:MouseEvent):void{ capture(drawingBoard_mc, _targetMC); drawGraphics.clear(); gotoAndStop(5); };
功能
function capture(target:DisplayObject, _target:MovieClip):void { var relative:DisplayObject = target.parent; var rect:Rectangle = target.getBounds(relative); var bitmapData:BitmapData = new BitmapData(rect.width + PIXEL_BUFFER * 2, rect.height + PIXEL_BUFFER * 2); bitmapData.draw(relative, new Matrix(1, 0, 0, 1, -rect.x + PIXEL_BUFFER, -rect.y + PIXEL_BUFFER)); var byteArray:ByteArray; var jpgEncoder:JPGEncoder = new JPGEncoder(JPG_QUALITY_DEFAULT); byteArray = jpgEncoder.encode(bitmapData); var ldr:Loader = new Loader(); ldr.name = "signature"; ldr.loadBytes(byteArray); //target is target mc where the signature will be copied into _target.addChild(ldr as DisplayObject); }
它複製si技術完美。
的問題是目標5在那裏我有2個按鈕來改變顏色:
//Color 1
line_bt1.buttonMode = true;
line_bt1.mouseChildren = false;
line_bt1.addEventListener(MouseEvent.MOUSE_DOWN, line_bt1Over);
//Color 2
line_bt2.buttonMode = true;
line_bt2.mouseChildren = false;
line_bt2.addEventListener(MouseEvent.MOUSE_DOWN, line_bt2Over);
function line_bt1Over(e:Event){
var myMC:DisplayObject = DisplayObject(_targetMC.getChildByName("signature") as DisplayObject);
changeColor(myMC, 0xCCCCCC);
changeColor(myMC, 0xCCCCCC);
}
function line_bt2Over(e:Event){
var myMC:DisplayObject = DisplayObject(_targetMC.getChildByName("signature") as DisplayObject);
changeColor(myMC, 0x000000);
changeColor(myMC, 0x000000);
}
function changeColor(object:DisplayObject, color:Number){
var colorchange:ColorTransform = new ColorTransform();
colorchange.color = color;
object.transform.colorTransform = colorchange;
}
我的問題是_targetMC和簽名的孩子都在改變顏色,我只是希望孩子/簽名。 :(
我使用var myMC:DisplayObject = DisplayObject(_targetMC.getChildByName("signature") as DisplayObject);
訪問簽名的孩子,但容器MC(_targetMC)也改變顏色......我什麼,我提前做錯了嗎?
感謝。