Unconfigured Ad Widget

تقليص

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

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

رحلة إلى عالم ال ..... MaxScript

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

  • #31
    تابع الفصل الثانى
    تصميم واجهة الأسكريبت





    الكود الذي كتبناه كان الحد الأدنى اللازم لإنشاء النافذة و لكننا يمكن أن نحسن من مظهرها بإضافة بعض المعاملات عن طريق استبدال السطر المحتوى على الأمر createdialog بالسطر التالي ...





    createdialog my_first_script width: 300 height:200 bgcolor:[200,100,20]








    المعامل width: يحدد عرض النافذة و كذلك المعامل height: يحدد الارتفاع أما المعامل bgcolor: فيحدد لون خلفية النافذة و لأن هذا المعامل يحمل معلومات لون و اللون في برنامج الماكس عبارة عن ثلاثة قيم للأحمر و الأخضر و الأزرق فنكتب قيمة هذه الخاصية داخل أقواس عمودية و مفصولة بفاصلة .





    تلميح : يستطيع معالج الكود فهم بعض القيم اللونية الثابتة التي من الممكن استخدامها بدلا من الصيغة السابقة فمثلا يمكن كتابة redبدلا من [255,0,0] أو yellow بدلا من [255,255,0] أو black بدلا من [0,0,0] . يمكنك معرفة هذه القيم اللونية الثابتة بالرجوع إلى ملف المساعدة .






    بعد تشغيل الكود نرى النافذة بالشكل التالي ...










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








    ملحوظة : لابد من كتابة المعامل الثاني الخاص بعنوان النافذة و لو حتى نكتبه بلا نص ( "" ) لأنه معامل إلزامي لإنشاء rollout .






    بالنسبة لتصميم النافذة فهذا يكفى و ننتقل الآن لمعرفة العناصر المتوافرة التي نضيفها إلى النافذة و من الجيد في هذه المرحلة البحث في ملف المساعدة عن تلك العناصر فنحصل على العديد من الأنواع كالتالي ...








    البقية قريبا

    www.3lmny3d.com
    صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

    تعليق


    • #32
      تابع الفصل الثانى
      تصميم واجهة الأسكريبت





      هناك عدد كبير من العناصر التى يمكن أضافها إلى النافذة مثل
      angle

      bitmap

      button

      checkbox

      checkbutton




      بالطبع لن نتناول كل الجوانب الخاصة بكل تلك العناصر ولكننا سنحاول التعرف على غلبها على قدر الأمكان .


      النص الثابت : Label



      نضع النص الثابت – label- على النافذة لنعرض من خلاله نص للمستخدم . و الصيغة التالية تستخدم في إضافة نص على rollout ...



      label <name> [ <string> ]

      حيث الأمر label يخبر معالج الكود بأننا بصدد أنشاء نص ثابت و المعامل <name> هو الاسم الذي نخصصه لهذا النص الثابت بينما <string> هو النص الفعلي المراد ظهوره على rollout.





      ملحوظة : المعامل <name> المعبر عن اسم العنصر يتكون من حروف و أرقام و شارطة سفلية بحيث لا يحتوى على أي علامات خاصة و لا يبدأ لرقم و في الفصل القادم تفاصيل اختيار أسماء العناصر و المتغيرات.






      ملحوظة : المعامل <string> يكتب بين علامتي اقتباس حتى لا يحاول معالج الكود تحليله بل ينقله على rollout كما هو .






      تلميح : الأقواس العمودية حول احد المعاملات في ملف المساعدة تدل على أن هذا المعامل اختياري . و في حالتنا هذه يمكن أن نحدد أسم عنصر النص الثابت فقط مما يجعل معالج الكود يظهر العنصر بلا نص داخله .و لكن في حالة كتابة المعامل <string> فيجب الالتزام بالترتيب السابق .








      تلميح : إذا واجهت مشاكل في كتابة النص العربي داخل محرر الكود فأنة يمكن الكتابة في أي برنامج لتحرير النصوص ثم لصق النص داخل الكود مع ملاحظة أن أي تشكيل للنص سيفقد عند لصقه داخل محرر الكود .






      أنسخ الكود التالي إلى محرر الأسكريبت ...





      rollout ro1 "نافذة أسكريبت لأختبار العناصر ...."

      (

      label l_1 "بسم الله الرحمن الرحيم"

      label l_2 ""

      label l_3

      label l_4 "Hi" pos:[76,61] ; label l_5 "All"

      )



      createdialog ro1




      السطر الأول ينشىء عنصر نصي ثابت اسمه l_1 و يكتب فيه " بسم الله الرحمن الرحيم" و الوضع الافتراضي أن يظهر النص في منتصف النافذة أفقيا . و عند انتقال معالج الكود لتنفيذ اسطر التالي يجد أن المعامل الثاني الخاص بالمحتوى النصي لعنصر النص الثابت خالي فيترك السطر التالي من rollout خاليا . في السطر الثالث نجد أن المعامل الخاص بالمحتوى النص لم يكتب أساسا فيترك معالج الكود السكر التالي خاليا أيضا كما في المثال السابق . السطر التالي ينشىء عنصر نصي ثابت به الكلمة "Hi" في السطر التالي من النافذة و عندما يرى معالج الكود الفاصلة المنقوطة فأنه يعتبرها بداية سطر جديد و ينشىء عنصر أخر في السطر التالي – و ليس نفس السطر – و يكتب به الكلمة All" و تكون نتيجة تنفيذ الكود السابق النافذة التالية ...









      البقية قريبا

      www.3lmny3d.com
      صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

      تعليق


      • #33
        تابع الفصل الثانى
        تصميم واجهة الأسكريبت







        تلميح : لابد من تحليل الكود بعقلك و التنبؤ بالنتيجة قبل تشغيله و رؤية النافذة الناتجة لأن هذا يساعد على فهم الكود و اكتشاف الأخطاء .






        الآن ننتقل إلى التعرف على المزيد من المعاملات الاختيارية التي تتحكم في عنصر label . أنسخ الكود التالي إلى محرر الأسكريبت ...





        rollout ro1 "نافذة أسكريبت لأختبار العناصر ...."

        (

        label l_1 "بسم الله الرحمن الرحيم" pos:[60,10] width:24 height:65

        label l_4 "Hi \" MAXFORUMS MEMBERS \" this is our \n great label control" pos:[91,10]

        )

        createdialog ro1 300 100 bgcolor: brown fgcolor: [0,15,255]






        الجديد في هذا الكود أن السطر الأخير حدد 100 كارتفاع للنافذة و حدد 300 كعرض لها عن طريق المعاملين height: و width: على الترتيب كما أستخدم القيمة اللونية brown لجعل لون خلفية النافذة بنى و ذلك بتخصيصه للمعامل bgcolor: كما استخدم الصيغة اللونية المكونة من ثلاث مركبات للألوان الأحمر و الأخضر و الأزرق على الترتيب لتحديد لون كل النصوص الموضوعة على سطح النافذة و ذلك من خلال المعامل fgcolor: .



        نعود لسطر أنشاء النص الأول – "بسم الله الرحمن الرحيم" – فنجد المعامل الجيد pos: الذي يجعلنا نحدد مكان النص بدقة على النافذة عن طريق القيم التالية للمعامل و المحصورة بين القوسين العموديين . القيمة اليسرى هي المسافة بين الحد الأيسر للنص و الحد الأيسر للنافذة و القيمة اليمنى تحدد المسافة بين الحد العلوي للنص و الحد العلوي للنافذة من أسفل شريط عنوان النافذة .



        هناك أيضا المعامل width: الذي يحدد أقصى عرض للنص و في مثالنا خصصنا القيمة 24 كأقصى حد لعرض النص و هذه بالطبع قيمة أقل من القيمة المتوقعة لنص مكتوب فيه "بسم الله الرحمن الرحيم" لذلك نجد الكلمات تنزلق تلقائيا للسطور التالية .



        أما المعامل height: فيحدد أقصى ارتفاع مسموح به للنص بحيث يتم ظهور أسطر النص ضمن هذه المسافة فقط و إخفاء ما بعد ذلك من سطور .





        تلميح : تخصيص قيم مناسبة للمعاملات pos: و width: و height: يمكننا من محاذاة النصوص و تقسيم النصوص الكبير خلال أكثر من سطر و لكن القيم الغير مناسبة قد تؤدى إلى تراكب النصوص فوق بعضها فوق النافذة أو اختفاء الأسطر الأخيرة من النصوص الممتدة خلال أكثر من سطر . أيضا القيم السالبة مع المعامل pos: تؤدى إلى خروج الجزء الأيسر العلوي من النافذة و بالتالي اختفاء جزء من النص .






        ننتقل الآن للسطر التالي . من المعروف أن معالج الكود ينقل النص المحصور بين علامة الاقتباس الأولي و الثانية كما هو و لكن ماذا لو أردنا أن يضم النص نفسه علامة أقتباس ؟ الحل هو أن نسبق علامة الاقتباس – التي هي ضمن النص – بهذه العلامة ( \ ) – فيعرف معالج الكود أن علامة الاقتباس هذه ليس المراد منها تحديد نهاية النص و لكنها ضمن النص نفسه فيترتب على ذلك أن يستمر معالج الكود في نقل الحروف التالية حتى يجد علامة الاقتباس الصريحة التي يفهم منها أن النص قد أنتهي .



        ليست علامة الاقتباس وحدها التي تشكل مشكلة عند أضافتها وسط النص و لكن أيضا هناك العديد من العلامات الأخرى و الحل معها جميعا أن نسبق كلا منها بعلامة ( \ ) . و بالبحث في ملف المساعدة نجد الحالات التالية ...



        \" -- a double quote character

        \n -- a newline character

        \r -- a carriage return character

        \t -- a TAB character

        \* -- an asterisk character

        \? -- a question mark character

        \\ -- a single "\" character

        \% -- a percent character

        \x{d} -- a hexadecimal character

        فالعلامة ( \" ) تضيف علامة اقتباس داخل النص الأصلي و العلامة ( \n ) تجعل الجزء اللاحق لها يبدأ في السطر التالي و العلامة ( \\ ) تضيف "\" إلى النص . و هكذا .

        ندقق النظر الآن في سطر الكود فنرى أن العلامة ( \" ) جاءت قبل (MAXFORUMS MEMBERS ) و بعده و بناء علية نتوقع ظهور (MAXFORUMS MEMBERS ) بين علامتي اقتباس . كذلك العلامة ( \n ) ستجعل كلمة ( great ) و ما بعدها من كلمات تظهر في سطر جديد .

        حتى كلمة (label ) لم يجد معالج الكود علامة الاقتباس التي تخبره أن النص قد انتهى لذلك يستمر في قراءة السطر التالي من الكود تلقائيا دون أن نخبره صراحة أن السطر التالي – المبتدأ بكلمة ( control ) - هو إكمال لسطر الكود السابق له . و بعد تشغيل الكود نرى النافذة التالية ...





        آمل أن تكونون قد فهمتم وظيفة الكود السابق و توقعتم ظهور النافذة بهذا الشكل . هذا كل ما يقال على Label و سنرى لاحقا أن كثير من المعاملات التي تعلمناها أثناء أنشاء Label ستتكرر بنفس المعنى مع معظم العناصر الأخرى .



        البقية قريبا

        www.3lmny3d.com
        صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

        تعليق


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

          نعم الماكس سكريبت هو اهم شئ في الماكس

          تابع اخي

          تعليق


          • #35
            جزاك الله خيرا
            دروس فيديو فى 3d max rigging
            http://www.maxforums.net/showthread.php?t=59910
            درس فيديو تصميم وإكساء و إضاءة كهف
            http://www.maxforums.net/showthread.php?t=59930
            3d max final gathering video tutorial
            http://www.maxforums.net/showthread.php?t=60069

            تعليق


            • #36
              جزاك الله خيرا ياخي على كل المجهوداة واسال الله ان يسددخطاك

              تعليق


              • #37
                جزاك الله كل خير
                al_amirali@yahoo.com

                تعليق


                • #38
                  شكراً لك أخ
                  eng_Adel
                  وبالنسبة لي انا انتظر الكتاب بفارغ الصبر لاني بدأت من\ اسبوع فقط بتعلم السكربت ولم اكن اعلم بموضوعك
                  على كلاً بارك الله فيك و نعمل سويناً ان شاء الله كي نقدم اكبر قدر للاعضاء
                  وانه سوف يصبح اول موقع عربي يهتم بالسكربت
                  شكراً مجدداً
                  ________________

                  ستشرق
                  _______________
                  اللهم زدني علماً

                  تعليق


                  • #39
                    اخي المهندس عادل هذا موقع وجدته اعتقد ان يفيدك http://www.nikclark.com/scripts/index.htm
                    سبحان الله وبحمده سبحان الله العظيم
                    موقع سوف تستفيد منه كثيرا
                    دروس لجميع البرامج

                    تعليق


                    • #40
                      السلام عليكم

                      أشكر كلا من
                      Limponi_3d
                      seniorzico
                      hichamo
                      AL_AMIR

                      الأخ Demigod أشكرك و راسلني على الخاص و سأرسل لك ملف pdf من 42 صفحة ( ما تم من الكتاب حتى الأن ) اطلع عليهم و أخبرنى عن رايك.

                      الأخ اليوبي الموقع به scripts جاهزة و ليس للتعليم و لكن مع ذلك سأحاول نقل بعض المهارات الموجودة بهذه الاسكيبتات أثناء رحلة ال MaxScript .



                      على تشجيعهم لى و ليوفقني الله لأنهاء الكتاب قريبا

                      www.3lmny3d.com
                      صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

                      تعليق


                      • #41
                        تابع الفصل الثانى
                        تصميم واجهة الأسكريبت

                        آمل أن تكونون قد فهمتم وظيفة الكود السابق و توقعتم ظهور النافذة بهذا الشكل . هذا كل ما يقال على Label و سنرى لاحقا أن كثير من المعاملات التي تعلمناها أثناء أنشاء Label ستتكرر بنفس المعنى مع معظم العناصر الأخرى .



                        مربع إدخال و اختيار الأرقام : Spinner



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



                        spinner <name> [ <caption> ] [ range:[min,max,val] ] [type:<name>] [scale:<float>] [ fieldWidth:<integer>] [indeterminate:<boolean>] [controller(<controller>)]

                        كلمة spinner هي الأمر الموجه لمعالج الكود لإنشاء Spinner و كل ما وراء تلك الكلمة هي معاملات حيث <name> هو الاسم الذي نخصصه للعنصر وباقي المعاملات اختيارية و بيانها كالأتي ...



                        § المعامل <caption> يعبر عن عنوان Spinner أي النص المكتوب إلى جواره فلا نضطر لإضافة Label إلى جوار كل Spinner . وبالطبع نكتب النص كما نشاء و لكن بين علامتي اقتباس .

                        § المعامل type: يعبر عن نوع قيمة الرقمية التي يقبلها العنصر فنكتب #integer لنخبره أن العنصر يقبل الأرقام الصحيحة فقط و نكتب #float لنخبره أن العنصر يقبل القيم ذات العلامة العشرية – وهذا هو النوع الافتراضي – وهناك أيضا النوع #worldunits .

                        § المعامل range: يعبر عن أقل قيمة و أقصى قيمة و القيمة الافتراضية التي تظهر داخل Spinner عند فتح النافذة لأول مرة على الترتيب . و هذه القيمة تكون من النوع المحدد للمعامل type: .

                        § المعامل scale: يعبر عن قمة التغير في الرقم عند النقر فوق أحد زر زيادة أو نقص الرقم أو حتى تغير الرقم يدويا . القيمة الافتراضية للنوع #float هي 0.1 أما بالنسبة للنوع #integer فهي 1.

                        § المعامل fieldWidth: يعبر عن عرض المستطيل المخصص لكتابة و عرض النص – و ليس العرض الكلى للعنصر - . الوضع الافتراضي أن تكون الحافة اليسري لهذا المستطيل عند منتصف النافذة تماما و الحافة اليمنى عند الحافة اليمنى للنافذة مطروح منها عرض زر إغلاق النافذة .

                        § المعامل Indeterminate: يأخذ قيمة منطقية true أو false– سيتناول الفصل القادم أنواع البيانات بالتفصيل -. في حالة القيمة trueفأن مربع النص يظهر فارغ عند تشغل الأسكريبت أما إذا كانت القيمة false– وهى القيمة الأفتراضية لهذا المعامل - فأن مربع النص يعرض القيمة الافتراضية عند تشغيل الأسكريبت لأول مرة .

                        § المعامل controller: يجعل القيمة المكتوبة داخل العنصر تحدد مباشرة قيمة أحد الخصائص لعنصر معين بالمشهد – سنوضح هذه الخاصية في الفصل التالي لارتباطها أكثر بالكود المسؤل عن أسلوب عمل العنصر أكثر من الكود المسؤل عن المظهر الخارجي للعنصر الذي نحن بصدده الآن - .



                        الآن أفتح ملف سكريبت جديد و أنسخ الكود التالي إليه ...





                        rollout r1 "testing the spinner control" width:300 height:100

                        (

                        spinner s_1 "العنصر رقم 1" pos:[50,20] width:100 height:16 \

                        type:#integer range:[-21,165,16] scale:2

                        spinner s_2 pos:[153,20] width:50 height:16 indeterminate:true

                        spinner s_3 "العنصر رقم 3" pos:[107,60] width:93 height:16 \

                        enabled:false fieldwidth:20

                        )

                        createdialog r1





                        السطر الأول يعرف نافذة اسمها r1 و عنوانها "testing the spinner control" الجديد هنا أننا حددنا عرض و ارتفاع النافذة r1 في سطر أنشاء النافذة وليس في سطر أظهار النافذة .



                        السطر التالي يعرف Spinner اسمه r1 وعنوانه "العنصر رقم 1" و موضع العنصر يقع على بعد 50 وحدة من الحد الأيسر للنافذة و 20 وحدة من أسفل شريط عنوان القائمة . أيضا حددنا عرض و ارتفاع العنصر عن طريق المعاملات width: و height: و لأن طول السطر لم يكفى كتبنا علامة ( \ ) ليستمر معالج الكود في قراءة السطر التالي على انه تكملة للسطر السابق له. في هذا المثال أردنا أن يقبل Spinner أرقام صحيحة فقط و لا يقبل القيم العشرية و لان الوضع الافتراضي هو قبول العنصر للقيم العشرية لذلك لزم علينا التوضيح الصريح بهذا للأمر spinner عن طريق تخصيص القيمة #integer للمعامل type: . المعامل range:يحدد القيمة (-21) كحد أدنى للرقم المكتوب داخل العنصر و القيمة (165) كحد أقصي في حين القيمة (16) هي القيمة الأفتراضية التي تظهر داخل العنصر عند ظهور النافذة لأول مرة.





                        ملحوظة : المعامل indeterminate: يحدد هل سيظهر العنصر محتوى على قيمته الأفتراضية عند بدأ تشغيل النافذة أم لا – القيمة الافتراضية هي false - . أي أن عمل بعض المعاملات قد يتوقف على قيم بعض المعاملات الأخرى.






                        وأخيرا المعامل scale:2 أخذ القيمة (2) مما يجعل النقر على أحد أزرار تغيير القيمة يغيرها بإضافة أو طرح القيمة المخصصة لهذا المعامل





                        ملحوظة : المعامل scale: يتحكم في التغيير عن طريق زري التغيير و لكن التغيير اليدوي بكتابة الرقم مباشرة لا يتحكم فيه هذا المعامل .






                        العنصر التالي المسمى s_2 لم يحدد له عنوان لأن العنوان ليس معاملا إلزاميا كذلك أعطينا المعامل indeterminate: القيمة true حتى يظهر خالي من الأرقام عند بداية تشغيل الكود .لاحظ أن قيمة المعامل جعلته على نفس المستوى الأفقي للعنصر الأول .



                        العنصر الأخير المسمى s_3 أعطينا المعامل fieldwidth:القيمة(20) ولذلك سيظهر مستطيل كتابة النص بعرض مختلف عن العرض الافتراضي . أيضا المعامل enabled:أعطى القيمة false وهو يحدد هل يستجيب العنصر للمستخدم أم لا – القيمة الافتراضية هي true أي أن العنصر يستجيب للمستخدم و يظهر بشكله الطبيعي -.





                        تلميح : المعامل enabled: يستخدم مع أي عنصر قابل للتفاعل مع المستخدم – مثل Spinner و ليس Label – ليحدد هل سيستجيب العنصر للمستخدم أم لا .






                        و بعد تشغيل الكود نرى النافذة التالية ...




                        البقية قريبا

                        www.3lmny3d.com
                        صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

                        تعليق


                        • #42
                          تابع الفصل الثاني
                          تصميم واجهة الأسكريبت
                          الزاوية : Angle



                          قد نرى أن القيمة المراد استقبالها من المستخدم قيمة تقريبية لا تحتاج لدقة عالية لذلك نستطيع استخدام عنصر الزاوية - Angle – الذي هو عبارة عن دائرة بها حط من مركزها إلى نقطة على محيطها بحيث عند سحب هذا الخط فان الجزء الذي يتخطاه الخط من الدائرة يصبح ملون و يدل على القيمة المختارة من قبل المستخدم و الصيغة القياسية الموجودة في ملف المساعدة على الصورة التالية ...



                          Angle <name> [caption] [color:<color>] [range:<point3>] [diameter:<float>] [degrees:<float>] [bitmap:<bitmap>] [StartDegrees:<integer>] [StartRadians:<integer>] [dir:<#cw|#ccw>]



                          كلمة Angle هي الأمر الموجه لمعالج الكود لإنشاء عنصر Angle و المعامل التالي لها – كما تعودنا – هو اسم العنصر .أما المعاملات التالية فهي اختيارية و بيانها كالتالي ...



                          § المعامل caption هو العنوان الظاهر أعلى العنصر . و نكتبه بين علامتي أقتباس .

                          § اللون الافتراضي للجزء المختار من الدائرة هو اللون الأزرق و لكن يمكن تحديد لون أخر عن طريق المعامل color:و كالمعتاد فأن هذا المعامل يقبل القيم اللونية الثابتة – راجع ملف المساعدة لمعرفة كل الألوان الثابتة التي يعرفها معالج الكود - أو القيم اللونية ذات الثلاث مركبات – تكون في صورة [r , g , b] - . القيمة الأفتراضية هي الأزرق القياسي.

                          § المعامل diameter: يحدد قطر الدائرة .

                          § المعامل dir:يحدد اتجاه دوران الخط الواصل من المركز إلى محيط الدائرة. بحيث #cw تعنى في أنجاه عقارب الساعة بينما #ccw تعنى في عكس اتجاه عقارب الساعة .

                          § المعامل range: يحدد أقل قيمة ممكنة و اكبر قيمة ممكنة و القيمة الأفتراضية للعنصر عند ظهوره لأول مرة – على الصورة [min , max , default] - .



                          الآن أفتح ملف سكريبت جديد و أنسخ الكود التالي إليه ...





                          rollout test "Angle Test"

                          (

                          Angle ang1 "Angle 1" diameter:50 align:#left range:[-180,180,45] \

                          startdegrees:0 dir:#cw color:red pos:[20,30]

                          Angle ang2 "Angle 2" diameter:80 align:#center range:[0,270,90] \

                          startdegrees:90 dir:#ccw color:[0,0,0] pos:[100,0]

                          Angle ang3 "Angle 3" diameter:50 align:#right range:[0,360,120] \

                          startdegrees:270 dir:#cw pos:[200,30]

                          )

                          createdialog test 300 120








                          الكود السابق ينشىء ثلاثة عناصر من النوع Angle كالأتي ...



                          1. عنصر أسمه ang1 و عنوانه "Angle 1" و قطرة 50 و محاذاته إلى اليسار و أقل قيمة له هي -180 و أقصي قيمة هي 180 بينما القيمة ألافتراضية هي 45 و حركته في اتجاه عقارب الساعة و لونه أحمر قياسي و يصل الخط من المركز على المحيط عند الزاوية 0 و يبعد 20 وحدة عن يسار النافذة و 30 وحدة عن أسفل شريط عنوان النافذة .

                          2. عنصر أسمه ang2 و عنوانه "Angle 2" و قطرة 80 و محاذاته إلى الوسط و أقل قيمة له هي 0 و أقصي قيمة هي 270 بينما القيمة ألافتراضية هي 90 و حركته في عكس اتجاه عقارب الساعة و لونه أسود و يصل الخط من المركز على المحيط عند الزاوية 90 و يبعد 100 وحدة عن يسار النافذة و 0 وحدة عن أسفل شريط عنوان النافذة .

                          3. عنصر أسمه ang3 و عنوانه "Angle 3" و قطرة 50 و محاذاته إلى اليمين و أقل قيمة له هي 0 و أقصي قيمة هي 360 بينما القيمة ألافتراضية هي 120 و حركته في اتجاه عقارب الساعة ولم نحدد لونه – لذلك يظهر باللون الافتراضي - و يصل الخط من المركز على المحيط عند الزاوية 270 و يبعد 200 وحدة عن يسار النافذة و 30 وحدة عن أسفل شريط عنوان النافذة .



                          و بعد تشغيل الكود نرى النافذة التالية ...







                          ملحوظة: لا يمكن أن يزيد عرض العنوان المخصص للعنصر عن عرض العنصر نفسه.

                          البقية قريبا

                          www.3lmny3d.com
                          صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

                          تعليق


                          • #43
                            السلام عليكم
                            أسف عن أنقطاعي عن دروس الماكس سكريبت و ذلك حتي يظهر الكتاب كله مرة واحدة فأنتظروه في معرض القاهرة الدولي للكتاب 2006 بأذن الله و لكن سأقوم عند أكتماله بعمل السلسله في صورة دروس فيديو مجانية كما سبق ووعدت فأرجو الأنتظار ..... شكرا

                            www.3lmny3d.com
                            صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

                            تعليق


                            • #44
                              السلام عليكم

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


                              سيعرض الكتاب بمعرض القاهرة الدولي للكتاب بدءا من يوم 17 يناير 2006 و يقع في 190 صفحة مقاس 17.5 × 24 و أعتقد أنه سيباع بحوالي 25 جنية مصري و سيعرض أيضا كتاب بعنوان - مبدئي - استخدام 3DS MAX 8.0 و سيقع في حوالي 340 صفحة بنفس المقاس و سيكون في حدود 50 جنية مصري
                              و هذا الكتاب تحت الطبع الان.


                              و نهايتا أشكر كل من شجعني علي تأليف هذين الكتابين من الأعضاء الكرام و أتمني أن يستفيد منه الجميع .

                              www.3lmny3d.com
                              صفحتنا على الفيس بوك >>> https://www.facebook.com/3lmny3d

                              تعليق


                              • #45
                                جزاك الله خيرا ووفقك
                                I HAVE A DREAM
                                --------------------------------
                                محتـاج العـدل لقـــــــــوة علشـان تقـدر تحميــــــه
                                ولا عمرى بكلمة وشكوى حقى بيــرجـع أراضيــــه
                                -----------------------------------------------------------------

                                تعليق

                                يعمل...
                                X