aminem گفت:
سلام به همه دوستان عزيز .
كسي ميدونه براي اينكه مثلا روي يك عكس توي فلش خط هاي جهارخونه انداخت به جز اين راه كه دستي خط كشيد . راه ديگري هم هست يا خير؟
دوست عزيز
من دقيقاْ سوال شما را متوجه نشدم كه منظورتان از چهارخونه چه چيزي است ؟
من فايل زير را براي شما ساخته ام كه توسط ActionScript ( و نه راه دستي ) خطوط موازي
بر روي تصوير Flash ايجاد مي كند. اگر اين خطوط را يك بار ديگر به صورت عمودي نيز كپي كنيد
چهارخونه يا چيزي كه شما خواسته ايد پديد مي آيد ...
پس شروع مي كنيم ...
اصلاٌ بياييد ببينيم اگر تصاوير ، خطوط و يا اشكال مانند هم كه در نرم افزار Flash مي بينيم
چگونه ساخته مي شوند ؟ آيا اينها تماماْ توسط دست انجام مي شوند و يا Flash اين قابليت
را دارد كه بتواند شبيه سازي كند ...
جواب بلي است. نرم افزار Flash با استفاده از دستور duplicateMovieClip مي تواند يك فيلم
و يا Movie را شبيه سازي كند و به هر تعدادي كه شما بخواهيد از روي آن كپي درست كند.
خوب حالا فرض كنيد يك خط افقي ساده داريد. اين خط را اگر با اين دستور چند بار كپي كنيد .
هر دفعه يك مقدار آن را پايين تر بياييد چه مي شود ؟ خوب شما يك تصوير راه راه خواهيد داشت
كه نه با دست درست شده و نه مشكلي در طراحي آن است. بلكه تماماْ با نرم افزار Flash و به
صورت بسيار دقيق انجام شده است ...
اجازه دهيد اين كار را در عمل ببينيم ...
[flash width=450 height=450:d6f95eb740]http://babak.majidonline.com/Files/DuplicateLine.swf[/flash:d6f95eb740]
خوب حالا بياييد ببينيم اين چگونه درسا شده است ....
هر تصوير ، شكل و يا خطي كه دوست داريد به عنوان يك Movie جديد درست كنيد.
براي اين كار از منوي Insert گزينه New Symbol را انتخاب كنيد و پس از نامگذاري فيلم جديد
هر چيزي كه مي خواهيد در آن بسازيد.
سپس آن را بر روي صفحه اصلي خود بياوريد و در پنجره Instance پس از انتخاب آن يك نام به
آن فيلم يا Movie بدهيد ... من نام line را براي قطعه فيلم يا movie خودم انتخاب كردم.
خوب حالا مي توانيد توسط دستور duplicateMovieClip فيلم مورد نظر خود را شبيه سازي
كنيد. اجراي اين دستور به اين شكل است :
کد:
duplicateMovieClip ("Movie Parent", "Movie Name", MovieLayer);
خوب ما می توانیم توسط یک دستور به صورت خودکار این کار را انجام دهیم.
من از یک حلقه برای ساخت فیلمهای جدید استفاده کردم به این صورت :
کد:
for (i=0; i<=10; i++) {
duplicateMovieClip ("/main/line", "Line"+i, i);
}
این کد همان طور که می بینید 10 عدد فیلم جدید با نامهای Line1 ، Line2 و ... مي سازد.
خوب حالا اين فيلمهاي همگي بر روي هم قرار دارند و نتيجه كار تنها مانند يك خط است.
مي بايست هر بار كه يك فيلم جديد ساخته مي شود يك مقدار در تصوير پايين تر بياييد كه
خطوط راه ره ما پديد بيايند.
به اين كد توجه كنيد :
کد:
for (i=0; i<=NUM; i++) {
duplicateMovieClip ("/main/line", "Line"+i, i);
setProperty ("Line"+i, _y, Y);
Y = Y+10;
}
در اين كد گفته ام هر بار كه فيلم جديد ساخته شد توسط دستور setProperty مقدار y_ آن
كه همان مقدار قرارگيري عمودي آن در صفحه است كه 10 پيكسل پايين تر بياور !!!
خوب پس هر Line جديد كه ساخته مي شود 10 پيكسل پايين تر ساخته مي شود.
تمام شد !!! به همين راحتي شما مي توانيد موضوعات تكراري درست كنيد كه نسبت به
مقدار اوليه آنها جابجا شده باشند ، رنگشان فرق كند ، شفافيت Capacity متفاوتي داشته
باشند و يا در زواياي مختلف نمايش داده شوند !!!
اين هم اجراي برنامه در ابعاد بزرگتر :
http://babak.majidonline.com/Files/DuplicateLine.swf
اين هم سورس فايل :
http://babak.majidonline.com/Files/DuplicateLine.fla
اميدوارم توضيحات ، مثال و سورس فايل من براي شما قابل درك باشد.
موفق باشيد