سؤال

سنة جديدة سعيدة 2010 الجميع :) فقط العودة إلى الأخدود فلاش، والحصول على سؤال بسيط.

لدي فيلم (مشغل فيديو) حيث يتغير لون الأزرار. لقد قمت بالفعل بسحب الأزرار وإنشاء مربع ملون 1 (Movieclip) ستكون خلفية جميع الأزرار.

لقد استخدمت Colortransform لتغيير لون المستطيل الذي استخدمته رمز لإنشاءه، ولكن ما هي أبسط طريقة للذهاب حول تغيير لون في Movieclip يحتوي على رسومات قد تم رسمها جسديا.

المسار إلى Movieclip أحتاج إلى تغيير قيمة HEX: Controls.BTN_Sound.colorchip

هل كانت مفيدة؟

المحلول

إذا كان التحكم Controls.btn_sound.colorchip هو Movieclip أو Sprite، فيمكنك استخدام API الرسم لتغيير خصائص الرسومات الخاصة به.

لذلك بدلا من:

colorchip = 0xcccccc؛ btncolor_sound.color = colorchip؛

افعل هذا:

controls.btn_Sound.colorChip.graphics.beginFill(colorChip, 1);
controls.btn_Sound.colorChip.lineStyle(1, 0x000000);
controls.btn_Sound.colorChip.drawRect(0, 0, 10, 10); // fill in this with your colorChip's dimensions
controls.btn_Sound.colorChip.endFill()

هذا هو الطريق الأساسي vey للقيام بذلك. من المحتمل أنك تريد مسحها في كل مرة تقوم فيها بتحويل الألوان، وربما تعديل أسلوب السطر. ابحث عن فئة الرسومات و API الرسم في مستندات AS3، تلك يجب أن تساعد في توضيح ذلك.

نصائح أخرى

لقد استخدمت colormatrixfilter لتغيير خصائص الألوان إلى العفصات الخاصة بي، MCS:

مثال:

var matrix:Array = new Array();
matrix=matrix.concat([0.5,0.5,0.5,0,0]);// red
matrix=matrix.concat([0.5,0.5,0.5,0,0]);// green
matrix=matrix.concat([0.5,0.5,0.5,0,0]);// blue
matrix=matrix.concat([0,0,0,1,0]);// alpha
var my_filter:ColorMatrixFilter=new ColorMatrixFilter(matrix);
my_sprite.filters=[my_filter];

هنا أنت، رابط ل دليل جيد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top