DreamNet

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

110 ردود في هذا الموضوع

لا بدا أنك تستعمل الملف Irrlicht.NET.dll الموجود مع ملفات Dlls الذي أرفته في المشاركة الأولى وهو مرجع IrrlichtNETCP

post-23361-1198519727.jpg

لكي تعمل الأمثلة للموضوع الأول استعمل الملف الذي يأتي مع الSDK الرسمية للمحرك وهو Irrlicht.NET.dll مع المحافظة على الملفات الأخرى التي نحتاجها للتغليف

post-23361-1187880051.jpg

استاذ DreamNet الفاضل

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

Imports Irrlicht

Imports Irrlicht.Video

Imports Irrlicht.Core

فما هي المشكله

ارجو الرد علي بعد إذنك

حدثت نفس المشكلة مع الأخ سيد

يمكنك تحميل المرجع الموجود هنا واستبداله بالسابق أي استبدال الملف Irrlicht.NET.dll

إعتذرا:

تم تعديل الملف الصحيح

للتحميل

Irrlicht.NET.zip

أنا أفضل أن تبدأ مع الموضوع الثاني أحسن لانه في نظري به يلم بجوانب الصوت والفيزياء أيضا

إطار جيد للتعامل مع Irrlichtcp رسم صوت وفيزياء معا, مقدمة لاستعمال IrrlichtFramework

تم تعديل بواسطه DreamNet
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الله يجزيك بالخير اخي الفاضل DreamNet

طيب المشكلة الاولى مشينا فيها بفضل الله ثم بفضلك

طيب طلعت لي مشاكل ثانيه ....

d6407ac691.jpg

فالأولى عند وضع هذا الكود

  device = New IrrlichtDevice(DriverType.DIRECT3D9)

والخيارت الموجودة كانت

6b101fdba9.jpg

والثانية عند وضع الكود

  Dim box As ISceneNode = smgr.AddCubeSceneNo(10, Nothing, -1, New Vector3D(10, 5, 40))

والخيارت الموجوده ابداَ ما فيها شي عن مكعب Cube

طيب ليش؟؟

[c37c999bf2.jpg

المعذره ...ازعجك وكثرة اسألتي ....لكن بالفعل اريد ان اتعلم

ملاحظة اعمل على vb.net 2008

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

آسف :)

حصل خطأ في الملف الصحيح

تم تعديل الرابط بالمشاركة السابقة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا اخي الفاضل مشي الحال .....لكن عند تشغيل

تظهر النافذة فارغة ليس بها صورة .............بعد إذنك.........هل من الممكن ان تشرح لي ان اضع الصورة التي انت سميتها "1.jpg"

هل اضعها في ملف Resources

بارك الله فيك ونفع بك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
ملاحظة :

طبعا علينا اضافة الصورة 1.jpg في نفس المجلد الموجود فيه الملف التنفيذي للمشروع يعني في bin\debug

post-23361-1187880051.jpg

بالتوفيق للجميع دائما

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخي الفاضل...اشكرك على التفاعل السريع ومساعدتك اللأخرين

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

ولم يحصل شيء

30da568ce8.jpg

وكذلك المثال الذي وضعته في البداية الذي اسمه tut3

وبالمثل طبقته ولم يعمل واعطاني خطاء

25d49e291d.jpg

مع العلم اني وضعت مجلد

irrlicht-1.3.1 في نفس المسار الذي وضعته انت

اخي الفاضل هل اكمل في تعلم هذه الطريقة لبرمجة الالعاب...ام تنصحني بالاتجاه الى برنامج

XNA GAme Studio Express

فهوا يتعامل مع vb.net

شكرا جزيلاً

تم تعديل بواسطه الكتكوووته
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

أولا :

عدم ظهور أي شئ في المثال الأول واضح من الخطأ الموجود في طريقة كتابة الكود

حيث أن الحلقة while تكون في بعد تعريف الكائنات التي سيتم رسمها وليس قبل

لذلك فانه لن يتم رسمها إلا اذا تم وضع التعريفات قبل تلك الحلقة

