staywithme جان
از هفته بعد آموزش ها رو شروع ميكنم ولي فعلا تا مادر برد بخرم نيمتونم بيام !
Printable View
staywithme جان
از هفته بعد آموزش ها رو شروع ميكنم ولي فعلا تا مادر برد بخرم نيمتونم بيام !
من مي خوام به شما ياد بدم كه كاري بكنيد كه هر دفعه كه يك فايل فلش رو باز ميكنيد رنگ بكراندش تغيير كنه اين كار خيلي سادست و جالبه!براي اين كار شما ابتدا بايد يك movie(فايل جديد) جديد باز كنيد و در اون 2 لايه ايجاد كنيد.در لايه اول با ابزار مربع يا Rectangle Tool يك مربع به اندازه صفحه اي كه باهاش كار مكيند بكشيد!شما ميتونيد با زدن L ابزار مربع رو انتخاب كنيد. به لايه دوم برويد ودر آن يك تكس فيلد خالي از نوع DynamicText ايجاد كنيد.و اسم آن را co بگذاريد.در فلش 5 شما بايد instance رو co و در فلش ام ايكس بايد مقدار var را برابر با co بگذاريد! ما در اين تكس فيلد مي خواهيم كه كد رنگ رو نشون بديم.
حالا فقط كافيه كه اون مربع رو كه ايجاد كرديد رو به بك Movie Clip تبديل كنيد. براي اين كار شما بايد ابتدا مربع رو انتخاب كنيد و به منوي insert رفته و Convert To Symbol را انتخاب كنيد.يك پنجره باز مي شود كه شما بايد يك نام براي نام Movie انتخاب و MovieClip رو انتخاب كنيد!حالا اكشن نويسي ميماند !بخش جالب و شيرين كار .ما بايد ابتدا يك شي رنگ ايجاد كنيم كه در خط اول ايجاد شده و شما ميتونيد اون خط رو ببينيد. در خط بعد ما با متد SetRGB(); رنگ شي خودمون رو تعريف مي كنيم كه مقدار اون رو با متد random() مشخص مي كنيم!
و بالاخره در خط آخر رنگ مربع رو در TextField كه ايجاد كرديم نمايش ميديم.
;(rr = new Color(_root.rr
;((rr.setRGB(random(0xFFFFCC
;(co = rr.getRGB().toString(16
و تموم شد. حالا شما يك Movie داريد كه هر دفعه كه باز ميشه يك رنگ هست كه ميشه اون رو در جاهاي مختلف استفاده كرد!
من امروز به جبران اون 2 3 هفته که آموزش ندادم این بار آموزشم رو طولانی و نی و جالب در وکولم :
Join it
پوست پیاز :
این یکی از مهمترین راهنما ها در طراحی فریم به فریم است و برای طراحی دستی ابداع شده نه کامپیوتر ، من وارد تاریخچش نمی شم که طراحان انیمیشن دستی هنگامی که یک فریم را طراحی می کردند به روشی نیاز داشتند تا فریم قبلی رو ببینند و بر اساس اون تغییرات رو بدن برای همین اون فریم رو روی کالک ( منظورم کاغذ کالک ه ) رسم میکردند که به شفافی پوست پیاز ه و فکر کنم هنوز هم همین کار رو می کنند ( من که همه رو گفتم !)
واسه فعال سازی پوست پیاز ( onion skin ) باید ابزار onion skin رو فعال کنید این ابزار در زیر تایم لاین و با شکلی شبیه دو تا مربع رو هم هست که تو شکل هم نشون دادم .
گزینه های منوی مخصوص پوست پیاز modify onion markers :
Always show markers: نسخه ی ضعیفی از نشانه گر ها ی قابل رویت در تایم لاین رو باقی می گذارد . ( حتی پس از اینکه onion skin رو غیر فعال کنید .)
Anchor onion : دو نشانه گر را به هم قفل می کند و مهم نیست که نشانه گر فریم جاری قرمز رگ شما در چه مکانی قرار داره .
Onion 2 : نشانه گر ها را برای 2 فریم قبلی و 2 فریم بعدی تنظیم میکند
Onion 5 : مثل بالا با تفاوت 5 تا یعنی 2 به 5 تبدیل شده .
Onion all : همه را نشان میدهد . دیگه این سه تای آخر رو زیادی توضیح دادم .
این پوست ما که از پیازه تصویر مبهم و شفافی از فریم قبلی به شما نشون میده و نه تنها در طراحی فریم به فریم کار برد داره در موشن هم کاربرد داره .
Next :
Ease out & Ease in :
این دو کارایی مربوط به موشن هست که فکر کنم این باید واستون از قبلی جالب تر باشه ، پس اول یه توضیح بدم بعد :
Join
حتما براتون پیش اومده که بخواین انیمیشنتون رو به آهستگی شروع و به تندی تمومش کنید یا بلعکس . این قابلیت یه خاصیت دیگه هم داره که اون اینه که بیننده ی انیمیشن یا همون فیلمتون کمی از فکر این که این انیمیشن رو کامپیوتر ساخته نه شما منحرف میکنه .
مراحل انجام کار :
این کار از پنل پراپرتیز انجام میگیره و زمانی فعاله که شما یه موشن داشته باشید .
زیر tween بعد از اینکه آن را در حالت موشن قرار دادید پنجره ای به نام ease روشن میشه . اگر ease in باشه یعنی با سرعت زیاد شروع و با سرعت کم تموم میشه و ease out بر عکس عمل می کنه . در کنار حرف ease یک متغیر بالا و پایین رونده موجوده که باید از تو اون سرعت رو مشخص کنید و در کنار این متغیر in یا out بودن نمایش داده میشه .
حالا اگه بخواین هر دو حالت رو با هم داشته باشین به یه کی فریم دیگه هم نیاز دارید که میشه کی فریم سوم و باید وسط قرار بگیره که یه بار سرعت زیاد شه و از اون کی فریم تا فریم آخر هم سرعت کم بشه یا برعکس .
اضافه ردن صدا به انیمیشن :
اگه اشتباه نکنم اضافه کردن صدا به کلید رو گفتم اما حالا به فیلم یا انیمیشن رو میگم :
Join
برای این کار باید یک لایه یا همون لایر دیگه به کار ببرید ساده ترین راه اینه که از طریق import که تو منو ی فایل هست واره فلش کنید این صدا میره تو کتابخونه و از کتابخونه بکشید را دوم چون 5 ثانیه واستون بیشتر طول میکشه نمیگم . بعد واسه این که این آهنگ همیشه ادامه پیدا کنه رو یه یکی از فریم های این لایه کلیک کنید و در قسمت loop این عدد رو بزنید 99999999999999999999999999999999 یا یه چیز مشابه .
The end البته تا اینجا .
حالا بریم سر وقت اکشن اسکریپت .
1 - get url :
همون طور که از اسمش معلومه یه نماد یا سمبل را به صفحه ی مورد نظر لینک میکنه .
مراحل : ابتدا شکل رو از طریق import وارد کنید و ( یا هر چیز دیگر مثل یک مربع ) سپس به یک سمبل تبدیل کرده و در کتابخانه وارد کنید که خودش میره سمبل از نوع کلید باشه بهتر ه . بعد از پنل action که پیش پراپرتیز ه رو باز نید ( اول اون شکل رو انتخاب کنید ) حالا get url action را با طی کردن مراحل زیر بسازید یا درج کنید :
کلیک روی علامت بعلاوه + ، action بعد browser network بعد از اینکه وراحل رو طی کردین و get url
را انتخاب کردین این آدرس یا هر آدرس دیگه ای رو در فیلدی با نام url که باز میشه تایپ کنید :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حالا این رو با پسون اچ تی ام ال پابلیش کنید تا فایل در مرور گرتون باز شه حالا لیک کنید و لذت دو وکولید.
The end
سوالی اگه داشتین بگین تا اینجا رو چون احتمالا هفته ی دیگه میرم سراق اکشن اسکریپت .
مهدی جان این هم عکس
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
شاهین جون لینکشو خودم هم گذاشتم
امشب آموزش میزارم
سلام :
1 این بار فقط و فقط اسریپت داریم 1 دونه
1 : یه بابایی رو بندازین دنبال موس :
یه کی فریم ایجاد کنید بعد اون چیزی رو که می خواید بیفته دنبال موس ایجاد کنیدحالا یه چیز دیگه فریم رو انتخاب کنید تا سیاه شده پنل اکشن رو باز کنید حالا مراحل زیر اول بعلاوه +
Action > movie clip control > startDrag
حالا تست کنید واسه این کار کنترل و اینتر رو بزنید حالا ببینید درسته میگید نه این فیلم رو ببینید .( آخر آموزش لینک میزارم ) .
ارسال ايميل در فلش با استفاده از PHP
در اين آموزش قصد دارم طريقه ارسال يك ايميل از درون فايلهاي فلش را برايتان توضيح بدهم. بايد توجه داشته باشيد كه سروري كه شما بر روي آن قصد داريد اين كار را انجام دهيد از زبان برنامه نويسي PHP را بايد پشتيباني كند، و همچنين شما نياز به يك ايميل POP3 داريد كه بايد از طريق آن ايميل خود را ارسال كنيد.
اين قسمت فقط جنبه آموزشي دارد و بصورت ساده بيان شده است اگر هنگام ارسال ايميل خود نياز به امكانات بيشتري داريد مي توانيد از دستورات مربوطه استفاده كنيد ولي روند كلي كار به اين شكلي است كه در زير توضيح داده مي شود.
براي شروع كار برنامه Flashرا اجرا كنيد. (توجه داشته باشيد اين آموزش بر حسب Flash MX و PHP 3 توضيح داده شده است.)
در ابتدا با انتخاب ابزار Text Toolسه متن با عناوين Subject ، Message ، Email ايجاد مي كنيد.
سپس گزينه New Symbol را از منوي Insert انتخاب كنيد (و يا كليد Ctrl+F8 را بفشاريد) و سپس يك Button با نام Sendايجاد كنيد.
در صفحه اي كه باز مي شود بايد يك كليد ايجاد نماييد. براي اينكار در فريم Up با ابزار Rectangle Toolيك مربع ايجاد نماييدو درون آن متن خود را مثلا Send را وارد نماييد.
نانچه مايل باشيد مي توانيد در فريمهاي Over و Down هم فريم خود را ايجاد نمايد. پس از ايجاد كليد به Stage اصلي باز گرديد (كليد Ctrl+E را بفشاريد) در اينجا پنل Library را نمايان كنيد (با استفاده از كليد Ctrl+L) سپس سيمبل كليدي را كه ساخته ايد را در صفحه قرار دهيد.
سپس دوباره با استفاده از ابزار Text Tool يك تكست باكس ايجاد نماييد. براي اين كار ابزار متن را انتخاب كنيد و بعد در صفحه با استفاده از همين ابزار يك مربع بكشيد و در پنل Properties قسمت Static Text را به Input Text تغيير دهيد. سپس كليد Show Border around Text را فعال نماييد. سپس كليد Character را بفشاريد. سپس گزينه All Character را براي Embed font outlines for انتخاب كنيد. براي متغير var مقدار subject را وارد كنيد. مقدار Maximum Character را 30 قرار دهي.
سپس دو تكست باكس ديگر به همين روش ايجاد نماييد. پس تكست باكسهاي ما به شرح زير خواهد بود:
Var : Subject , Single Line , Max. Char. : 30 , Embed Fnt Outlines For : All Character .
Var : Message , Multi Line , Max. Char. : 500 , Embed Fnt Outlines For : All Character .
Var : From , Single Line , Max. Char. : 50 , Embed Fnt Outlines For : All Character .
خب حالا كه تكست باكسها و كليد ما ايجاد شدند ما شروع به برنامه نويسي آن ميكنيم.
بايد توجه داشته باشيد كه براي اين كار شما بايد ابتدا يك برنامه نويسي Action Script براي فلش بكنيد و بعد يك برنامه بصورت PHP بنويسيد كه هنگامي كه كليد Sendرا مي فشاريد مقادير وارد شده در فرم شما به فايل PHP ارسال شود و در آنجا Process شود. براي اين كار ابتدا اكشن اسكريپت آن را مي نويسيم.
بر روي فريم اول در Stage اصلي right click كنيد و گزينه Actions را از منويي كه باز ميشود انتخاب كنيد. سپس در اديتور اكشن اسكريپت كد زير را قرار دهيد:
stop();
function lineAdapt() {
message_send = message;
while (msg_count
msg_count = msg_count+1;
if ((substring(message_send, msg_count, 2)) eq "\r") {
message_send = (substring(message_send, 1, msg_count-2)) add "\n" add (substring(message_send, msg_count+2, (length(message_send))-msg_count+2));
}
}
message = message_send;
delete msg_count;
delete message_send;
}
حال بر روي كليد Send كليك كنيد و كليد سمت راست ماوس را بفشاريد و از منويي كه باز ميشود گزينه Actions را انتخاب نماييد. و در اديتور آن كد زير را وارد نماييد:
on (release) {
if (subject eq "" or message eq "" or from eq "") {
stop();
} else {
lineAdapt();
loadVariablesNum("mail.php3", 0, "POST");
gotoAndStop(2);
}
}
سپس به فريم دوم رفته و در آنجا با فشردن كليد F7يك Blank Key Frame ايجاد كنيد. در اين فريم يك جمله تشكر يا هر چيز ديگر بنويسيد . اين فريم پس از ارسال ايميل نمايش داده مي شود. به عنوان مثال من در اين فريم از ارسال ايميل كاربر تشكر كرده ام :
حالا بر روي فريم دوم كليد سمت راست ماوس را بفشاريد و گزينه Actions را ازمنويي كه باز ميشود انتخاب كنيد. در قسمت اديتور اكشن اسكريپ كد زير را وارد كنيد :
stop ()
حالا برنامه نويسي اكشن اسكريپتهاي فايل فلش شما تمام شد و حالا بايد فايل PHPخودمان را ايجاد كنيم.
همانطوري هم كه در اكشن اسكريپتي كه براي كليد تعريف كرديم گفتيم كه از فايل mail.php3 هنگام ارسال فرم استفاده كند. پس ما بايد اسم اين فايل PHPخودمان را mail.php3 بگذاريم تا هنگام ارسال درخواست به مشكل بر نخوريم.
خب كافي هستش شما برنامه notepad رو اجرا كنيد و كد زير را در آن قرار دهيد:
mail("ايميلي كه به آن ارسال ميشود", $subject, $message, "From: PHPMailer\nReply-To: $from\nX-Mailer: PHP/" . phpversion());
?>
بعد فايل را به نام mail.php3ذخيره كنيد. حالا در مورد دستوارت به كار رفته در اين كد به مختصر توضيح مي دهم:
دستور mail از دستورات تعريف شده زبان برنامه نويسي php مي باشد (براي اطلاعات بيشتر به سايت phpمراجعه كنيد)
در قسمتي كه نوشته شده است ايميلي كه به آن ارسال مي شود، محلي است كه شما بايد ايميل خود را وارد كنيد. (مشا ميتوانيد با تغيير در اين قسمت محل ارسال نامه را توسط كاربر معين كنيد )
قسمتهايي كه با $subject و $message مشخص شده اند مربوط به مقاديري هستند كه شما در فايل فلشتون از كاربر دريافت كرده ايد.
خب حالا برنامه شما تكميل شد و وقتي كاربر فرم فلش رو پر ميكنه و بر روي كليد Sendميزنه ايميل ارسال ميشود.
من فايل اين آموزش رو در اينجا قرار داده ام. ميتونيد براي امتحان آدرس ايميل خودتان را وارد كنيد و متنتون را تايپ نماييد تا برايتان ارسال شود. (فقط من در اين يك سري تغييرات دادم كه شما ميتونيد ايميل خودتونو وارد كنيد كه از طرف اين سايت براتون نامه ارسال بشه)
نحوه ساخت یک کنترل کننده صدا درمحیط فلش
.می سازیم برای این کار ابتدا چهار لایه به نام های Volume Bar , Buttons , Text , Actions
.را انتخاب کنید Actions رایت کلیک کرده و گزینه Actions حال بر روی فریم اول از لایه
.اضافه کنید Actions حال دستورات زیر را در قسمت
var volPercent = 50;
volumeText = volPercent + "%";
volumeFill._yscale = 50;
mySound = new Sound();
mySound.attachSound("soundFile");
mySound.setVolume(volPercent * 2);
.را انتخاب کنید Text حال لایه
.این لایه مربوط به نشان دادن کمی یا بلندی صدا می باشد که به درصد نشان می دهد
.تغییر دهید Dynamic Text را به Static Text گزینه Properties انتخاب کرده و در سمت چپ قسمت Tool را از پانل Text Tool برای ساخت و تنظیمات این لایه
.در آن قسمت دیده شود Text Box حال در هر قسمت از صفحه که می خواهید درصد کمی یا بلندی صدا نمایش داده شود کلیک کنید تا
.را انتخاب کنید Buttons حال لایه
.قرار دارد ( + Volume , - Volume , Stop , Play ) در این لایه چهار عدد دکمه به نام های
.موزیک شروع به خواندن می کند Button با فشردن این : Play
.صدای موزیک قطع می شود Button با فشردن این : Stop
.صدای موزیک کم خواهد شد Button با فشردن این : - Volume
.صدای موزیک زیاد خواهد شد Button با فشردن این : + Volume
.به نام هایی که در بالا ذکر شد بسازید ( Button ) دکمه Symbol چهار عدد
.ها را در زیر می نویسم Button هر یک از Action Script حال
-Volume :
on (release){
if (volPercent != 0){
volumeFill._yscale -= 2;
volPercent -= 2;
volumeText = volPercent + "%";
mySound.setVolume(volPercent * 2);
}
}
+ Volume :
on (release){
if (volPercent != 100){
volumeFill._yscale += 2;
volPercent += 2;
volumeText = volPercent + "%";
mySound.setVolume(volPercent * 2);
}
}
Play :
on (release){
mySound.stop();
mySound.start(0, 10000);
}
Stop :
on (release){
mySound.stop();
}
کشیدن خط در محیط فلش:.. البته منظورم این بود با Action Script برنامه ای بنویسم که در محیط SWF بتوانیم به قول بچه ها نقاشی کنیم.
این کار هیچ احتیاجی به Layer و Frame های متعدد ندارد و فقط با یک لایه ( Layer ) و یک فریم ( Frame ) آن را آماده می کنیم .
روش کار هم به این صورت است که روی فریم اول رایت کلیک کرده و گزینه Actions را انتخاب می کنیم.
حال اکشن اسکریپت های زیر را در قسمت Actions می نویسیم.
createEmptyMovieClip("hpmsonline", 1);
hpmsonline.lineStyle(1, 0x000000, 100);
onMouseDown = function () { hpmsonline.moveTo(_xmouse, _ymouse);onMouseMove = function () { hpmsonline.lineTo(_xmouse, _ymouse);};};
onMouseUp = function () { onMouseMove = null;};
حالا برای اینکه بتوانید قطر خط را خودتان تعیین کنید می توانید دراین خط از اکشن اسکریپت [ hpmsonline.lineStyle(1, 0x000000, 100);l ] عدد یک را که بعد از پرانتز قرار دارد به عدد دلخواه خود تغییر دهید .
برای تغییر رنگ نیز در همین خط شش تا عدد صفر وجود دارد که شما می توانید با تغییر عدد آن ها رنگ مورد نظر خود را بدست بیاورید.
به مثالی در این مورد توجه بفرمایید. در این مثال رنگ خط قرمز خواهد شد .
hpmsonline.lineStyle(1, 0xFF0000, 100);
عدد 100 نیز در این که در این خط وجود دارد Alpha خط شما را تعیین می کند و شما می توانید با تغییر این عدد Alpha خط خودتان را که در فلش ساخته اید تغییر بدهید.
امروز می خواهم شما را با طرز ساختن یک فایل فلشی برای چک کردن Password آشنا کنم.
البته ساختن این فایل بسیار ساده است و چک کردن کلمه عبور در خود فایل فلش و به وسیله اکشن اسکریپت ها انجام می شود و اگر فرصتی بهم دست داد.
نوعی دیگر که کلمه عبور را از بانک اطلاعاتی Access می خواند را به شما آموزش خواهم داد .
ابتدا شش Layer به نام هایی که در عکس زیر مشاهده می کنید بسازید .
حال بر روی لایه Actions رفته و سه عدد فریم ( Keyframe ) ایجاد کنید و بر روی هر فریم اکشن Stop را بنویسد.
حال بر روی لایه Valid Password رفته و سه عدد فریم ( Keyframe ) ایجاد کنید و بر روی فریم سوم و با استفاده از Text Tool عبارت Valid Password و یا هر عبارت .دیگری که می خواهید پس از درست بودن کلمه عبور نشان داده شود را در این قسمت بنویسید.
ایجاد کنید و بر روی فریم دوم کلمه ای را که می خواهید در صورت نادرست بودن کلمه عبور نمایش ( Keyframe ) رفته و دو فریم از نوع Invalid Password بر روی لایه داده شود در این قسمت بنویسید.
بر روی لایه Text یک فریم ایجاد کنید و درون آن با استفاده از Text Tool عبارت Password : را بنویسید.
البته این لایه و عبارت داخل آن فقط جهت اطلاع از محل وارد کردن Password به کار می رود.
بر روی لایه Input type یک فریم ایجاد کنید و درون آن با استفاده از Text Tool در هر قسمتی که مایل هستید در آن جا از شما Password را بگیرد کلیک کنید .
در ضمن به این نکته توجه داشته باشید که گزینه Static Text را در هنگام تعیین کردن محل Password به گزینه Input type تغییر دهید.
در لایه GO یک فریم ایجاد کنید و در آن یک سمبل Button درست کنید و نام آن را GO بگذارید.
بر روی دکمه ای که ساخته اید ( GO ) رایت کلیک کرده و گزینه Actions را انتخاب کنید و اسکریپت های زیر را در آن قسمت بنویسید.
on (press) {
if (password == "HAMED") {
gotoAndStop(3);
} else {
gotoAndStop(2);
}
}
در اینجا HAMED کلمه عبور ( Password ) می باشد و توجه داشته باشید که این اکشن اسکریپت ها به کوچک و بزرگ بودن کلمه عبور حساس می باشد.
يه توضيح مختصر :
1 . متغيير ها انواعي دارند وبراي استفاده از آن ها بايد آن ها را در اول برنامه تعريف كرد اما در در زبان Flash ; Action Script مي توان بدون اينكه متغيير را تعريف كرد از آن ها استفاده كرد.
2 . تعريف تابع : تابعي به تيكه كدي گفته مي شود كه از طرف زبان برنامه نويسي يا خود برنامه نويس براي سرعت بخشيدن و آسان تر شدن كار ها از آن ها استفاده مي شود.
اين مثالي كه مي زنم به اين صورت است كه اگر شما به فرض 3 انيميشن داشته باشد و بخواهيد به صورت تصادفي (Random) نشان داده شود.
خوب فلاش را اجرا كرده و 3 تا Scene بسازيد و در هر كدام از آن ها يه انيميشن طراحي كنيد.
بعد به Scene1 آمده و با موس بر روي فريم اول كليد كنيد وبعد با زدن كليد F9 منوي Action Script را فعال كنيد.
بعد با زدن كليدهاي Ctrl+Shift+E حالت Action Script را از Normal Mode به Expert Mode تغيير دهيد.( كليد قرينه اين گزينهCtrl+Shift+N است كه Action Script به حالت Normal Mode بازخواهد گشت.)
حالا در قسمت وارد كردن كد ها بنويسيد :
x=Random(4);
تابع Random تابعي است كه عدد تصادفي درست مي كند. و اين دستور به Action Script مي گويد كه يك عدد تصادفي توليد بين 1 تا 3 توليد كن و آن را در متغيير x قرار بده.
بعد در همين فريم بعد از دستور قبلي اين دستور ها را وارد كنيد:
if (x == 1) {
gotoAndPlay("Scene 1", 2);
} else if (x == 2) {
gotoAndPlay("Scene 2", 1);
} else if (x == 3) {
gotoAndPlay("Scene 3", 1);
}
در اينجا دستوري قرار دارد به نام if . از اين دستور براي گذاشتن شرط در برنامه استفاده مي شود.
خط اول اين شرط را بررسي ميكند كه اگر مقدار موجود در متغيير x = 1 بود دستور gotoandplay("Scene 1", 2) را اجرا كن.
كه اين دستور به اين معني است كه به Scene1 ; فرم دوم برو .
اگر if اول اجرا شد يعني اگر مقدار x=1 بقيه كد اجرا نمي شود به جز دستوري كه در زير مجموعه if بود ولي اگر شرط اول درست نباشد به خط سوم مي رود.
در خط سوم نوشته شده } else if (x==2) { . اين دستور مي گويد اگر به غير از شرط بالا بود شرط ببين آيا x=2 است يا نه اگر شرط درست باشد دستور gotoandplay("Scene 2",1) اجرا مي شود و ديگر بقيه كد اجرا نمي شود.
و در خط پنجم هم همينطور است يعني اگر شرط دوم اجرا نشد و x=3 بود دستور gotoandplay("Scene 2",1) اجرا شود.
و حالا در پايين شما بايد به فرم آخر آن ها رفته و در Action Script اين فرم ها بنويسيد:
stop();
البته مي شه اين مثال را كامل ترش هم كرد كه اميد وارم بتونيد اين كار رو خودتون انجام بدهيد.
اما اگه سوالي يا هر اشكال ديگه اي داشتيد مي تونيد در انجمن Action Script بپرسيد كه يا خودم يا كسي ديگه از دوستان كمكتون ميكنه
خوب در قدم اول وارد فلش شده و به ترتيب کارهاي زير را انجام دهيد.
يه مربع بسازيد.( فعلا" اندازش مهم نيست) حالا در حالي که مربع را انتخواب کرديد ; کليد F8 را زده و گزينه Movie Clip را انتخاب کرده و اسمش رو bb بزاريد .حالا به منوي Window رفته و گزينه Bottons را از منوي Common Libraries انتخواب کنيد.
يک کتابخانه باز شده که يک سري دکمه در داخل اون وجود داره به سليقه خودتون يک دکمه ساده و 2 تا دکمه فلش دار که يکي به سمت راست است و ديگري به سمت چپ است رو انتخواب کرده و دونه دونه به سمت مستطيلي که ساختيد بکشيد تا به فايل شما اضافه بشن.
حالا بر روي مربعي که ساختيد برويد و طول و عرض اون به 400 تغيير بدهيد.
( براي اينکه اندازه ها دقيق باشه به منوي Properties برويدو در قسمت که نوشته 400 ; W: و در جايي که نوشته400 ; H: را وارى کنيد.)
و حالا يک يه text اضافه کنيد و نوع اونو در Properties تش از نوع Dynamic Text قرار دهيد و در زير اين گزينه يه قسمتي است که نوشته instance Name ; بر روي اون کليک کرده و تا اين نوشته پاک شود و در اينجا بنويسيد edit1 ; اين نام اون Text مي شود.
و حالا براي اينکه اين Text شما معلوم باشه بايد يه مستطيلي رو در پشت اون قرار بديد تا نوشته اون معلوم باشه.
خوب حالا کم کم وارد Action Script مي شيم. حالا روي مربع کليد کرده و همون طور که براي Text اسم گزاشتيد اسم اين رو هم Box1 بزاريد .
و حالا بر روي اون دکمه اي که فلش نداره کليک کنيد و بعد F9 رو بزنيد تا Action Script آورده شود.حالا کليد هاي Ctrl+Shift+E رو بزنيد تا Action Script به حالت Expert Mode برود. بعد کدهاي زير رو وارد کنيد
on (release) {
pic = edit1.text;
loadMovie("images/image"+pic+".jpg", "box1");
box1._x = 176;
box1._y = 26.9;
}
خط اول يعني وقتي روي اين دکمه کليک کرد بقيه دستورات که بعد از { وجود داره انجام بشه.
خط دوم : ما به اون Text که قبلا" شاختيم اسم Edit1 را داديم حالا اين خط ميگويد که مقدار عددي که در اون Text وجود دارد به داخل متغير Pic برود.
يه نکته : اين فايلي را که ساخته ايد ذخيره کنيد و فلش را Minimize کنيد و به اون مسيري که اين فايل رو ذخيره کرديد برويد و در اون جا يه Folder به اسم images بسازيد و 3 عکس با انشعاب jpg در اون قرار بديد و به ترتيب اسم اون ها به image1.jpg و image2.jpg و image3.jpg تغيير بدهيد.
خط سوم : اين خط اون عکس هايي رو که در Folder ; images قرار دادي بسته به عدد اون Text قبلي مياره.
مثلا" اگه عدد داخل اون Text ; 1 باشه image1.jpg رو براي شما مياره و حالا مي دونيد اون کجا لود مي کنه ; خوب معلومه اونا رو به جاي اون مربعي که ساختيد مياره ; همون که اسمش Box1 است.
خط چهارم وپنجم هم اندازه x ,y (جاي مربع در صفحه ) تعيين مي کنه که اين 2 عدد به دست خودتون و مي تونيد اونو تغيير بديد.
خوب حالا روي کليدي که روش علامت سمت راست است کليک کنيد و بعد F9 بزنديد و بعد کد زير رو وارد کنيد:
on (release) {
edit1.text = parseInt(edit1.text)+1;
}
خط اول که معني شو ياد گرفتيد.
خط دوم : اين خط مقادري که در داخل edit1 وجود داره رو به ميگيره و يه واحد به اون اضافه مي کنه.
روي کليد که فلش اون به سمت چپ است کليک کنيد و بعد F9 رو بزنيد و کد زير را وارد کنيد :
on (release) {
edit1.text = parseInt(edit1.text)-1;
s1 = edit1.text;
if (s1<=1) {
edit1.text = "2";
}
}
خط دوم : اين خط مقادر موجود در Edit1 رو مي گيره و بعد يه واحد کم مي کنه .
خط سوم : اين خط مقادر موجود در Edit1 رو ميگيره و داخل متغيير s1 قرار مي ده.
خط چهارم و پنجم: اين خط دستور شرطي است و اين شرط را برسي مي کند که اگه مقدار edit1 کمتر از 1 شد مقدار Edit1 رو برابر با 1 قرار بده.
خوب حالا فايل رو اجرا کنيد و ببينيد که چي کار کرديد .حالا اگه روي اون دکمه که هيچ علامتي نداره بزنيد مي بينيد که اون عکس هم که با Edit1 يعني اگه به فرض Edit1 موجوديش 1 باشه image1.jpg مياد .
(Ctrl + N) ابتدا فايل جديد باز كنيد
File -- > New --> Flash Document
همانند شكل زيربه داخل صفحه منتقل كنيدCheck Box و يك Label يك Componentsاز پنجره
كردن بر روي هر كدام از كامپوننت ها آن را به داخل صفحه منتقل كنيدDouble Click مي توانيد با Drag توجه شما علاوه بر عمل ×
همانند شكل زير تغيير دهيدmyLabelنام آن را به Propertiesكليك كرده و با باز كردن پنجره Label بر روي
را به Labelتغيير دهيد و همچنين myCheckBoxنام آن را به Properties كليك كرده و با باز كردن پنجره CheckBoxبر روي
همانند شكل زير و به فاصله اول برچسب دقت كنيد" This is an important option"
براي اينكه اندازه جعبه چك را با اندازه برچسبي كه وارد كرده ايد يكسان كنيد بر روي جعبه چك كليك كنيد و سپس
را بزنيد و سپس اندازه جعبه چك را به صورت عرضي دراز كنيدQ انتخاب كنيد يا كليد Modify -> Transform -> Free Transform
تا برچسب ست شده به طور كامل ديده شود همچنين اين كار را براي كامپوننت برچسب استفاده كنيد و عرض آن را نيز
زياد كنيد زيرا بعدا متن هاي بلندي در آن جاگذاري خواهيم كرد_
تغيير دهيد و آنگاه بر روي فريم اول كليك كرده و پس از باز كردنActionsسپس لايه اي جديد درست كنيد و نام آن را به
كدهاي زير را در آن وارد كنيدAction Scriptپنجره
// create event listener object for checkbox
myCheckboxListener = new Object();
// click event handler
myCheckboxListener.click = function ()
{
if ( myCheckbox.selected )
{
myLabel.text = "You have checked the checkbox!";
}
else
{
myLabel.text = "You have unchecked the checkbox!";
}
}
// register the event listener
myCheckbox.addEventListener("click", myCheckboxListener);
// clear the label
myLabel.text = "";
برنامه را تست كنيد و سپس بر روي مربع جعبه چك كليك كنيد و آن را فعال و غير فعال كنيدCtrl+Enter حال با زدن كليد هاي
و به متن ظاهر شده توجه كنيد
به كدهاي نوشته شده توجه كنيد خواهيد ديد كه به چه سادگي اين كدها ساخته شده و جعبه چك حاصل مي آيد
براي تعريف يك شي فعال و در بخش بعد تعريف تابع اين شي كه عمليات كليك را تعريف مي كند و new Object()دستور
كه شرط مربوط به جعبه چك را به هنگام اجراي تابع كليك از آن شي چك ميكند كه اگر انتخاب شده بود متن if.. else دستور
زير را به خاصيت متن كامپوننت برچسب ست كن و در غير اين صورت متني ديگر و بخش بعدي نيز مربوط به ثبت عمليات شي فعال ما مي باشد كه در بالا به معرفي آن شي پرداختيم اين روال براي تعريف يك شي كه در تمامي موارد كامپوننت ها ديده مي شود رعايت خواهد شد و جزو قوانين تعريف شي فعال است و در بخش آخر نيز خاصيت متن برچسب را كه كاربر مي بيند خالي مي كنيم تا محيطي زيباتر داشته باشيم
خوب كار ما به اتمام رسيد شما مي توانيد با عمليات هاي مختلف به كنترل اين نمونه بپردازيد من در فايل نمونه يك فايل گذاشته ام كه در آن انتخاب چند گزينه اي را بيان كرده ام كه به نوعي ديگر فعال مي شود كه شما پس ازcheckbox2 ديگر به نام
انتخاب جعبه هاي چك انتخابي با زدن كليدي عكس العمل مربوطه را مشاهده مي كنيد لطفا به كدهاي برنامه كاملا توجه كنيد زيرا اين برنامه را چيزي جز كد پيش نمي برد
شما ياد خواهيد گرفت كه چگونه شكلي را به جاي موس خود قرار دهيد.
خوب فلش را اجرا كنيد و كار را ادامه دهيد اما در اول بگويم اين اسم هايي كه من در اينجا براي عنصر ها به كار ميبرم حساس هستند مي گيد چطور ؟
منظورم اين است كه در اينجا اين دستوراتي كه مي نوسيم به بعضي اسم ها حساس هستند و ممكن است دچار مشكل شوند.پس در اول اسم عنصر ها را رو همون اسم هايي بگزاريد كه من مي زارم.
خوب يك دايره بسازيد و رنگ دلخواه خود را به آن بزنيد.حالا حاشيه دور دايره را پاك كنيدبراي اين كار بايد روي حاشيه دايره كليك كنيد و دكمه Delete را فشار دهيد. بعد با موس رو اون كليك كنيد و كليد F8 را زده تا پنجره زير بازشود.
حالا در قسمت Name ; mouse1 را بنويسيد و نوع عنصر رو هم از نوع Movie Clipe انتخواب كنيد همان گونه كه در آن جا انتخواب شده است.و حالا دكمه OK را بزنيد.خوب حالا اگه خوب توجه كنيد يه مربع به دور دايره شما كشيده شده است.
اين به اين معني است كه عنصر شما در كتابخانه ثبت شده است .اگر شما دكمه F11 اين پنجره باز خواهد شد.
اين پنجره كه مي بينيد كتابخانه نام دارد. شامل تمام عنصر هايي است كه در برنامه شما ثبت شده اند و همان طور كه ميبينيد آن عنصري كه با نام mouse1 ساختيم در اينجا وجود دارد.
حالا برويد و اون عنصري كه ساختيم را از روي صفحه پاك كنيد .توجه : اونودر كتابخانه پاك نكنيد بلكه فقط در روي صفحه پاك كنيد.يعني فقط با موس رو اون دايره كه كشيديم كليك كنيد تا انتخاب شود بعد آن را پاك كنيد.
خوب حالا كليد F11 را بزنيد تا كتابخانه باز شود بر روي دكمه بزنيد تا پنجره زير باز شود.
خوب حالا با اين پنجره چه كنيم در قسمت Name ; mouse2 را وارد كنيد و نوع آن را از نوع Movie Clip قرار دهيد.
وقتي كه روي OK كليك كنيد خواهيد ديد صفحه اي همانند صفحه اول مي ياد .حالا كليد F11 رو بزنيد و با موس روي عنصر mouse1 برويد و بعد روي شكل اون كه در بالاي كتابخانه ظاهر مي شود برويد. آن را به طرف صفحه خود بكشيد.
دقت كنيد كه اين عنصري را كه پايين مي آوريد بايد درست در وسط صفحه قرار بديد وگرنه در آخر كار دچار مشكل مي شيد.
يعني مثلا" اين طوري نباشه :
و بايد درست روي + قرار بگيره.
خوب حالا به scene 1 برگرديد, براي اين كار بايد رو اين قسمت كليك كنيد :
خوب حالا بايد صفحه اصلي شما خالي باشد اگر خالي نبود عنصر كه در اونجا است رو پاك كنيد.
F11 را بزنيد و عنصر mouse2 را صفحه به اصلي اضافه كنيد.( منظورم اينكه اونو از كتابخانه به سمت صفحه بكشيد).
حالا كليد F9 را بزنيد تا Action Script باز شود.
كد زير را وارد كنيد:
onClipEvent (load) {
startDrag(mouse1, true);
}
حوب حالا ببينيد كه چي كار كرديد.
راستي اگه خواستيد خود موس ديگه نشون داده نشه اين كد رو به فريم اول اضافه كنيد:
Mouse.hide();
چگونه بتوانيم خارج از سورس برنامه ; همانند بازي هاي كامپيوتري اجسام رو حركت بديم.
خوب حالا اگه با موس روي اين فلاش بالايي كليك كنيد و بعد كليدهاي حركتي بالا و پايين يا چپ و راست را فشار دهيد خواهيد ديد كه اون دايره حركت خواهد.
خوب حالا در شروع كار ; بعد از اينكه فلش را اجرا كرديد كليد F11 را بزنيد تا كتابخانه با شود.
بر روي گزينه بعلاوه كليك كنيد.
حالا در اين صفحه اي كه باز شد ; در قسمت Name به فرض Circle1 را بنويسيد. و در قسمت Behavior گزينه راديويي Movie Clip را انتخاب كنيد و دكمه OK را بزنيد.
حالا بايد قسمت مشخصات Scene به اين شكل باشد:
حالا يك دايره بكشيد. و بعد در قسمت مشخصات Scene بر روي Scene كليك كنيد. به اين صورت :
وقتي اين كار را انجام داديد فلش به صفحه اول باز مي گردد كه خالي از هرگونه ترسيمي است.
حالا دوباره به كتابخانه برويد و دوباره بر روي گزينه بعلاوه كليك كنيد.
پنجره اي همانند بنجره قبلي باز مي شود در قسمت Name به فرض Circle2 را وارد كنيد و نوع آن را هم دوباره از نوع Movie Clip قرار دهيد و بعد OK را بزنيد.
حالا در قسمت مشخصات Scene بايد Scene1 در كنار Circle2 نشان داده شده باشد.
در كتابخانه بر روي اسم Circle1 برويد و بعد شكلي در بالا كتابخانه ظاهر مي شود كه متعلق به همان Circle1 است با استفاده از عمل Drag & Drop آن شكل را به سمت صفحه فلاش خود بكشيد.
با اين كار عنصر Circle1 جزو اعضاي Circle2 مي شود.
خوب حالا بر روي اون دايره اي كه به سمت پايين كشيديد برويد و بر روي آن كليك كنيدو بعد كليد F9 را بزنيد تا Action Script باز شود.
حالا كد زير را وارد كنيد:
onClipEvent (enterFrame) {
if (Key.isDown(Key.Up)) {
this._y = _y-10;
} else if (Key.isDown(Key.DOWN)) {
this._y = _y+10;
} else if (Key.isDown(Key.Left)) {
this._x = _x-10;
} else if (Key.isDown(Key.Right)) {
this._x = _x+10;
}
}
بعد از وارد كردن كد Acton Script را بسته و دوباره بر روي گزينه Scene1 بزنيد تا فلاش به صفحه عادي بازگردد.
حالا به كتابخانه برويد و بر روي Circle2 برويد و آن رو به سمت صفحه اول فلاش بكشيد.
حال فلاش را ذخيره كنيد و بعد آن را اجرا كنيد.
خوب فلش را اجرا كنيد و كار را ادامه دهيد اما در اول بگويم اين اسم هايي كه من در اينجا براي عنصر ها به كار ميبرم حساس هستند مي گيد چطور ؟
منظورم اين است كه در اينجا اين دستوراتي كه مي نوسيم به بعضي اسم ها حساس هستند و ممكن است دچار مشكل شوند.پس در اول اسم عنصر ها را رو همون اسم هايي بگزاريد كه من مي زارم.
خوب يك دايره بسازيد و رنگ دلخواه خود را به آن بزنيد.حالا حاشيه دور دايره را پاك كنيدبراي اين كار بايد روي حاشيه دايره كليك كنيد و دكمه Delete را فشار دهيد. بعد با موس رو اون كليك كنيد و كليد F8 را زده تا پنجره زير بازشود.
حالا در قسمت Name ; mouse1 را بنويسيد و نوع عنصر رو هم از نوع Movie Clipe انتخواب كنيد همان گونه كه در آن جا انتخواب شده است.و حالا دكمه OK را بزنيد.خوب حالا اگه خوب توجه كنيد يه مربع به دور دايره شما كشيده شده است.
اين به اين معني است كه عنصر شما در كتابخانه ثبت شده است .اگر شما دكمه F11 اين پنجره باز خواهد شد.
اين پنجره كه مي بينيد كتابخانه نام دارد. شامل تمام عنصر هايي است كه در برنامه شما ثبت شده اند و همان طور كه ميبينيد آن عنصري كه با نام mouse1 ساختيم در اينجا وجود دارد.
حالا برويد و اون عنصري كه ساختيم را از روي صفحه پاك كنيد .توجه : اونودر كتابخانه پاك نكنيد بلكه فقط در روي صفحه پاك كنيد.يعني فقط با موس رو اون دايره كه كشيديم كليك كنيد تا انتخاب شود بعد آن را پاك كنيد.
خوب حالا كليد F11 را بزنيد تا كتابخانه باز شود بر روي دكمه بزنيد تا پنجره زير باز شود.
خوب حالا با اين پنجره چه كنيم در قسمت Name ; mouse2 را وارد كنيد و نوع آن را از نوع Movie Clip قرار دهيد.
وقتي كه روي OK كليك كنيد خواهيد ديد صفحه اي همانند صفحه اول مي ياد .حالا كليد F11 رو بزنيد و با موس روي عنصر mouse1 برويد و بعد روي شكل اون كه در بالاي كتابخانه ظاهر مي شود برويد. آن را به طرف صفحه خود بكشيد.به اين صورت:
دقت كنيد كه اين عنصري را كه پايين مي آوريد بايد درست در وسط صفحه قرار بديد وگرنه در آخر كار دچار مشكل مي شيد.
يعني مثلا" اين طوري نباشه :
و بايد درست روي + قرار بگيره.
نكته : هر چه اين دايره را به + نزديكتر كنيد به كرسر موس نزديكتر مي شود.
خوب حالا به scene 1 برگرديد, براي اين كار بايد رو اين قسمت كليك كنيد :
خوب حالا بايد صفحه اصلي شما خالي باشد اگر خالي نبود عنصر كه در اونجا است رو پاك كنيد.
F11 را بزنيد و عنصر mouse2 را صفحه به اصلي اضافه كنيد.( منظورم اينكه اونو از كتابخانه به سمت صفحه بكشيد).
حالا كليد F9 را بزنيد تا Action Script باز شود.
كد زير را وارد كنيد:
onClipEvent (load) {
startDrag(mouse1, true);
}
خوب تا اينجا شبيه قسمت قبل بود.
و حالا شروع كار جديد :
حالا 2 بار بر روي اون دايره كليك كنيد تا قسمت مشخصات Scene به اين صورت در بياد:
خوب حالا شما در اين قسمت مي تونيد اون دايره را پاك كنيد و به جاي اون هر چيز كه دلتون مي خواهد رو به جاي اون دايره قرار بديد.
مثلا با Import كردن يك عكس و جاي گزيني آن به جاي دايره.
بعد از جاي گزينه در قسمت تنظيمات Scene بر روي mouse2 كليك كنيد :
خوب شما حالا مي تونيد طبق قوانين انيميشن سازي به اون جسم حركت بديد.
نكته: در فيلم مي بينيد كه بعد از كليك من يك فريم جديد درست مي شود. اما اين طور نيست شما بايد بعد از كليك كردنتون بر روي قسمت فريم ها ; كليد F6 را فشار دهيد تا يك فريم جديد درست شود.
به جز اين كاري كه من كردم ; اگه شما با شيوه هاي انيمشن سازي در فلاش آشنا باشيد ; مي تونيد هر نوع حركتي يا كاري را با اين جسم انجام بديد.
بتداي كار ، من تئوری اين موضوع را شرح مي دهم ، سپس به صورت عملي آن را با هم خواهيم ديد.
نرم افزار Flash براي نمايش يك فايل به صورت فريم فريم عمل مي كند. يعني در ابتدا فريم شماره 1 و 2 و 3 ... را مي خواند و به ترتيب مطالب درون آنها را نمايش مي دهد.
حال اگر بخواهيم فايل نرم تر نمايش داده شود و در هيچ كجاي نمايش وقفه اي ايجاد نشود ، راه حل چيست ؟
مي توان تمامي فريمها را در ابتدا خواند و سپس همگي را نمايش داد !
اين همان راهي است كه به PreLoad معروف مي باشد. همان درصدي كه شما گفته ايد.
حال بياييد در عمل اين تكنيك را مشاهده كنيم ...
ابتدا به خاطر داشته باشيد طرحهاي خود را از فريم شماره 1 شروع نكنيد ! به طور مثال كار طراحي خود را از فريم شماره 5 ( يا هر چيزي بيشتر از 1 ) شروع كنيد.
چرا كه ما مي خواهيم از فريم شماره 1 براي انجام عمليات PreLoad استفاده كنيم.
همان طور كه در تصوير مشاهده مي فرماييد من كار طراحي اصلي خودم را از فريم شماره 5 شروع كردم. ابتدا بر روي فريم شماره 1 كليك كنيد و در پنجره Frame و در قسمت Label يك نام به اختيار براي آن انتخاب نماييد.
به طور مثال من كلمه Loop را انتخاب كرده ام. پس از اين كار يك پرچم قرمز رنگ بر روي فريم مورد نظر شما ( فريم شماره 1 ) ظاهر مي شود بدين معني كه اين فريم شما از اين پس با نام Loop شناخته مي شود.
حال با توجه به شكل بر روي فريم شماره 2 ، دو بار كليك كنيد و يك Action به آن اضافه نماييد. توجه كنيد Action ما در حقيقت همان تئوری است كه من در ابتدا توضيح داده ام.
اين هم كدي كه لازم داريد :
loadedFrames = getProperty("/", _framesloaded);
totalFrames = getProperty("/", _totalframes);
if (Number(loadedFrames)
percentageOutput = int((loadedFrames/totalFrames)*100);
gotoAndPlay ("loop");
} else {
gotoAndPlay ("start");
}
حال ممكن است سوال كنيد كلمه start از كجا پيدا شده ؟
اين كلمه نيز دقيقاْ مانند همان كلمه loop است كه من به صورت اختياري انتخاب كردم.
فريم شماره 5 را نيز همانند شيوه قبلي نامگذاري كردم.
خوب حالا معني اين Action چيست ؟
اگر به جملات كد دقت نماييد ، به اين صورت مي توانيد برداشت كنيد.
ابتدا تعداد فريمهاي لود شده توسط برنامه را در يك مقدار با نام loadedFrames نگه مي داريم.
سپس كل تعداد فريمهاي فيلم را در مقدار ديگري با نام totalFrames نگاه مي داريم.
حال مي گوييم اگر مقدار فريمهاي لود شده كمتر از كل فريمها بود ... يعني ...
if (Number(loadedFrames)
برو به سمت فريم اول كه با نام loop مشخص كرده ايم.
اگر به اين صورت نبود برو به سمت فريم start و فيلم را شروع كن !
خوب حالا يك مقدار ديگر هم با نام percentageOutput درست كرده ايم كه كارش نگاه داشتن درصد پيشرفت لود كردن فريمها است ! توسط اين فرمول :
percentageOutput = int((loadedFrames/totalFrames)*100);
خوب اين مقدار مي تواند درصد پيشرفت لود فايل و دقيقاْ چيزي كه شما مي خواهيد را نمايش دهد !
به همين راحتي !
اين هم چند نمونه به همراه Source براي كاركردن :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
موفق باشيد
شما حتما موقعي كه در ويندوز يا برنامه هاي ديگر مشغول كار هستين . با زدن يك كليد يا دادن اشتباه يك داده برنامه يك پيغامي مبني بر اشتباه بودن كارتون بهتون ميده. در همين حال فلش نيز يك امكان بسيار خوبي رو در كامپونت هاش براي ما به ارمغان اورده كه مي تونيم همون كار و در برنامه هايي كه با فلش درست مي كنيم بكار ببريم و يك نوع ارتباط را با كاربر بر قرار كينم. و نوع جواب اون هم بتونيم كنترل كنيم.
(Ctrl + N) ابتدا فايل جديد باز كنيد
File -- > New --> Flash Document
تغيير دهيد. button and actions دو لايه ايجاد كرده و نام آنها را از پايين به بالا به
در لايه به داخل صحنه Button يك UI Components و از شاخه (Ctrl+F7)سپس پنجره كامپوننت را باز كرده
انجام دهيد Alert و اين كار را نيز با يك (Drag & Drop)منتقل كنيد.Button در لايه
مهم نيست بدليل اينكه در بخش بعدي خواهيد ديد كه ما آن را حذف مي كنيم . دليل اين كار اين است Alert محل قرارگيري )
(.سند خودمون نياز داريم نه در صحنهLibrary كه ما آن را در كتابخانه
x مقدار Var تغيير بديد و بعد در قسمت Dynamic Text قرار داده و نوع آن را به Button در بالاي Text Field سپس يك
.نسبت بدهيد
باشه بهترهactions در لايه Text محل قرارگيري اين
(Click & Press Delete)را از صفحه حذف كنيد Alert سپس
خوب شايد تعجب كنيد كه چه جوري وقتي كه پنجره آلرت در صفحه نيست اون كار خواهد كرد؟ خيل آسون.. زيرا آلرت تماما با كد كار ميكنه... اگه مي خواين اين مطلب بهتون ثابت بشه روي فريم اول از لايه اول كليك كرده و سپس
و كد زير رو در اون كپي كنيد(F9) را باز كنيد Action Script پنجره
x="";
// load the Alert class
import mx.controls.Alert;
// create the button listener
myButtonListener = new Object();
// create the click method on the listener
// to listen for button clicks
myButtonListener.click = function ()
{
// Display an alert
// where the message is "Az een amoozesh..."
// and the title of the dialog is "MajidOnline Error".
// Show a NO and CANCEL button and make the
// NO button the default button.
Alert.show
(
"Az een amoozesh Khoshetoon Omad???Lezat Bordin??",
"MajidOnline Error",
Alert.NO | Alert.CANCEL,
_root, alertHandler,
Alert.NO
);
}
// make the myButtonListener listener listen
// for click events on myButton
myButton.addEventListener("click", myButtonListener );
// create the alert handler callback
alertHandler = function ( theEvent )
{
// check which button the user pressed
if (theEvent.detail == Alert.NO)
{
// no button
x = "No??? Cheraaaaaaa?";
}
else if (theEvent.detail == Alert.CANCEL)
{
// cancel button
x = "Cancel?!? Manzoor eene ke Are!!!";
}
}
(Ctrl+Enter)!!!و حالا آن را اجرا نماييد
استفاده كردمCancel و No من اينجا از دو كليد
ولي شما مي توانيد از 4 نوع كليد مختلف كه با كدهاي زير تعريف مي شوند استفاده كنيد
Alert.YES, Alert.NO, Alert.OK and Alert.CANCEL
سلام.
توي اين مقاله قصد داريم تا آموزش ساخت ساعت عقربه اي و يك توضيح اجمالي در رابطه با ساعت هاي ديجيتالي داشته باشيم.
ساخت ساعت ديجيتال :
ابتدا يه سند جديد باز كنيد و يك تكست فيلد ايجاد كرده و اون رو در حالت Dynamic قرار بديد و در قسمت var تايپ كنيد : clock
حالا با زدن كليد هاي Ctrl+F8 تكست فيلدتون رو به يك MovieClip تبديل كنيد :
حالا اين اكشن ها رو به مووي كليپتون متصل كنيد :
onClipEvent (enterFrame) {
time = new Date();
hour = time.getHours();
min = time.getMinutes();
sec = time.getSeconds();
clock = hour+":"+min+":"+sec;
} اين اسكريپت در هر فريم يك آبجكت تاريخ خالي درست مي كند و فلش هم تاريخ هاي خالي را از كامپيوتر كاربر مي گيرد و ساعت ، دقيقه و ثانيه را به ترتيب در متغير هاي min ، hour و sec قرار مي دهد و سپس ان را در متغير clock ذخيره مي سازد ... حالا بايد ساعت شما كار كنه (دقت كنيد كه چه رنگي براي تكست فيلد تون انتخاب كرديد)
ساخت ساعت عقربه اي :
اين ساعت هم مانند ساعت ديجيتال ساختار مشابهي داره و فقط به جاي اينكه ساعت و دقيقه و ثانيه رو توي تكست فيلد نشون بده ، عقربه ها رو ميچرخونه ...
يك مستطيل باريك روي صفحه ايجاد كنيد و به يك MovieClip تبديلش كنيد بعد دو بار Duplicate ش كنيد (Ctrl+D) حالا شكل ها رو به هر صورتي ميخوايد در بياريد ، اين شكل ها همون عقربه ها هستن .
بعد Instance Name عقربه هاتون رو به اين شكل تغيير بديد : ساعت شمار : hourmc دقيقه شمار : minmc ثانيه شمار : secmc
حالا به محيط ويرايش Movie Clip تون بريد و شكلتون رو به طرف بالا حركت بديد طوري كه محور MovieClip تون پايين عقربه باشه :
يك دايره كوچك براي مركز ساعت رسم كنيد و به MovieClip تبديلش كنيد (فراموش نكنيد موقع تبديل موقعيت Registration را در حالت قرار دهيد) سپس اين شكل رو در مركز شكل كلي ساعتتون قرار بديد :
حالا اين اسكريپت رو هم به همون MovieClip مركز ساعت متصل كنيد :
onClipEvent (enterFrame) {
//-----------------------
_parent.secmc._x = this._x;
_parent.secmc._y = this._y;
_parent.minmc._x = this._x;
_parent.minmc._y = this._y;
_parent.hourmc._x = this._x;
_parent.hourmc._y = this._y;
//-----------------------
analog = new Date();
hour = analog.getHours();
min = analog.getMinutes();
sec = analog.getSeconds();
hour = hour + (min/60);
//-----------------------
_parent.secmc._rotation = sec*6;
_parent.minmc._rotation = min*6;
_parent.hourmc._rotation = hour*30;
} در آخر كل شكلتون رو ميتونيد به يك MovieClip تبديل كنيد ...
قسمت اول اسكريپت براي مرتب سازي MovieClip هاي عقربه است به طوري كه مكان هر عقربه رو به مركز خود دايره مياره ...
قسمت دوم اسكريپت رو كه قبلا توضيح دادم قستم ، قسمت سوم هم بااستفاده از ساعت و دقيقه و ثانيه ها ، خصيصه چرخش (rotation_) عقربه ها رو تنظيم ميكنه ...
سلام مجدد این آموزش ها توسط من و الفین تهیه شده که البته یه 4 5 تای دیگه ای هم هست که میزاریم واسه هفته ی بعد در ضمن اگه در هم ریخته گی ای بود به دلیل حجم زیاد و وقت کم ما دو تا بود به بزرگی خودتون ببخشید
staywithme اويل با آموزشات حال كردم خوشم اومد ! آفرين مخصوصا با ارسال E-mail !
ادامه بده !
.سلام امروز می خواهم شما را با نحوه ساخت یک کنترل کننده صدا درمحیط فلش آشنا کنم
.می سازیم Volume Bar , Buttons , Text , Actions برای این کار ابتدا چهار لایه به نام های
.را انتخاب کنید Actions رایت کلیک کرده و گزینه Actions حال بر روی فریم اول از لایه
.اضافه کنید Actions حال دستورات زیر را در قسمت
var volPercent = 50;
volumeText = volPercent + "%";
volumeFill._yscale = 50;
mySound = new Sound();
mySound.attachSound("soundFile");
mySound.setVolume(volPercent * 2);
حال لایه
.این لایه مربوط به نشان دادن کمی یا بلندی صدا می باشد که به درصد نشان می دهد
.تغییر دهید Dynamic Text را به Static Text گزینه Properties انتخاب کرده و در سمت چپ قسمت Tool را از پانل Text Tool برای ساخت و تنظیمات این لایه
.در آن قسمت دیده شود Text Box حال در هر قسمت از صفحه که می خواهید درصد کمی یا بلندی صدا نمایش داده شود کلیک کنید تا
.را انتخاب کنید Buttons حال لایه
.قرار دارد ( + Volume , - Volume , Stop , Play ) در این لایه چهار عدد دکمه به نام های
.موزیک شروع به خواندن می کند Button با فشردن این : Play
.صدای موزیک قطع می شود Button با فشردن این : Stop
.صدای موزیک کم خواهد شد Button با فشردن این : - Volume
.صدای موزیک زیاد خواهد شد Button با فشردن این : + Volume
.به نام هایی که در بالا ذکر شد بسازید ( Button ) دکمه Symbol چهار عدد
.ها را در زیر می نویسم Button هر یک از Action Script حال
+ Volume
on (release){
if (volPercent != 100){
volumeFill._yscale += 2;
volPercent += 2;
volumeText = volPercent + "%";
mySound.setVolume(volPercent * 2);
}
}
- Volume
on (release){
if (volPercent != 0){
volumeFill._yscale -= 2;
volPercent -= 2;
volumeText = volPercent + "%";
mySound.setVolume(volPercent * 2);
}
}
Stop
on (release){
mySound.stop();
}
Play
on (release){
mySound.stop();
mySound.start(0, 10000);
}
سلام
اينم طريقه ساختن ولوم كنترلر :
1-يك سند جديد در فلش باز كنيد و 4 لايه ايجاد كنيد و نام آنها را به ترتيب از پايين به بالا به صورت زير قرار دهيد:
s1
s2
sound
action
2- در لايه s1 شكلي مانند کنترل کننده های صدا بشید ( مثلث قائم الزاویه ای ه به صورت کشیده باشد.) بكشيد و بعد از انتخاب كردن آن F8 را بزنيد و نام سمبل را line گذاشته و بعد از انتخاب graphic از قسمت behavior بر روي ok كليك كنيد
3- حالا به صحنه اصلي برگرديد و در لايه s2 شكلي شبيه شكل زير بكشيد و بعد از انتخاب كردن آن F8 را بزنيد و نام سمبل را mc گذاشته و بعد از انتخاب movie clip از قسمت behavior بر روي ok كليك كنيد.حالا دوباره كل شك را انتخاب كنيد وF8 را بزنيد و بعد از انتخاب Button از قسمت behavior بر روي ok كليك كنيد.
- به mc برگشته و در قسمت اكشن button دستورات زير را قرار دهيد:
on (press) {
startDrag("", false, left, top, right, bottom);
}
on (release) {
stopDrag();
}
4- به صحنه اصلي برگشته و در قسمت اكشن مووي كليپ mc كد زير را قرار دهيد:
onClipEvent (load) {
top = _y;
bottom = _y;
left = _x;
right = _x+100;
_x += 100;
}
onClipEvent (enterFrame) {
_root.song.setVolume(_x-left);
}
5- به لايه sound رفته و آهنگ مورد نظر را به اين لايه وارد كنيد(ctrl+R) .
6- حالا در قسمت اكشن لايه action دستور زير را وارد كنيد:
song = new Sound();
سلام دوستان ...
اول بايد چند تا نكته رو بگم ...
فلش (فعلا) اين قابليت رو نداره كه اطلاعات شما (معمولا متغير ها) رو به طور مستقيم داخل يه فايل ذخيره كنه و يا اينكه با بانكهاي اطلاعاتي ارتباط داشته باشه ...
البته قابليتي كه در فلش MX 2004 گنجونده شده اينه كه شما ميتونيد با استفاده از اون مكاني رو براي ذخيره اطلاعات قرار بديد ...
ٌٌكه البته دو تا عيب داره ... يكي اينكه دوراز دسترس كاربر نهاييه و ديگري اين كه شما فقط در Windows ميتونيد از اون استفاده كنيد و امكان استفاده در Server رو نداريد ...
حالا ما اينجا روشي رو ميگيم كه شما ميتونيد با استفاده از اون در سرور هايي كه Php رو پشتيباني ميكنن ، اطلاعات تون رو ذخيره كنيد ...
در آخر هم با استفاده از همين روش ، چگونگي ارتباط بين فلش و Php رو براي دسترسي به MySql DataBase مي گيم ...
براي اينكه شما بتونيد اطلاعاتتون رو ذخيره كنيد به اين احتياج داريد كه متغير هاتون رو به يك فايل Php بفرستيد تا براتون ذخيره كنه ...
فرستادن متغير ها به دو صورت ( متد Method ) امكان پذيره ... يكي به صورت GET و ديگري به صورت POST . درخواست هاي Get معمولا از ايمني كمتري برخوردارن ... چون محتويات متغير هاتون رو هنگام ارسال ، بصورت واضح نشون ميده .... (البته نه در فلش ... اگر در فلش از اين متد استفاده كنيد ... فقط توي Temporary Internet Files در خواست ها ديده ميشن)
در خواست هاي GET معمولا به صورت زيره :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
همونطور كه ميبينيد به وضوح ، توي فايل "File.php" متغيري به نام "variable" ايجاد شده كه محتوياتش "Content" هست ...
اما درخواست هاي POST بدون اينكه ديده بشن ، ارسال ميشن ...
توي فلش هم شما آزاد هستيد كه از هر كدوم از اينها بخوايد استفاده كنيد ...
حالا شروع ميكنيم به ساخت فايلهامون ...
فرض كنيد ميخوايم يه فرم بسازيم كه كابر بتونه توسط اون ثبت نام كنه ... و شما هم ميخوايد كه نام كابري ، كلمه عبور و ايميل اون رو با فرمت خاصي وارد فايلي به نام "Users.txt" بكنيد ...
ميخوايم هر كاربري كه ثبت نام ميكنه با فرمت Username: String/Password: Hash Md5/E-mail: String توي فايل بنويسيد ... مثلا اين يه فايل نمونه است :
Amir/ca0dbad92a874b2f69b549293387925e/amir_s32@yahoo.com
Majid/ff8104697613ed3ef1ad05867fccbe3c/info@majidonline.com
Kami_mz/e46fa9f744f9c59384eaa308ae9012e8/info@farsiprojects.com
البته بايد رو اين نكته دقت داشته باشيد كه نام كاربري و ايميل نبايد حاوي كاراكتر "/" باشند ...
خوب ... حالا فرم رو درست ميكنيم :
همونطور كه ميبينيد كلا 5 تا فيلد هست كه 4 تا شون بايد توسط كاربر پر بشه ...
4 فيلد اول به ترتيب به متغير هاي email ، userpassword2 ، userpassword ، username پيوند داده شدن، فيلد پنجمن هم براي نشون دادن اينه كه برنامه در حال انجام چه كاري هست ، كه اون هم به متغير state پيوند داده شده
دقت كنيد كه Instance name فيلد نام كاربري username_f و براي ايميل email_f هست ...
براي اينكه كاربر نتونه كاراكتر "/" رو توي نام كاربري وارد كنه و ما هم محدوديت بيشتري رو براي وارد كردن ايميل بذاريم ، بايد اين كاراكتر هايي كه اجازه ورود به فيلدها رو دارن محدود كنيم ، اين اسكريپت رو به تنها فريم فايل ميديم :
username_f.restrict = "0-9"+"a-z"+"A-Z"+"\\-_.";
email_f.restrict = "0-9"+"a-z"+"A-Z"+"\\-_"+"@.";
براي اينكه كاربر ايميل خودشو درست وارد كنه ، اين تابع رو هم تعريف ميكنيم ... (چون اصل كار ما در اينجا ارتباط با سرور هست ، در باره اين كد توضيحي نميدم) ، اين كد رو در فريم اول بذاريد :
function checkMail(mail:String) {
var out:Boolean;
if (mail.length<6) {
out = false;
state = "Email address too short";
} else if (mail.indexOf("@") == -1) {
out = false;
state = "Missing @";
} else if (mail.indexOf(".") == -1) {
out = false;
state = "Missing the dot";
} else {
state = "";
out = true;
}
return out;
}
خوب حالا اين اسكريپت رو هم به دكمه ميديم :
on (release) {
if ((userpassword == userpassword2) and (username != undefined) and (checkMail(email))) {
this.loadVariables("http://www.Your-Server.com/reg.php","POST");
state = "Crating your Profile";
listen = true;
}
}
نكته : ما در اينجا از متد POST استفاده ميكنيم و اطلاعات رو به آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ميفرستيم ، شما بايد آدرس فايل خودتون رو اينجا وارد كنيد ...
چيز ديگه اي كه اينجا اضافه شده قسمتي هست كه متغير listen رو روي true تنظيم ميكنه ... ما با اين كار ميخوايم قسمتي از برنامه رو وادار به اين كار بكنيم كه ببينه ثبت نام كي تموم ميشه و بعد به كاربر اطلاع بديم ...
پس اين كد رو هم در ادامه توي فريم اول ميذاريم :
onEnterFrame = function () {
if (listen) {
if (created == "ok") {
listen = false;
state = "Your profile created !";
}else if (created == "problem") {
listen = false;
state = "ERROR !!!";
}
}
}
(اين ابتدايي ترين كار ممكنه !)
خوب ... كار ما با فلش تموم شد ... ميريم سراغ Php :
يه فايل به اسم reg.php درست بكنيد ... توي Php براي اينكه به متغير هاي ارسالي دسترسي داشته باشيد ، بايد از آرايه هايي به نام " آرايه هاي انجمني " و يا " فراگير " استفاده كنيد ...
اين آرايه ها به طور كلي به اين شكل هستن :
$HTTP_*_VARS["variable"];
شما ميتونيد به جاي * از كلمات POST ويا GET استفاده كنيد و انديس (Index) آرايه تون رو اسم متغير بديد ، براي مثال :
$HTTP_POST_VARS["username"];
البته ميتونيد به جاي نوشتن اسم بلند اين آرايه ، از آرايه هاي كوتاه تر استفاده كنيد :
$_POST["username"];
$_GET["username"];
(توجه كنيد كه در Php تمام متغير ها با علامت "$" شروع ميشوند)
.... فايل reg.php رو باز ميكنيم و اينها رو توش مينويسيم :
<?php
$username = $_POST["username"];
$password = md5($_POST["userpassword"]);
$email = $_POST["email"];
if ($file = fopen("Users.txt","a+")) {
if (fwrite($file,"$username/$password/$email\r\n")) {
echo("created=ok");
}else {
echo("created=problem");
exit;
}
}else {
echo("created=problem");
fclose($file);
exit;
}
fclose($file);
?>
شما به همين صورت ميتونيد متغير هاي جديدي اضافه كنيد و استفاده كنيد ...
براي برقرار كردن ارتباط بين فلش و MySQL هم ميتونيد از همين روش استفاده كنيد ... اطلاعات رو از فلش بگيريد و query هاي مورد نياز خودتون رو با استفاده از اونها درست بكنيد ...
براي اين كار بايد در زمينه ديتابيس ها خبره باشيد ... براي مثال :
<?php
$username = $_POST["username"];
$password = md5($_POST["password"]);
$email = $_POST["email"];
//-------------------------------------
$dbhost = "localhost";
$dbname = "onlineReg";
$dbusername = "root";
$dbpassword = "secret";
$conn = mysql_connect($dbhost,$dbusername,$dbpassword) or die("state=Internal Error !");
$sql = mysql_select_db($dbname,$conn) or die ("state=Internal Error !");
$query = "INSERT INTO users VALUES ($username,$password)";
mysql_query($query,$conn);
mysql_close($conn);
?>
شما به همين ترتيب ميتونيد انواع query هاي خودتون رو بسازيد و حتي اطلاعات به دست اومده از اون ها رو در قالب خاصي كه فلش پشتيباني ميكنه ، توسط دستور echo چاپ كنيد ...
موفق باشيد ...
تشکر مخصوص از همه بچهای عزیزبخش فلش و انیمیشن پی سی ورلد به خصوص elfin عزیز که بزرگترین کمک را به من کرد که توانستم بهد از 11 ماه فایل فلشی که ساخته بودم را روی سایت ببینم
امیدوارم که موفق باشید...;:flower:;
لینک فایلی که آپلود کردم
چگونه میتوانم یک فیلم کوتاه اول و در زمان لودینگ بجای اعداد و ارقام پخش کنم
مثلا یک کلمه loading که خاموش روشن می شودو به همراه یک درصد
لینک فایلی که آپلود کردم
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
چگونه میتوانم یک فیلم کوتاه اول و در زمان لودینگ بجای اعداد و ارقام پخش کنم
مثلا یک کلمه loading که خاموش روشن می شودو به همراه یک درصد
دوست عزيز چه بهتر بود كه سئوالتون رو در قسمت رفع اشكال مطرح مي كرديد.براي اين كار كافيه يك movie clipبسازيد و در فريم هايي كه لودينگ هست قرار بديد.كه اين movie clip شامل متن چشمك زن loadingهست
آموزش فرستادن میل با فلشم کار نکرد اگر لینک طرح خودتونو لطف کنین ممنونم
لینک من اینه :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
من در جريان اموزش قرار گرفته روي سايت نيستم ولي تا اونجا كه ميدونم فلش به تنهايي نميتونه ميل سند كنه مگر در شرايط خاص
Staywithme عزیز خیلی عالیه . ادامه بده (قول میدم دیگه اینجا پست بیهوده ندم)
(شرطی که میخواهم ) gotoAndStop(2) if{
}
;
سلام من یک اکشن می خواستم که در صورتی به فریم 2 برود که کلید مثلا start در حالت down باشد .
فقط سریع جوابم را بدهید عجله ای هست
ممنون
شما يك باتن درست كن بعد اين كد رو بده
کد:on (press) {gotoAndStop(2);
}
نه این یک کلید دیگس باید برای این کلید یه شرط بزارم که تا کلید قبل زده نشده اجرا نشود
من كه نميفهمم
ببین عزیز یک کلید دارم مثلا بنام open و یکی هم بنامstartحالا میخوام برای open یه شرطی بزارم که تا startزده نشده به حالت down وارد نشه
elfin جان کجایی؟؟؟
اين امكان وجود نداره
چرا من بعضی جاها دیدیم مثلا در جاهایی که اطلاعاتی رو میخواد تا کامل نکنی نمی شه کلیرو بزنی
لطفا هر جوری هست کمکم کن چون خیلی موضوع مهمه
ممنون