النتائج 1 إلى 2 من 2

الموضوع: درس إيقاف و تشغيل الصوت بزر واحد من نقطة التوقف بالأكشن

  1. #1
    التسجيل
    04-05-2006
    الدولة
    K . S . A
    المشاركات
    145

    Thumbs up درس إيقاف و تشغيل الصوت بزر واحد من نقطة التوقف بالأكشن

    بسم الله الرحمن الرحيم

    السلام عليكم

    مثل ما يقولون الكتاب واضح من عنوانه


    أولا :
    لكي نستطيع التحكم في الصوت عن طريق الأكشن يجب فتح المكتبة بالضغط على F11

    ثم الضغط بالزر الأيمن على الصوت و اختيار Linkage

    ثم في النافذة التي ستظهر نفعل الخيار Export for action script و export in first frame

    و نسمي الصوت في خانة الإسم بأي إسم من إختيارنا و ليكن مثلا al

    وهذا لكي نستطيع مناداته من لوح الأكشن بإسمه المختار هذا .

    - نحدد الفريم الأول في الشريط الزمني لساحة العمل الرئيسية ونكتب هذا الكود :


    رمز:
    كود:
    mysound = new Sound();mysound.attachSound("al");mybutton._alpha = 99;mybutton.onRelease = function() { myposition = mysound.position; mysound.onSoundComplete = function() { this.start(); }; if(mybutton._alpha < 100) { mysound.start(myposition/1000); mybutton._alpha = 100; }else if(mybutton._alpha == 100) { mysound.stop(); mybutton._alpha = 99; }}
    شرح الكود:

    دور خاصية ال alpha للزر واضح في الكود و هو للتحكم بالصوت عن طريق زر واحد
    و هناك درس آخر استعملنا فيه هذه الخاصية و هو درس تشغيل و إيقاف الحركة عن طريق زر واحد .. بطبيعة الحال توجد عدة طرق للتشغيل و الإيقاف بنفس الزر و لكننا اخترنا و احدة منها و التي هي خاصية الألفا و التي هي أبسطها على الإطلاق ..

    نأتي الآن لصلب موضوع درسنا هذا :


    رمز:
    كود:
    mybutton.onRelease = function() { myposition = mysound.position; mysound.onSoundComplete = function() { this.start(); }; if(mybutton._alpha < 100) { mysound.start(myposition/1000);
    myposition متغير يحمل كمعلومة داخله النقطة التي يوجد عندها الصوت
    حيث position هي خاصية من خصائص عنصر الصوت و تحسب بالميلي ثانية ..
    في السطر الذي بعدها حددنا للفلاش أنه عند انتهاء الصوت عليه أن يبدأ من نقطة الإنطلاق
    أي من الصفر ..
    نأتي للخاصية start :
    هذه الخاصية في شكلها العام تكتب كما يلي :

    رمز:
    كود:
    mySound.start(secondOffset, loop)
    حيث secondOffset تمثل الثانية التي سيبدأ عندها الصوت
    و loop تمثل عدد تكرار قراءة الصوت ..
    .. فمثلا لو عندنا صوت فيه دقيقة
    و وضعنا

    رمز:
    كود:
    mySound.start(30, 10)
    فإن هذا الصوت سيبدأ القراءة من نصف الدقيقة أي عند الثانية 30 و سيتكرر 10 مرات ثم يتوقف .. ( طبعا تستطيع لكي يتكرر الصوت مرات كثيرة أن تضع مثلا 999999 بدل 10 .
    طبعا هاتان الخاصيتان اختياريتان ..

    في الكود وضعنا :

    رمز:
    كود:
    mysound.start(myposition/1000)
    و بما أن 1 ثانية = 1000 ميلي ثانية

    فإننا قسمنا myposition ( التي تحسب بالميلي ثانية كما أسلفت) على 1000 و هذا حتى نحصل على secondOffset الذي نرغب في تحديده ( لأنه كما قلنا يحسب بالثانية ) ..
    لم نضع loop للصوت لأننا وضعناه بطريقة أخرى سيتكرر بها الصوت إلى ما لا نهاية كالتالي :


    رمز:
    كود:
    mysound.onSoundComplete = function() { this.start(); };
    هذا الكود مهم جدا لأن بدونه فإن الصوت عندما ينتهي لن يتكرر و إذا عملنا له loop كما تقدم في الشرح فإنه سيتكرر من آخر نقطة قمنا بتوقيفه عندها (طبعا فيه طرق أخرى كثير لتجاوز هذا الإشكال كالجمل الشرطية مثلا ) ..




    يبقى الكود

    رمز:
    كود:
    mysound.stop();



    و هو واضح و لا يحتاج لشرح




    أرجو أن تكون الفكرة و الشرح في متناول الجميع





    و السلام عليكم






    _|~| لا خير في كاتم علم |~|_

  2. #2
    التسجيل
    29-06-2005
    المشاركات
    829

    رد: درس إيقاف و تشغيل الصوت بزر واحد من نقطة التوقف بالأكشن

    شكرا على الدرس

    ويعطيك ألف عافية

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •