تغییر رنگ Movieclip

شروع موضوع توسط ***UNIQUE*** ‏4 ژانویه 2006 در انجمن Action Script 2

  1. ***UNIQUE***

    ***UNIQUE*** Active Member

    ارسال‌ها:
    1,049
    تشکر شده:
    134
    امتیاز دستاورد:
    36
    من یه سری MovieClip داخل document میارم میخوام رنگ اینها موقعی که load میشن به صورت تصادفی تغییر کنه
    اینتابع رو براش تعریف کردم
    کد (Text):

    function randRangeColor(minNum:Number, maxNum:Number):Color {
        var i:Number = (Math.floor(Math.random()*(maxNum-minNum+1))+minNum);
        var ColorRand:Color;
        if(i==3)
        {
            ColorRand.setRGB(0xF9342B);
        }
        else if(i==1)
        {
            ColorRand.setRGB(0x419E5A);
        }
        else if(i==2)
        {
            ColorRand.setRGB(0x9A2E36);
        }
        else if(i==4)
        {
            ColorRand.setRGB(0x0203BF);
        }
        return ColorRand;
    }
     
    و این کد رو هم نوشتم
    کد (Text):

            var RandomColor:Color = randRangeColor(1,4);
            thisMC.beginFill(RandomColor);
     
    از این خط error
    کد (Text):

    thisMC.beginFill(RandomColor);
     
    میگیره که نوعش مطابقت نداره(در صورتی که من همه رو از نوع color تعریف کردم)؟؟!
    و یه مسئله دیگه اینکه این Proprty اصلا" رنگ MovieClip من رو وقتی این دستور رو هم بجای اون خط نوشتم تغییر نداد .چطوری رنگ MovieClip رو عوض کنم
    کد (Text):

    thisMC.beginFill(0xF9342B);
     
     
    نوشته شده توسط ***UNIQUE*** در ‏4 ژانویه 2006
  2. amir_s

    amir_s Active Member

    ارسال‌ها:
    3,684
    تشکر شده:
    403
    امتیاز دستاورد:
    36
    از beginFill نمیتونید استفاده کنید ... این دستور برای وقتی هست که شما می خواهید به صورت دینامیک خطوط رو رسم کنید و داخلشون رو با رنگی پر کنید !
    استفاده از همون setRGB به عنوان یکی از Property های مووی کلیپ باید جواب بده !
     
    نوشته شده توسط amir_s در ‏5 ژانویه 2006
  3. ***UNIQUE***

    ***UNIQUE*** Active Member

    ارسال‌ها:
    1,049
    تشکر شده:
    134
    امتیاز دستاورد:
    36
    سلام
    از توجهتون ممنونم
    اما MovieClip ها تو لیست Property هاشون Property به نام setRGB ندارن .
    وقتی هم خودم این Property رو تست می کنم جواب نمیده .
    (خیلی لازمش دارم اما هر مدلی تست می کنم جواب نمیده تو help هم گشتم اما چیزی پیدا نکردم ): )
    شما میتونید یه نمونه برای این تغییر رنگ به من بدید .یا کدش رو برام بنویسید
    با تشکر
     
    آخرین ویرایش: ‏5 ژانویه 2006
    نوشته شده توسط ***UNIQUE*** در ‏5 ژانویه 2006
  4. amir_s

    amir_s Active Member

    ارسال‌ها:
    3,684
    تشکر شده:
    403
    امتیاز دستاورد:
    36
    ببخشید ... یه اشتباه !
    منظورم از مووی کلیپ Color Object بود !
    شما باید اول یه Color Object ایجاد کنید !
    مثلا اگر اسم مووی کلیپتون mc_instace باشه اول باید به این صورت عمل کنید :
    کد (Text):
    mc_color = new Color("mc_instace");
    و بعد با استفاده از setRGB که یکی از Function های همین کلاس هست رنگ رو ست کنید :
    کد (Text):
    mc_color.setRGB(0xFF0000);
     
    نوشته شده توسط amir_s در ‏5 ژانویه 2006
  5. ***UNIQUE***

    ***UNIQUE*** Active Member

    ارسال‌ها:
    1,049
    تشکر شده:
    134
    امتیاز دستاورد:
    36
    بسیار ممنونم درست شد.
    یه سوال دیگه هم داشتم اینکه MovieClipA مورد نظر من مجموعه ای از یک MovieClip دیگه به نام MovieClipB و یه text است حالا میخوام رنگ MovieClipB تغییر کنه نه کل رنگ MovieClipA .چون الان اینجوری رنگ اون text میشه هم رنگ اون شکل و دیگه text درست نشون داده نمیشه چون همه یه رنگ میشن.
    ممنون میشم برای این هم راهنمایی کنید
     
    نوشته شده توسط ***UNIQUE*** در ‏8 ژانویه 2006
  6. Security9776

    Security9776 Active Member

    ارسال‌ها:
    1,369
    تشکر شده:
    203
    امتیاز دستاورد:
    36
    سلام ، خوب باید این جوری آدرس بدید :
    mc_color = new Color("_root.MovieClipA.MovieClipB");

    موفق و سربلند باشید ، محسن
     
    نوشته شده توسط Security9776 در ‏8 ژانویه 2006
  7. ***UNIQUE***

    ***UNIQUE*** Active Member

    ارسال‌ها:
    1,049
    تشکر شده:
    134
    امتیاز دستاورد:
    36
    این راه رو تست کرده بودم
    برای MovieClip داخلی هم InstanceName گذاشتم و این جوری هم آدرس دادم اما درست نشد.(باز یه بار دیگه هم آزمایش میکنم اگه حل نشد فایلش رو براتون میذارم)
    راه دیگه ای نداره؟
     
    نوشته شده توسط ***UNIQUE*** در ‏8 ژانویه 2006
  8. Security9776

    Security9776 Active Member

    ارسال‌ها:
    1,369
    تشکر شده:
    203
    امتیاز دستاورد:
    36
    والا راه اصلیش همینه . احتمالا در یک جاییش اشتباه کرده اید .
     
    نوشته شده توسط Security9776 در ‏8 ژانویه 2006

به اشتراک بگذارید