تغییر رنگ بکگراند

***UNIQUE***

Active Member
میخوام یه تابع بنویسم که کاربر بتونه رنگ بکگراند رو تغییر بده
یعنی که چیزی مثل آبجکت colorDialog یا colorSwatches
براش باز شه کاربر رنگ رو انتخاب کنه و backGround صفحه
به اون رنگ تغییر کنه ممنون میشم راهنمایی کنید چطوری میتونم اینکارو
انجام بدم؟؟
با تشکر
 

***UNIQUE***

Active Member
ممنون میشم اگر براتون امکانش هست یه نمونه برام بذارید
یا برای درست کردنش راهنماییم کنید
با تشکر
 

Security9776

Active Member
سلام . من فردا به سوالاتتون جواب می دم چون الان دیگه مونیتور رو نمی تونم ببینم . ببخشید .
 

Security9776

Active Member
سلام . ببخشید که دیر شد . این چند روزه نتونستم به سایت سر بزنم .
اینم نمونه برای تغییر بکگراند .
 

پیوست ها

  • BackGround.rar
    3 کیلوبایت · بازدیدها: 19

***UNIQUE***

Active Member
خیلی مثال عالی بود واقعا" ممنونم :)
اما چند تا سوال برام پیش اومد :sad:
ممنون میشم راهنمایی کنید
اول اینکه در کد
کد:
on (release) {
	cc = new Color(rect);
	c = cc.getRGB().tostring(16);
	str = "";
	for (l=c.length; l<6; l++) {
		str = str+"0";
	}
	NewColor = new Color(_root.BackGround);
	NewColor.setRGB("0x"+str+c);
}
دوخط آخر کد یعنی
کد:
	NewColor = new Color(_root.BackGround);
	NewColor.setRGB("0x"+str+c);
مگه اول نباید NewColor مقدار دهی بشه بعد BackGround رو اون رنگ قرار بدیم
اما در اینجا اول BackGround رو NewColor قرار داده شده بعد بهش مقدار داده شده ؟
یعنی جابجا نوشتن کدها فرقی نمیکنه؟ یا باید اینجوری نوشت؟
بعد اون حلقه for چیکار میکنه؟
بعد در قسمت
کد:
var func;
sidelen = 10;
startx = 5;
starty = 5;
c = new Color(btn.rect);
c.setRGB("0x000000");
setProperty("btn", _x, startx);
setProperty("btn", _y, starty);
inc = 51;
inc2 = 13056;
inc3 = 3342336;
for (i = 1; i < 216; i++)
{
    bb = i % 6;
    gg = int(i / 6) % 6;
    rr = int(i / 36);
    duplicateMovieClip(btn, "btn" + i, i);
    newc = new Color("btn" + i + ".rect");
    c = rr * inc3 + gg * inc2 + bb * inc;
    newc.setRGB(c);
    xinc = int(i % 108 / 6);
    yinc = int(i / 108) * 6 + i % 6;
    setProperty("btn" + i, _x, startx + xinc * sidelen);
    setProperty("btn" + i, _y, starty + yinc * sidelen);
} // end of for
متغیر sidelen و inc و inc2 و inc3 برای چیه؟چه مقادیری توشون
جایگزین شده و میشه؟
و در این قسمت کد
کد:
    bb = i % 6;
    gg = int(i / 6) % 6;
    rr = int(i / 36);
خودتون این فرمولها رو برا ساختن رنگها نوشتید؟ میشه برا این فرمولش یکم توضیح بدید
باز هم بسیار از پاسختون ممنونم
 

Security9776

Active Member
سلام . من قسمت ایجاد پنل رنگ رو خودم ننوشتم . البته نوشتنش کاری نداره ولی کمی زمان می بره و من پنل اون رو از خیلی وقت پیش ها داشتم .
من فقط خط های مرتبط با تغییر رنگ بک گراند رو به همراه چند قسمت کوچیک رو کار کردم .
در اون 2 خطی که من نوشتم :
ببینید شما اول یک آبجکت رنگ تعریف می کنید ( NewColor ) که مووی کلیپ خودتون رو به اون نسبت می دهید . بعد شما در خطر بعدی کد رنگ مورد نظرتون رو به اون نسبت می دهید .

در مورد بقیه کد هایی که در پنل رنگ هست . در قسمت اول شما می بینید که با استفاده از GetRGB مقدار رنگ حاضر رو انتخاب می کنه و سپس با دستور For و با توجه به مقادیر رنگ ها اون ها رو به صورت کد رنگ در می یاره .
بعدش هم که ما از کد به دست اومده استفاده می کنیم .

در مورد 2 قسمت آخر هم باید بیشتر بررسی کنم ببینم چه دستوراتی نوشته . ( برای این کار دستورات راحت تری هم هست که بشه این پنل رو نوشت )
 

جدیدترین ارسال ها

بالا