أي أنه من المفروض أن الحلقة while تكون آخر كود يكتب

ثانيا:

اذا كان الملف map20-kdm2.kp3 موجود بالفعل في المسار

d:\irrlicht-1.3.1\media\

يجب التحقق من ذلك أولا

اذا كان موجودا فأظن المشكل راجع إلى السماحية للفيستا والله أعلم (لم أجربها بعد على الفيستا)

لان الملف يتم فك ضغطه واستعمال المشهد الموجود به

يمكن مراجعة الموضوع الخاص ب UAC هنا

مع العلم أن الملف map20-kdm2.kp3 يمكن فك ضغطه يدويا بالوينرار والاستغناء عن السطر الموجود به الدلة AddZipFileArchive

ثالثا:

بالنسبة لتعلم الXNA فهي خيار جيد لكن الدعم مخصص للسي شارب أكثر من قبل ميكروسفت

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

بالتوفيق

تم تعديل بواسطه DreamNet
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

أخي الكريم DreamNet إذا تكرمت علينا ممكن ترفع لنا الكود الخاص بالمثال shoot المذكور سابقا(يد مع مسدس يطلق نار مع صوت و نار و حركة)

مع إضافة تعديل بسيط عليه وهو أنه عندما تضغط على زر الفأرة يقوم المحرك بإنشاء كرة Sphere تنطلق من فم المسدس بإضافة قوة لها بإستخدام Newoton وإذا حدث Collison بين الكرة وبين AnimatedMesh محملة مسبقاً يتحرك الميش (لأنه لم يتجح معي كشف التصادم بين جسم و بين AnimatedMesh ولكنه نجح بين الكاميرا و بين الميش)

أعرف أن طلباتي كثيرة ولكن دعواتي لك ستكون أكثر بإذن الله

ملاحظة : أنا الآن أقوم بتصميم لعبة تشبه لعبة BeachHead القديمة ولدي صديقي في فريق العمل يصمم لي الأعداء و الهيلوكبتر و الدبابات و APC و طائرات F16 كما أنني سوف أستعين بالMaterials الخاصة بلعبة (Counter Strike) إييييييييييه الله يرحم أيام زمان :lol:

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

وشكراً لك مسبقاً... :ty: :rose:

:bye:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
مع إضافة تعديل بسيط عليه وهو أنه عندما تضغط على زر الفأرة يقوم المحرك بإنشاء كرة Sphere تنطلق من فم المسدس بإضافة قوة لها بإستخدام Newoton وإذا حدث Collison بين الكرة وبين AnimatedMesh محملة مسبقاً يتحرك الميش (لأنه لم يتجح معي كشف التصادم بين جسم و بين AnimatedMesh ولكنه نجح بين الكاميرا و بين الميش)

ملاحظة بسيطة فقط حول الطريقة التي تريد تطبيقها

تغليف محرك نيوتن حاليا غير كامل ولذلك فالدالة المخصصة للAnimatedMesh غير متوفرة في IrrlichtFramework

وبهذا فأنه يستحسن استعمال Sphere تربط مع الAnimatedMesh من أجل كشف التصادم

لكن سيؤدي في الأخير جعل رمي الرصاص واستخدام نيوتن لكشف التصادم إلى ثقل كبير في اللعبة

لذلك عليك التفكير فقط في استعمال دوال التصادم الموجودة ضمن محرك الرسوم لاكتشاف تصادم شعاع مع الAnimatedMesh

سأحاول البحث داخل ملفاتي القديمة عن سورس المثال مع أنه يمكنك استخلاص السورس ببساطة باستعمال برنامج Reflactor

مع أني أشك أنني سأجد المثال لكنه ليس صعب اعادة كتابته

أظنك تستعمل المكتبة IrrlichtFramework أليس كذلك؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

شكراً لك على فكرة Reflector

هذا هو الكود :

Public Shared Sub Main()
Module1.device = New IrrlichtDevice(DriverType.OPENGL)
Dim driver1 As IVideoDriver = Module1.device.VideoDriver
Dim manager1 As ISceneManager = Module1.device.SceneManager
Dim receiver1 As New MyEventReceiver
Module1.device.EventReceiver = receiver1
Dim material1 As New Material
material1.Texture1 = driver1.GetTexture((Module1.path & "rockwall.bmp"))
Dim df1 As New Dimension2Df(30!, 30!)
Dim dimensiond1 As New Dimension2D(40, 40)
Dim df2 As New Dimension2Df(0!, 0!)
Dim df3 As New Dimension2Df(10!, 10!)
Dim mesh1 As IAnimatedMesh = manager1.AddHillPlaneMesh("myHill", df1, dimensiond1, material1, 5!, df2, df3)
manager1.AddMeshSceneNode(mesh1.GetMesh(0), Nothing, -1).SetMaterialFlag(MaterialFlag.LIGHTING, False)
Dim node1 As ICameraSceneNode = manager1.AddCameraSceneNodeFPS
Dim vectord1 As New Vector3D(0!, 50!, -70!)
node1.Position = vectord1
Module1.device.FileSystem.AddZipFileArchive("deagle.zip")
Module1.gun = manager1.AddAnimatedMeshSceneNode(manager1.GetMesh("deagle.ms3d"), node1, -1)
Module1.gun.SetMaterialFlag(MaterialFlag.LIGHTING, False)
Module1.gun.AnimationSpeed = 3000!
Module1.gun.SetFrameLoop(0, 0)
Module1.device.CursorControl.Visible = False
Dim positiond1 As New Position2D(320, 240)
Module1.device.GUIEnvironment.AddImage(driver1.GetTexture("crosshair.tga"), positiond1, True, Nothing, 0, "test")
Do While Module1.device.Run
Dim color1 As New Color(255, 100, 100, 100)
driver1.BeginScene(True, True, color1)
manager1.DrawAll
Module1.device.GUIEnvironment.DrawAll
If (Module1.gun.CurrentFrame > 1200) Then
Module1.gun.SetFrameLoop(0, 0)
Module1.shooting = True
End If
driver1.EndScene
Loop
End Sub

وهذا هو مستقبل الأحداث:

Public Class MyEventReceiver
Implements IEventReceiver

' Methods
Public Sub New()
Public Function OnEvent(ByVal e As Event) As Boolean Implements IEventReceiver.OnEvent
Public Sub Shoot()

' Fields
Private osound As ISoundEngine
End Class

وهذا هو الميثود Shoot:

Public Sub Shoot()
Module1.shooting = False
Module1.gun.SetFrameLoop(200, 1290)
Me.osound.Play2D("deagle1.wav", False, False, StreamMode.AutoDetect, False)
Dim node1 As IBillboardSceneNode = Nothing
Dim df1 As New Dimension2Df(5!, 5!)
Dim vectord1 As New Vector3D(0!, 0!, 0!)
node1 = Module1.device.SceneManager.AddBillboardSceneNode(Module1.gun, df1, vectord1, -1)
node1.SetMaterialFlag(MaterialFlag.LIGHTING, False)
node1.SetMaterialType(MaterialType.TRANSPARENT_ADD_COLOR)
node1.SetMaterialTexture(0, Module1.device.VideoDriver.GetTexture("flash.bmp"))
vectord1 = New Vector3D(4!, -0.5!, 16!)
node1.Position = vectord1
Dim animator1 As ISceneNodeAnimator = Module1.device.SceneManager.CreateDeleteAnimator(50)
node1.AddAnimator(animator1)
End Sub

بالنسبة للتصادم بين الطلقة (Sphere) و الميش أحاول إيجاد حل أرجوا من الجميع مد يد العون

أظنك تستعمل المكتبة IrrlichtFramework أليس كذلك؟

نعم أستخدم الIrrlichtFramework لهذا عندما كنت أحاول تطبيق الدروس الموجودة في هذا الكورس كنت أجد صعوبة وكنت أضطر أحيانا إلى التجريب لمدة ساعات لينجح المثال (إكتشفت AddHandler عوضاً عن EventReceiver لوحدي )

على العموم شكراً جزيلاً لك مرة أخرى.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .