خانه » مالتی مدیا » ادوبی فلش » ساخت تابع getURL در اکشن اسکریپت ۳

ساخت تابع getURL در اکشن اسکریپت ۳

ساخت تابع getURL در اکشن اسکریپت ۳

اگر با اکشن اسکریپت ۲ کار کرده باشید حتما می دانید ،برای درخواست های بازکردن لینک ها و آدرس های وب و درخواست های وب از فرمان getURL استفاده می شود. البته این تابع به این شکل دیگر در اکشن اسکریپت ۳ پشتیبانی نمی شود. در این مطلب می خواهیم این تابع را با همان نام قدیمی و آرگمان های قدیمی برای اکشن اسکریپت ۳ آماده کنیم.

ابتدا کلاس های مورد نیاز را import می کنیم

import flash.net.URLRequest;
import flash.net.navigateToURL;

در مرحله بعد ما تابعی با همان نام (getURL) تعریف می کنیم و آرگمان ها را نیز به همان صورت معرفی می کنیم ، آرگمان اول در getURL مربوطه به آدرس (URL) و آرگمان دوم target که به نوع باز شدن مربوطه می شد.

function getURL(url:String, target:String = null)
{
	try
	{
		navigateToURL(new URLRequest(url), target);
	}
	catch (error:Error)
	{
		trace("[getURL] "+error);
	}
}

در نهایت بخش اصلی کد ما که آن را درون try می نویسیم تا بتوانیم خطای احتمالی آن را catch کنیم. در این بخش طبق استاندارد جدید اکشن اسکرپیت ۳ برای بازکردن لینک ها از کلاس های navigateToURL و URLRequest استفاده می کنیم. که نقش URLRequest مشخص کردن محتوای متنی به عنوان درخواست URL می باشد و نقش navigateToURL باز کردن پیوند (link) طبق آرگمان های ورودی می باشد.

حال می توانید با سرعت بیشتر و مثل تابع getURL درخواست های مربوطه به پیوند های خودتان را اجرا نمایید.

Print Friendly, PDF & Email
تگ ها :
پیوند مطلب قبلی
پیوند مطلب بعدی

درباره بهروز پولادرگ

متولد : ۵ مرداد سال ۱۳۶۷ ، حرفه : ادوبی فلش ، برنامه نویسی و طراحی وب ، طراحی گرافیک ، مالتی مدیا ، نرم افزار های تحت وب

21 نظر

  1. سلام خسته نباشید ممنون از سایتتون
    چند تا دکمه دارم که می خوام بعد از زدن هر کدام به یک سایت بره با اکشن اسکریپت ۳ هم هست این کدها را نوشتم درست جواب نمی گیرم یک نگاهی بی زحمت می اندازین بگین ایرادش کجاست ممنون می شم

    stop();
    import flash.events.MouseEvent;
    import flash.net.URLRequest;
    import flash.net.navigateToURL;
    function getURL1(url:String, target:String = null)
    {
            try
            {
                    navigateToURL(new URLRequest(url), target);
            }
    		catch (error:Error)
            {
                    trace("[getURL] "+error);
            }
            
    }
    multi.addEventListener(MouseEvent.CLICK, getURL1("http:// www. iflashlord.com/"));
    publish.addEventListener(MouseEvent.CLICK, getURL1("http:// www. iflashlord.com/en.html"));
    
    • سلام
      شما نمی توانید به صورت مستقیم این تابع را فراخوانی کنید
      تابعی که می بایست فراخوانی کنید با دارای آرگمان دریافت رویداد کلیک موس باشد ، کد شما می بایست به این صورت باشد

      stop();
      import flash.events.MouseEvent;
      import flash.net.URLRequest;
      import flash.net.navigateToURL;
      function getURL1(url:String, target:String = null)
      {
      try
      {
      	navigateToURL(new URLRequest(url), target);
      }
      catch (error:Error)
      {
      	trace(“[getURL] “+error);
      }
      
      }
      
      
      function link1(e:MouseEvent) {
      	getURL1("http:// www. iflashlord.com" , "_blank");
      }
      
      function link2(e:MouseEvent) {
      	getURL1("http:// www. iflashlord.com/en.html", "_blank");
      }
      
      multi.addEventListener(MouseEvent.CLICK, link1 );
      publish.addEventListener(MouseEvent.CLICK,link2 );
      
      

      موفق و پیروز باشید

  2. سلام
    ببخشید چطور می تونم طوری این دستور رو تعریف کنم که لینک در صفحه ی جدید باز بشه؟
    ممنون

  3. سلام

    من میخوام یک صفحه فلش درست کنم که بصورت لینک به صفحات داخلی و همچنین فراخوانی فایل های که به فرمت exe هست باشه .
    لطفا در کد نویسی کمکم کنید

    با تشکر

    • سلام برای مالتی مدیا ها و باز کردن exe ها فلش یک راه معرفی کرده است که توسط پوشه fscommand می باشد که خیلی توصیه نمی شود و محدودیت هایی را برای شما ایجاد می کند
      راه بعدی استفاده از برنامه های کمکی مثل MDM Zinc و یا MProjector و… می باشد که این امکانات و دهها امکان دیگر برای مالتی مدیا در اختیار شما قرار می دهد
      موفق و پیروز باشید

  4. فرزاد احمدی

    با سلام خدمت آقای پولادرک
    بنده می خواستم داخل یک صفحه دکمه ای رو قرار بدم و وقتی دکمه کلیک شد صفحه داخلی باز بشه تو AS2 خیلی سورس برای این مورد وجود داره ولی متاسفانه تو AS3 چند تا سورس دیدم که فقط از طریق کد نویسی با XML این کار انجام می شد! می خواستم ازتون خواهش کنم یک نمونه سورس بدون XML را برای این منظور معرفی کنید؟
    با تشکر

    • سلام
      تنها کاری که باید انجام دهید این هست که مثلا به جای کد های مربوطه به لینک در این مطلب کد رفتن به فریمی از شی مورد نظرتان را بدهید و رفتن به فریمی از تایم لاین اصلی که می تواند صفحه داخلی طراحی شده شما باشد
      موفق و پیروز باشید

  5. سلام
    می خواستم بدونم در یک بازی فلش ۳ بعدی امکان ارسال اطلاعات بازی مثل امتیاز ها و … به php هست البته با متود post ارسال بشه
    مثلا ما می خواهیم امتیاز های و اسم اون کاربر رو داخل بانک اطلاعاتی با استفاده از php ثبت کنیم
    مرسی

    • سلام
      فرقی ندارد بازی ۲ بعدی و یا ۳ بعدی باشد فلش امکان ارسال داده ها را با متد Post و get دارا می باشد حتی امکان ارسال به صورت باینری و … هم برای کارهای خاص وجود دارد
      موفق و پیروز باشید

  6. سلام. از سایت عالی تون خیلی ممنون.
    من می خوام با flash یک فایل اتوران بسازم که مثلاً اگر کسی خواست پاورپوینت من را در کامپیوترش نگاه کنه و powerpoint 2013 را نداشت بتونه نصب کنه. چند تا button هم درست کردم.
    ۱) اگه بخوام لینک یکی از دکمه هام اجرای فایل .exe باشه باید چه کار کنم و برنامه اش چیست؟
    ۲) اگه بخوام لینک یکی از دکمه هام نشون دادن پاورپوینت باشه چطور؟

    با تشکر.

    • سلام

      مورد اول این که می توانید از روش ساخت پوشه fscommand استفاده کنید و فلش توسط دستور fscommand و exec امکان اجرا را خواهد داد و برای این مورد هم می توانید با جستجو اطلاعات بیشتری کسب کنید
      مورد دوم این که از برنامه هایی مثل mdm Zinc و یا swfKit و… استفاده کنید که این امکان را با اضافه کردن کدهایی به فلش در اختیار شما قرار می دهد ، راهنمای استفاده از هر برنامه در بخش راهنمای برنامه مربوطه و وب سایت آن موجود می باشد

      موفق و پیروز باشید

      موفق و پیروز باشید

  7. سلام من میخواستم یه فایل فلشی بسازم که وقتی روی دکمه ای تو محیط داخل فایل کلیک شد این فرمان داده بشه که برو از فلان فریم اجرا من اما متاسفانه پیدا نکردم ممنون میشم کمکم کنید به عبارت دیگر در صفحه ی اول دکمه ای باشد
    که در صورت کلیک در ان دکمه بره و فریم هایی که من تعیین میکنم رو اجرا کنه عین لینک دادن تو اچ تی ام چیزی شبیه اون اما نه به صفحه ی وب بلکه به یه صفحه ی دیگر در همون پروژه ی فلش

    ممنون میشم کمکم کنید
    …/

    • سلام

      برای رفتن به یک فریم و ماندن در آن از دستور

      gotoAndStop(22);
      

      و برای رفتن به یک فریم و ادامه حرکت از آن فریم از دستور زیر

      gotoAndPlay(22);
      

      استفاده می شود برای کار با دکمه ها و رویداد ها و … نیز بخش مقالات را مطالعه کنید

      در ضمن ۲۲ در مثال های نمونه همان شماره فریم شما می باشد

      موفق و پیروز باشید

      • سلام نه منظورم اون نبود این کد ها رو خودم میدونم
        من تو یه فایل فلش یه دکمه ای گذاشتم ((بیشتر بدانید)) که میخوام وقتی رو اون کلیلک شد ادامه فایل پخش بشه اون دکمه هم باتن کردم و نمیدونم چه طور دستور بدم وقتی کسی رو این دکمه کلیک کرد ادامه ی فایل رو پخش کن
        بازم ممنون که پاسخ دادید

        • سلام برای ادامه که همان دستور play کافی هست ولی راه دیگر گرفتن currentFrame هست که توسط همین متد دریافت می شود مثلا کد به این صورت می شود gotoAndPlay( currentFrame );

          به عنوان مثلا برای گرفتن فریم جاری روت

          MovieClip(this.root).currentFrame
          

          امیدوارم منظور شما را درست متوجه شده باشم
          موفق و پیروز باشید

  8. سلام دگر بار
    من اصلا متوجه نشدم چی گفتین و تو اون اکشن متغییر ها چی هستند و باید چی هارو تغییر بدم اما برای اینکه منظورمو بهتر متوجه بشین به این فایل فلش توجه کنید وقتی تو دکمه ی بغل صفحه کلیک میکنی میره کلا یه انمیشن دیگه رو اجرا میکنه منم اینجوری میخوام باشه تو پروژه ی من یک دکمه بیشتر بدانید هست میخوام وقتی رو اون کلیک شد بره و اون فریم های توضیحات رو اجرا کنه که نمیدونم باید چی کار کنم
    بازم شرمنده اذییتون کردم
    http://p30up.ir/images/6rxsux80yxlvooihh3hi.swf

    • سلام این مورد توسط همان کد اول هست شما فقط به فریم مربوطه انتقال می دهید و در فریم مربوطه یک movieClip میسازید و درون آن انیمشن خود را قرار می دهید حال هر بار که به این فریم می روید همین حالت دارد دارد
      مثلا نمونه ای که ارسال کردید هم همین طور عمل کرده با کلیک روی دکمه سمت چپ یا راست به یک فریم از فلش می رود که در آن یک MovieClip ساخته شده که خود شامل فریم های انیمشن می باشد با رفتن به فریمی که در آن MovieClip شما هست طبیعتا فریم های درون آن مووی نمایش داده می شود

      مشکل شما کجای کار هست

      موفق و پیروز باشید

      • سلام
        مشکل من در اینکه وقتی دکمه رو باتن میکنم و میخوام وقتی رو اون دکمه کلیک شد بره و فریم هایی از صفحه ی اصلی لایه ها اجرا کنه یا همون بره یک مووی کلیپ خاص رو اجرا کنه ولی نمیدونم باید دقیق چی کار کنم
        اگه زحمتی نیست یه توضیح جامع بدید که کدوم کد رو چه طور و باید کجا قرارا بدم و اسم مووی کلیپ رو در کجای کد قرارا بردم تا این فرمان داده شود در صورت کلیک روی این دکمه برو و مویی کلیپی مثلا به اسم abcرا اجرا کن
        ممنون

        • سلام

          تعریف رویداد ها که در همین مطلب و مطالب بخش مقالات وجود دارد

          می بایست در تابع مربوطه به این کار نام شی را نوشته و بعد از آن برای اجرای از دستور play استفاده کنید اگر می خواهید به فریمی برود و اجرا شود gotoAndPlay و اگر می خواهید به فریمی برود و بیاستد از gotoAndStop استفاده کنید

          مثال ساده

          MovieClip(abc).gotoAndPlay(3);
          //یا
          MovieClip(abc).gotoAndStop(3);
          //یا
          MovieClip(abc).play();
          
          

          موفق و پیروز باشید

ارسال جواب

آدرس رایانامه شما منتشر نخواهد شد.فیلد های اجباری علامت گزاری شده اند *

*

رفتن به بالای صفحه