• 0
  • مالي خلق
  • أتهاوش
  • متضايق
  • مريض
  • مستانس
  • مستغرب
  • مشتط
  • أسولف
  • مغرم
  • معصب
  • منحرج
  • آكل
  • ابكي
  • ارقص
  • اصلي
  • استهبل
  • اضحك
  • اضحك  2
  • تعجبني
  • بضبطلك
  • رايق
  • زعلان
  • عبقري
  • نايم
  • طبيعي
  • كشخة
  • النتائج 1 إلى 15 من 15

    الموضوع: تعال نبدأ مع Irrlicht على NET

    1. #1
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      تعال نبدأ مع Irrlicht على NET

      بسم الله الرحمن الرحيم
      السلام عليكم ورحمة الله وبركاته

      بداية هذه أول محاولة لي في طرح عرض لبداية استعمال المحرك المشهور Irrlicht وان شاء الله سأضع بعض التطبيقات للنسخة الغير رسمية IrrlichtCP (CP=Cross Platform) وسرد بعض الفروق المهم هنا أننا نريد فتح طريق سهل لاستعمال المحرك وآمل أن أوفق في ذلك ان شاء الله

      بعض الملاحظات:
      1-الموضوع لا أعتبره مادة علمية تفيد كثيرا المتخصصيين بقدر ماهو إلا تطبيق عملي موجه للمبتدئيين الراغبيين في إستخدام المحرك على بيئة الدوت نت
      2-معظم الأمثلة التي سأطرحها إن شاء الله في هذا الجانب ستكون إما بVB2005 أو C#2005 Express (فقط لاني في العمل مثبت الأول وفي البيت مثبت الثاني )

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



      ثانيا: بيئة العمل طبعا بالدوت نت , يمكن تحميل C#2005 Express أو VB2005 Express من موقع Microsoft مباشرة


      بعد تحضير الأدوات نبدأ على بركة الله

      نفتح مشروع جديد على بيئة التطوير ونختار مشروع من النوع Console Application


      طبعا نحتاج للبدأ إضافة مرجع المكتبة الخاصة بالدوت نت والموجودة في الملف Irrlicht.NET.dll



      ملاحظة :
      1- لمستعملي الvs2005 فما فوق استعمال يجب استعمال تغليف المكتبة يعني نحتاج الى ملفات اضافية
      IrrlichtW.dll و libIrrlichtW.so هذه الملفات موجودة مع المكتبة IrrlichtCP
      طبعا هناك فرق بين الملف Irrlicht.NET.dll الموجود في المحرك الرسمي والموجود مع الSDK الخاصة ب IrrlichtCP
      لذلك لن نقوم باستبدال الملف الأصلي فقط ننسخ الملفين الذين نحتاجهما
      أو يمكنكم تحميلها من المرفق
      Dlls.zip ( 2.37mb ) عدد مرات التحميل: 274


      كما قلنا نضيف المرجع الخاص بالمكتبة

      بعدها سنحتاج إلى استدعاء فضاءات الأسماء اللازمة للبدء باستعمال دوال المحرك

      كود:
      ----
      'VB code
      Imports Irrlicht
      Imports Irrlicht.Video
      Imports Irrlicht.Core

      //C# code
      using Irrlicht;
      using Irrlicht.Video;
      using Irrlicht.Core;


      في البداية يجب تحضير مخرج العرض للرسم ومن قوة محرك Irrlicht أن له القدرة للتعامل مع الDirectX و الOpenGl لذلك علينا تحديد الطريقة التي نريد بها التعامل مع الرسوم
      لذلك نحتاج إلى استعمال كائن من IrrlichtDevice التابع لفضاء الأسماء Irrlicht
      نعرف الكائن الذي تكلمنا عليه الخاص بالتعامل مع أجهزة العرض والذي سنقوم به برسم مختلف الكائنات داخله


      كود:
      -----
      'VB code
      Dim device As IrrlichtDevice

      //C# code
      IrrlichtDevice device;



      هذا الكائن سيقوم بالتعامل مع نافذة الرسم لذلك يجب تحضيرها بتحديد البرامترات اللازمة
      وهي
      DriverType نوع المكتبة المستعملة للرسم
      Windowsize حجم شاشة الرسم من النوع Dimension2D
      Bits رقم يحدد نسبة للبكسل على الألوان
      Fullscreen من النوع boolean يحدد ان ما كان العرض سيكون ملئ الشاشة أو لا
      والبرامترات الباقية سنتطرق لها في حين استعمالها

      وبذلك يمكننا الآن تهيئة شاشة الرسم أو مخرج الرسم


      كود:
      -----
      'VB code
      device = New IrrlichtDevice(DriverType.DIRECT3D9)

      //C# code
      device = new IrrlichtDevice(DriverType.DIRECT3D8);


      بعد أن هيئنا شاشة المخرج يجب علينا تهيئة المسؤول عن الرسم لذلك نعرف متغير من النوع IVideoDriver الذي سيكون مربوط بالمخرج الذي حددناه طبعا

      كود:
      -----
      'VB code
      Dim driver As IVideoDriver = device.VideoDriver
      //C# code
      IVideoDriver driver = device.VideoDriver;



      الآن نعمل loop الأساسية التي لن تتوقف إلا إذا تم غلق النافذة المنشئة



      كود:
      -----
      'VB code

      While device.Run
      driver.BeginScene(True, False, New Color(255, 100, 100, 100))
      driver.EndScene()
      End While

      //C# code
      while (device.Run())
      {
      driver.BeginScene(true, true, new Color(255, 100, 100, 100));
      driver.EndScene();
      }


      beginScene لها 3 برامترات تحدد طريقة عرض الأشياء مع المحرك irrlicht
      منها backBuffer و zbuffer الذي لا نحتاج تفعيله في الرسوم الثلاثية الأبعاد عادة
      ولون الخلفية المحدد بمزيج الألوان الأساسية

      طبعا يمكن تحديد عنوان شاشة الرسم باستخدام الخاصية WindowCaption لل device المستعمل
      device.WindowCaption = "First Test"
      ننفذ الكود
      مبروك هذا أول تجربة لنا لاستعمال المحرك

      هل هناك مشاكل؟
      نتأكد دئما من وجود الملفات اللازمة مع الملف التنفيذي المنشئ
      لاتنسوا في مجلد ال Debug الموجود تحت المجلد Bin يجب أن نجد الملفات التالية

      Irrlicht.dll
      Irrlicht.NET.dll
      IrrlichtW.dll
      libIrrlichtW.so
      منقول من موقع الفريق العربي للبرمجة
      ---------------------------------------------------------------------------------
      أنتظر ردودكم و ترشيحاتكم.
      ----------------------------
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


    2. #2
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      عفوأ ياأخوتي خربطط عدد الموضوع 3 أرجو عدم حذفة أخذفوا 2 وخلوا 1 والله بلغلط.
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


    3. #3
      الصورة الرمزية kakarot
      kakarot غير متصل عضو مميز في منتدى التسجيلات الإسلامية
      التسجيل
      14-11-2005
      الدولة
      jordan
      المشاركات
      2,620
      المواضيع
      189
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      شكراً أخي ولكن ممكن تصع الدرس في كتاب
      لأن الكود ونرتيب يلخبط الواحد وشكراً
      وكم مساحة SDK ؟؟

    4. #4
      التسجيل
      24-01-2006
      الدولة
      QATAR
      المشاركات
      4,098
      المواضيع
      246
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      موضوعك ذكرني بأــ XNA

      http://creators.xna.com/

      http://creators.xna.com/Education/GettingStarted.aspx


      شكرا على الموضوع القيم وارجو ان نرى بعض العينات من خبراتكم ولو بسيطة

      عفوأ ياأخوتي خربطط عدد الموضوع 3 أرجو عدم حذفة أخذفوا 2 وخلوا 1 والله بلغلط.
      تم

    5. #5
      التسجيل
      22-07-2007
      الدولة
      Egypt
      المشاركات
      1,171
      المواضيع
      12
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      بسم الله
      يا اخ عصفور انت ليك خبرة في المحرك ده ولا مجرد عرض للمحرك ؟؟
      لان بصراحة لو انفتحنا في المحرك ده ممكن نغير مسار الالعاب عندنا 180 درجة .. ونوصل للعالمية

    6. #6
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      أخي amir imam أخي أنا عدي خبرة في هذا البرنامج
      كاكاروت أخي الكود مفهوم و إذا بدك أنسخو متل ماهو للبرنامج وسوف يمشي الحال إنشاء الله
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


    7. #7
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      سؤال: هل أستطيع أن أستخدم كل ميزات هذا المحرك على لغة #C , لنفرض أنه تم تطوير ShaderX هل أستطيع أستخدامه من داخل #C
      -------------------------
      جواب:بالطبع يمكن استخدام كل ميزات المحرك على الc# أما بالنسبة للتعديل على المحرك فهو مفتوح المصدر مكتوب بالc++ فيمكنك التعديل عليه
      وقد قام البعض ببناء تغليف للمحرك لتسهيل استعماله على مختلف المنصات والمشروع باسم IrrlichtCP وهو مفتوح المصدر أيضا ومكتوب بالC#
      يمكنك الرجوع اليه على الموقع الخاص:http://irrlichtnetcp.sourceforge.net....php/Main_Page
      ---------------------------------------------------------------------------------------------------------------------
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


    8. #8
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      التطبيق الثاني : إضافة شكل + كاميرا
      ---------------------------------------
      الآن سنقوم ببعض الإضافات بعدما رأينا كيفية تحضير المحرك للعمل سنرى اليوم كيف نضيف شكل ثلاثي الأبعاد داخل اطار الرسم وكذلك كاميرا رؤية

      يلزمنا فضاء الأسماء Scene المتكفل بهذه العمليات الخاصة بانشاء أشكال ولقطات والخ
      لذلك نضيف للتصريحات العامة فضاء الأسماء المستعمل

      كود:
      ----
      Imports Irrlicht.Scene

      بعدها نعرف الكائن المسؤول عن تسيير الأشكال ورسمها داخل إطار الرسم والذي سيكون مرتبط بال SceneManager للdevice المنشئ

      كود:
      ----
      Dim smgr As ISceneManager = device.SceneManager

      الآن يمكننا إضافة الأشكال إلى إطار الرسم بانشاء كائن من النوع ISceneNode
      مثلا نضيف مكعب داخل مساحة الرسم لذلك علينا تحديد حجمه و موقعه بتحديد الاحداثيات

      كود:
      ----
      Dim box As ISceneNode = smgr.AddCubeSceneNode(10, Nothing, _
      -1, New Vector3D(10, 5, 40))


      الحجم هنا حددناه ب10 ولم نربط المكعب الذي أنشأناه بأي شكل أو scene أخرى لذلك كتبنا Nothing ثم حددنا موقع المكعب باستعمال شعاع ثلاثي الأبعاد يمثل الاحداثيات التي سنضيف فيها شكلنا
      الآن قمنا برسم فقط مكعب ولكي يظهر لنا المكعب بشكل جميل نختار كساء له باختيار صورة تطبع على مختلف جوانب المكعب

      كود:
      ----
      Dim mat As ITexture = drive.GetTexture("1.jpg")
      box.SetMaterialTexture(0, mat)

      طبعا لن يظهر شئ إلا إذا عطلنا تفعيل الإضاءة على المجسم لعدم وجود عنصر إضاءة داخل الscene المنشئة

      كود:
      ----
      box.SetMaterialFlag(MaterialFlag.LIGHTING, False)


      الآن نأتي إلى انشاء كاميرا تتحرك لذلك نضيف ببساطة السطر

      كود:
      ----
      smgr.AddCameraSceneNodeFPS()


      لو نفذنا الكود الآن سنرى أن مؤشر الفأرة ظاهر والأفضل أن نقوم بإخفاءه أليس كذلك؟

      كود:
      ----
      device.CursorControl.Visible = False

      في الأخير سنتحصل على الشكل التالي:


      ملاحظة :
      ----------
      طبعا علينا اضافة الصورة 1.jpg في نفس المجلد الموجود فيه الملف التنفيذي للمشروع يعني في bin\debug
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


    9. #9
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      السلام عليكم ورحمة الله وبركاته

      بعدما رأينا في التطبيق السابق كيفية تحضير المحرك للعمل وبعض الإضافات الصغيرة جدا
      سنرى كيف نطبق بشكل مبسط المثال الموجود في الSDK والذي يخص مشهد اللعبة الشهيرة quake3
      لذلك نحتاج أولا أن نحدد وجود الملف map-20kdm2.pk3 الموجود في المجلد media الملف مضغوط ويحتوي على تجسيد المشهد من كسائات وملفات لازمة لرسم المشهد
      بعد أن نحدد موقع الملف وليكن مثلا : C:\irrlicht-1.3.1\media\ نبدأ الآن في العمل


      لقد رأينا كيف نحضر المحرك إذا نجرب لوحدنا الآن تحضير المحرك لكي نرى هل إستفدنا من شئ فيما سبق

      الآن قبل رسم المشهد يعني قبل بدء الحلقة while نحمل العناصر اللازمة للمشهد والموجودة كما قلنا في الملف المضغوط map-20kdm2.pk3 باستعمال الدالة AddZipFileArchive


      كود:
      ---
      device.FileSystem.AddZipFileArchive("D:/irrlicht-1.3.1/media/map-20kdm2.pk3");

      لحد الآن لم نقم بتحميل المشهد لذلك علينا أولا تحميل ال mesh ثم إضافته داخل كائن مشهد scene لكي يتم عرضه
      يعني نستدعي الدالة GetMesh لتحميل الmesh في كائن annimatemesh رغم أن مشهد quake3 ليس متحرك


      كود:
      ---

      IAnimatedMesh mesh = smgr.GetMesh("20kdm2.bsp");


      لتحميل المشهد نحتاج إلى كائن من النوع ISceneNode الذي سنمرر له الmesh الذي حملناه ونستطيع عمل ذلك بطريقتين مختلفتين إما AddOctTreeSceneNode أو AddAnimatedMeshSceneNode
      حسب الحاجة فالأولى تحمل المشهد جزئيا فقط يعني سيتم رسم فقط الأجزاء المرئية من الmesh والثانية تقوم بتحميل الكل وهنا نرى أن لنا الخيار فقط نحتاج فقط إلى تحميل الأجزاء المرئية داخل المشهد لتحسين الآداء في بعض المشاهد
      لكن في البعض قد يجب تحميل الmesh كاملا خاصة إذا كان متحرك


      كود:
      ---

      SceneNode node =null;
      node = smgr.AddOctTreeSceneNode(mesh.GetMesh(0), null, 0);

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

      يمكننا باستعمال الكائن ICameraSceneNode بناء كاميرا نحدد مكانها

      كود
      ICameraSceneNode cam = smgr.AddCameraSceneNodeFPS();
      cam.Position = new Vector3D(200, 850, 0);
      cam.Rotation = new Vector3D(30, 50, 0);

      الآن انتهينا لنرى كيف سيكون المشهد


      حتى لا يلومني أصدقاء الفيبي عن عدم وضعي الأكواد بالvb هذه المرة يمكنهم تحميل التطبيق بالvb و C# معا
      مع أني لا أرى فرقا كبيرا بين اللغتين
      tut3.zip ( 35.83k ) ملاحظة : أعتذر عن استعمال بعض المصطلحات مباشرة لاني تعودت عليها الآن وصدقوني لا أعرف اذا كنت سأعرف الترجمة الفعليه لكل شئ المهم إن شاء الله يكون شئ بسيط وإذا كان هناك أشياء غامضة ممكن نشرحها مع بعض
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


    10. #10
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      السلام عليكم ورحمة الله وبركاته

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


      أول شئ يجب ذكره أن مجسم الأرض موجود مع ملفات المحرك يعني في المجلد media دائما وهو ملف directx اسمه earth.x إذا الخطوة الأولى هي تحميل هذا الملف داخل المشهد
      بنفس الطريقة التي رأيناها في المثال السابق نعمل على تعريف mesh مربوط بالملف الذي ذكرناه


      كود:
      -----
      IAnimatedMesh earthMesh = smgr.GetMesh("C:/irrlicht-1.3.1/media/earth.x");
      ISceneNode node = smgr.AddAnimatedMeshSceneNode(earthMesh, null, 0);



      الmesh صغير نسبيا لذلك نقوم بتكبيره نوعا ما ثم نحدد موقعه


      كود:
      -----

      node.Scale = new Vector3D(10, 10, 10);
      node.Position = new Vector3D(2, 2, 40);

      الآن نأتي إلى الشئ المهم هنا ألا وهو تحديد الحركة للعنصر الذي أضفناه داخل المشهد

      المحرك يوفر عدة حركات على المجسمات من حركة الدوران باستعمال الدالة CreateRotationAnimator طبعا لعمل ذلك يجب إسناد الحركة إلى كائن من النوع ISceneNodeAnimator ثم نقوم بإضافته إلى الnode الرئيسي الذي أنشأناه لتطبيق الحركة


      كود:
      -----

      ISceneNodeAnimator anim = smgr.CreateRotationAnimator(
      new Vector3D(0, 0.2f, 0));
      node.AddAnimator(anim);

      الدالة CreateRotationAnimator لها برامتر يقوم بتحديد سرعة دوران الجسم في الثانية بالنسبة للمحاور الثلاثة وهنا ترى أننا حددنا الدوران فقط على محور y بسرعة 0.3 دورة في الثانية

      الآن نتكلم عن مصدر الإضاءة والتي سيتم انشاءها باستخدام كائن من النوع ILightSceneNode

      كود:
      -----

      ILightSceneNode light = smgr.AddLightSceneNode(null, new Vector3D(0,0,0),
      new Colorf(0.5f, 1.0f, 0.5f, 0.0f), 200.0f,0);


      الآن نضيف لوحة نرسم عليها عنصر الإضاءة ونقوم برسم شكل مضئ داخله مع تحديد مكانه وحجمه بالطبع داخل المشهد


      كود:
      -----

      ISceneNode bill = smgr.AddBillboardSceneNode(light, new Dimension2Df(60, 60)
      , new Vector3D(-20, 20, 40), 0);
      bill.SetMaterialTexture(0, driver.GetTexture("C:/irrlicht-1.3.1/media/particlewhite.bmp"));
      bill.SetMaterialFlag(MaterialFlag.LIGHTING, false );
      bill.SetMaterialType(MaterialType.TRANSPARENT_ADD_COLOR);



      الآن يمكن القول أننا أنهينا الأشياء الضرورية لعمل المشهد
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


    11. #11
      الصورة الرمزية kakarot
      kakarot غير متصل عضو مميز في منتدى التسجيلات الإسلامية
      التسجيل
      14-11-2005
      الدولة
      jordan
      المشاركات
      2,620
      المواضيع
      189
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      جزاك الله خيراً
      الدروس جميلة أنا بحكي لما تنتهي الدروس تجمعهم كلهم في كتب أفضل ^^
      ونستنا دروس إضافة الشخصية إلخ

    12. #12
      الصورة الرمزية kakarot
      kakarot غير متصل عضو مميز في منتدى التسجيلات الإسلامية
      التسجيل
      14-11-2005
      الدولة
      jordan
      المشاركات
      2,620
      المواضيع
      189
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      وأريد لو سمحت رابطة أخرى SDK لأن الرابطة الأولى لم أفتح الموقع بعلق حاولت عدة مرات ولكن دون جدوى ؟؟

    13. #13
      التسجيل
      05-10-2007
      المشاركات
      379
      المواضيع
      22
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

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




    14. #14
      التسجيل
      05-10-2007
      المشاركات
      379
      المواضيع
      22
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      وصحيح ممكن برنامج sdk الي يدعم الدايركت اكس 9 عاوزه ضروري مشان الله للسي بسرعة بسرعة بانتظارك وايضا علشان اكمل معك موضوعك الي طارحه لاني فرمتت الجهاز ومش موجود عندي




    15. #15
      التسجيل
      21-11-2007
      الدولة
      الشـــــــــــــــــــــــــــــــــــــــام
      المشاركات
      357
      المواضيع
      34
      شكر / اعجاب مشاركة

      رد: تعال نبدأ مع Irrlicht على NET

      والله ياأخوتي برنامج sdk أنا نسختو من سيدي بس مابعرف وين الرابطة تبعو على كل حال دورو بتلاقوه ويلي بيعرف رابطه أرجو أن يعطيهم ياه
      كتب الله أن تكون دمشق ***** بك يبدأ وينتهي التكوين
      هاهي الشام بعد فرقة دهر ****** أنهر سبعةٌ .. وحورٌ عينُ
      آه يا شام كيف أشرح ما بي ****** وأنا فيك دائماً مسكون
      نحن أسرى معاً وفي قفص الحب ****** يعاني السجانُ والمسجونُ
      أهي مجنونةٌ بشوقي إليها ****** هذه الشامُ أم أنا المجنونُ
      شام.. يا شام.. يا أميرة حبي ****** كيف ينسى غرامـه المجنون؟
      أوقدي النارَ فالحديث طويلُ ****** وطويلُ لمن نحب الحنين ُ
      إركبي الشمس يا دمشق حصاناً ****** ولك الله ... حـافظ و أميـنُ


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

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