شرح مختصری از ماجرا
ایجاد ارتباط بین دو فایل Flash مجزا که در یک صفحه قرار داده شده اند (و یا حتی فایل های Flash ای که همزمان در یک دستگاه اجرا می شوند)، یک راه عالی برای تقسیم پروژه به فایل های کوچک تر و در پی آن خطایابی آسان تر و همچنین امکان توسعه های بعدیِ راحت تر می باشد. ما می توانیم به راحتی از طریق یک فایل Flash به یک فایل دیگر، متغییر ارسال کرده و یا حتی یک تابع از آن فراخوانی کنیم... به عنوان مثال شما می توانید دو فایل Flash را در نظر بگیرید که در یکی، یک منو (مثلا یک navigation menu) و در دیگری محتوای بخش های مورد نظر وجود دارد که با استفاده از منوی موجود در فایل اول، می توانیم محتوای موجود در فایل دوم را مدیریت کرده و هر کدام از موارد مورد نظر را مشاهده نمائیم. در ادامه ی بحث، شما می توانید به یک نمونه عینی که برای دریافت درک بهتر از ماجرا در اینجا آورده شده، نگاه کرده و موضوع را به طور کامل لمس کنید و بعد از آن با هم به کد های مورد نیاز برای ساخت این نمونه خواهیم پرداخت... در این نمونه شما می توانید در فایل Flash اول (قرمز) متن مورد نظر خود را تایپ کرده و آن را به فایل Flash دوم (آبی) ارسال نمائید و همینطور برعکس. در ضمن برای راحتی بیشتر، من با قرار دادن یک keyListener بر روی دکمه ی ENTER صفحه کلید، شما را از فشردن دکمه ی " ارسال " بی نیاز کردم و شما تنها با زدن دکمه ی ENTER می توانید به مقصود خود برسید... بله، این مورد شما را هم مثل من، به طور حتم یاد یک مورد خاص انداخت! یک اپلیکیشن ساده ی Chat تحت فلش! پس عجله کنید و در همین جا چت کردن با خودتون رو کمی تمرین کنید...!
به نمونه ی زیر دقت کنید
در اینجا شما می توانید متن مورد نظر خود را (که با رنگ آبی مشخص خواهد شد) تایپ کرده و آن را به فایل Flash با رنگ آبی ارسال نمائید:
و در اینجا نیز شما می توانید متن مورد نظر خود را (که با رنگ قرمز مشخص خواهد شد) تایپ کرده و آن را به فایل Flash قبلی با رنگ قرمز بفرستید:
کدهای مورد نیاز برای برقراری ارتباط بین دو فایل Flash در نمونه ی فوق
از توضیحات اضافه صرفه نظر می کنم و مستقیم به کد های مورد نیاز می پردازم. در جاهایی از کد که نیاز به توضیحات بیشتری باشد، در بالای همان خط به صورت کامنت این توضیحات ذکر شده است.
کدهای مورد نیاز برای فایل Flash اول (قرمز):
//دیگر Flash دریافت از فایل //برای دریافت متن local connection ساخت یک var receiving_lc:LocalConnection = new LocalConnection(); //دیگر فراخوانی میشود Flash تابعی که از فایل receiving_lc.recieveBlueText = function(textRecieved:String) { feedback.text += textRecieved+"\n"; }; //دریافت اتصال از طریق نام مورد نظر receiving_lc.connect("fromBlue"); //دیگر Flash ارسال به فایل sendButton.onRelease = function() { //برای دریافت متن local connection ساخت یک var sending_lc:LocalConnection = new LocalConnection(); //تایپ شده را در یک متغییر میریزیم text متنی که درکنترل var textToSend = inputText.text; //ارسال پارامتر، فراخوانی متد و ارسال از طریق اتصال مورد نظر sending_lc.send("fromRed", "recieveRedText", textToSend); //inputText تخلیه ی کنترل inputText.text = ""; }
|
کدهای مورد نیاز برای فایل Flash دوم (آبی): - توضیحات این قسمت، دقیقا شبیه توضیحات قطعه کد مربوط به فایل Flash قرمز می باشد که از تکرار آنها در این بخش خودداری شد -
//دیگر Flash دریافت از فایل var receiving_lc:LocalConnection = new LocalConnection(); receiving_lc.recieveBlueText = function(textRecieved:String) { feedback.text += textRecieved+"\n"; }; receiving_lc.connect("fromRed"); //دیگر Flash ارسال به فایل sendButton.onRelease = function() { var sending_lc:LocalConnection = new LocalConnection(); var textToSend = inputText.text; sending_lc.send("fromBlue", "recieveBlueText", textToSend); inputText.text = ""; }
|
قطعه کد مورد نیاز برای مدیریت دکمه ی ENTER از صفحه کلید که باید در هر دو فایل Flash استفاده شود:
// از صفحه کلید، برای ارسال ENTER فشردن کلید var keyListener:Object = new Object(); keyListener.onKeyDown = function() { if (Key.getCode() == "13") { sendButton.onRelease(); } }; Key.addListener(keyListener);
|
و در انتها...
همانطور که مشاهده کردید، تنها با چند خط کد ساده می توانید به راحتی بین فایل های Flash خود ارتباط برقرار کرده و آنها را مدیریت کنید. و حتما تا الان به اهمیت این موضوع برای ساختن پروژه های (مخصوصا تحت وب) خود به صورت ساده تر، سریع تر و در کلام آخر حرفه ای تر واقف شده اید... پس با استفاده از این روش و با گرفتن ایده ی کلی از نمونه ی مذکور، می توانید ایده ها و نقشه های خود رو برای ساخت این قبیل پروژه های Flash-Based پرورش داده و آنها را عملی کنید. در انتها، شما می توانید پروژه ی نمونه ی فوق را از لینک دانلود در بالای صفحه دریافت نموده و حتی تغییرات مورد نظر خود را به صورت عملی بر روی آن اعمال کنید و نتیجه را مشاهده نمائید...
موفق و موید باشید...