إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

كيفية انشاء قائمة منسدلة لمشروع أندرويد جزء ثاني

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • كيفية انشاء قائمة منسدلة لمشروع أندرويد جزء ثاني



    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
    الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين


    نواصل ان شاء الله شرح انشاء قائمة منسدلة لمشروع أندرويد
    بداية نقوم بتحويل عنصر المشهد الرئيسي " سورة السيارة " الى موفي كليب ونسميه box1 = الغاية من هذا الاجراء
    أن نستغل هذا الموفي كليب لااضافة صفحات أو فريمات داخله .

    الان نضغط ضغط مزدوج على الموفي كليب الثاني وهي القائمة ونضيف داخلها الازرار كما نشاء
    في المثال المرفق أضفت فقط 3 ازرار للانتقال الى 3 مستويات كتوضيح ويمكن طبعا أن تضيف ازرار اخرى
    وعدل في الكود مجرد نسخ ولصق فقط غير في ارقام وقيم الدوال .

    لاحظ أنه في كل زر اضفنا الكود التالي :

    [HTML]
    b1.addEventListener(MouseEvent.CLICK, ClickHandler1);

    function ClickHandler1(event:MouseEvent):void
    {
    var myTween1:Tween = new Tween( MovieClip(root).Pannel_mc, "x", Back.easeOut, 50, 500, 1, true);
    MovieClip(root).btnSlidePanel.rotation = 180;
    MovieClip(root).box1.gotoAndStop(2);
    }
    [/HTML]

    عند الضغط على الزر الاول تنفذ الاوامر التالية :

    1 يتم ارجاع القائمة الى مكانها الطبيعي بحركة توين في ثانية واحدة 1
    2 ارجاع قيمة دوران الزر الى الافتراضي 180
    3 أمر الى الموفي كليب box1 بالتوقف عند الفريم الثاني وهو هنا المستوى الاول

    وبكل بساطة يتم تكرار هاته الاكواد بالنسخ واللصق لكل زر وتغيير القيم فقط
    يمكن يضا استغلال الاكواد التالية عوض الاولى وهي بطريقة مختلفة :

    [HTML]
    import flash.events.*;
    import flash.events.MouseEvent;
    import flash.display.MovieClip;
    import fl.transitions.Tween;
    import fl.transitions.easing.*;


    this.b1.addEventListener(MouseEvent.CLICK, handleButtonClick);
    this.b2.addEventListener(MouseEvent.CLICK, handleButtonClick);
    this.b3.addEventListener(MouseEvent.CLICK, handleButtonClick);

    function handleButtonClick(event:MouseEvent):void
    {
    var button:DisplayObject = DisplayObject(event.target);
    if(event.target == b1){
    var myTween1:Tween = new Tween( MovieClip(root).Pannel_mc, "x", Back.easeOut, 50, 500, 1, true);
    MovieClip(root).btnSlidePanel.rotation = 180;
    MovieClip(root).box1.gotoAndStop(2);
    }

    if(event.target == b2){
    var myTween2:Tween = new Tween( MovieClip(root).Pannel_mc, "x", Back.easeOut, 50, 500, 1, true);
    MovieClip(root).btnSlidePanel.rotation = 180;
    MovieClip(root).box1.gotoAndStop(3);
    }

    if(event.target == b3){
    var myTween3:Tween = new Tween( MovieClip(root).Pannel_mc, "x", Back.easeOut, 50, 500, 1, true);
    MovieClip(root).btnSlidePanel.rotation = 180;
    MovieClip(root).box1.gotoAndStop(4);
    }

    }


    [/HTML]

    يمكن اعتماد هذا المثال في خصوص مشروع بمشاهد صغيرة
    أما بالنسبة للقائمة ذات القوام الكبيرة نعتمد عنها المصفوفات ونخزن فيها الازرار أو العناوين .
    وتكون الاكواد كالاتي :

    [HTML]
    import flash.events.*;
    import flash.events.MouseEvent;
    import flash.display.MovieClip;
    import fl.transitions.Tween;
    import fl.transitions.easing.*;


    var buttons:Array = new Array(b1,b2,b3);



    for(var i:int=0;i< buttons.length;i++)
    {

    buttons[i].addEventListener(MouseEvent.CLICK,buttonsClickHan dler);
    }

    function buttonsClickHandler(event:MouseEvent):void {

    var button:DisplayObject = DisplayObject(event.target)

    switch(button.name)
    {
    case "b1":
    var myTween1:Tween = new Tween( MovieClip(root).Pannel_mc, "x", Back.easeOut, 50, 500, 1, true);
    MovieClip(root).btnSlidePanel.rotation = 180;
    MovieClip(root).box1.gotoAndStop(2);
    break;
    case "b2":
    var myTween2:Tween = new Tween( MovieClip(root).Pannel_mc, "x", Back.easeOut, 50, 500, 1, true);
    MovieClip(root).btnSlidePanel.rotation = 180;
    MovieClip(root).box1.gotoAndStop(3);;
    break;
    case "b3":
    var myTween3:Tween = new Tween( MovieClip(root).Pannel_mc, "x", Back.easeOut, 50, 500, 1, true);
    MovieClip(root).btnSlidePanel.rotation = 180;
    MovieClip(root).box1.gotoAndStop(4);
    break;
    }
    }

    [/HTML]

    ملاحظة :
    اذا كانت الازرار عبارة عن button يتم الاعلان عن متغير بهذا الشكل
    [HTML]
    var button:DisplayObject = DisplayObject(event.target)

    [/HTML]

    واذا كانت الازرار عبارة عن موفي كليبات يتم الاعلان عن المتغير كما يلي :

    [HTML]
    var button:MovieClip = MovieClip(event.target);
    [/HTML]




    حمل المثال المرفق وعاين ما تم شرحه وطبعا يمكن التعديل عليه بسهولة وايضا استغلاله .

    أستودعم الله


    الملفات المرفقة

  • #2
    الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
    شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

    تعليق


    • #3
      السلام عليكم ورحمة الله وبركاته
      بارك الله فيك أخى الكريم عزيز . مبدع دئماً . ربنا يجعله فى ميزان حسناتك

      تعليق


      • #4
        جزاك الله خيرا

        تعليق

        مواضيع تهمك

        تقليص

        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
        المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
        يعمل...
        X