الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

scrolling background × Pathfinding

مغلق
بدأه Abdullah.Alshammeri في 3 نوفمبر 2005 · 6 رد · 680 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم /

scrolling background >> ماهي فكرته

يعني كيف اقدر اخلي الخلفية تحرك ..

عندي مثال .. لكن مش واضح ..

اعطوني كم تلميحة وان شاء الله افهم .

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

ثانيا /

Pathfinding

هل هي طريقة رياضية تعتمد على قوانين ثابتة ...

بالعربي نريد اعطاء الفكرة منها + فائدتها لي كمبرمج .. يعني هل تستحق مني التعب لافهم فكرتها .

الاكواد متوفرة عندي .. لكن المشكلة الفكرة العامة ...

جملة باللغة العربية تغني .. عن 1000 سطر باللغة الانجليزية :)

وكل عام وانتم بخير وتقبل الله منا ومنكم صالح الاعمال .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

و عليكم السلام ،، و كل عام و انتم بخير

بالنسبة لعملية ازاحة الشاشة و هي العاب Side Scroll الازاحة بالجنب ـ لها العديد من الطرق و الافكار و منها مثلاً

1. تستخدم كاميرا في بعدين و تقوم بتحريك الكاميرا علي المحور س x يمين و يسار بإضافة مقدار تغير أو ازاحة dx علي السيني ، طالما الازاحة بالجنب . تستخدم في العاب مثل ماريو .

Camera_Xnew = Camera_Xold + DX

2. هناك طريقة بعدم ازاحة الشاشة و هي رسم المرحلة كاملة بعرض كبيرة جداً و تقوم بتحميلها في الذاكرة( او رسم المرحلة صورة صورة) و تقوم برسم الصورة التي تريدها و كلما وصل اللاعب إلي نهاية الشاشة يقوم بالتنقل إلي الصورة الاخري أي رسمها .

3. هناك إزاحات اخري مثل العاب الطيارات الثنائية البعد و الشاشة تُزاح بالاعلي نفس الافكار فوق ...

PathFinding البحث عن افضل مسار

هي خوارزم في علوم الكومبيوتر استخدموها علماء الذكاء الصناعي في مجال الالعاب لكشف افضل مسار يسلكه الجماد Object عند وجود عائق امامه , و هذه الخوارزم لها العديد من الافكار مثل خوارزم A* -Star النجمة A و هي تستخدم علاقات رياضية و احتمالات و فروض في المرحلة و غالباً تُستخدم في الالعاب الاستراتيجي Real Time Strategt RTS لما لها طابع الذكاء الصناعي بها ...

و جدير بالذكر ان هذه الخوارزم تُطبق في الانسان الالي و اني اتمني ان اطبقها فعلياً في مجال الروبت ( يعني المشكلة اصعب تحتاج لمعرفة مسافات و دوائرة كشف العائق و معالج ضخم للحسابات ... ;) ) لكن علي الاقل نحاكيها علي الكومبيوتر في العاب RTS الان ;).

كتبت مقالة سوف احاول نشرها هنا لموسوعة Gems و رفضت للاسف و هي استخدام Curve Fitting ,Interpolation في البحث عن معادلات المسار عن طريق فرض نقط و استنتاج معادلة المسار الافضل Best Fits .

ادعوا لي بالشفاء ...

احمد

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#3

الله يجزاك الخير ويعطيك الصحة والعافية .. امين ..

لكن عندي نقطة ماهي واضحة :

تستخدم كاميرا في بعدين و تقوم بتحريك الكاميرا علي المحور س x يمين و يسار بإضافة مقدار تغير أو ازاحة dx علي السيني ، طالما الازاحة بالجنب . تستخدم في العاب مثل ماريو .

طيب افرض اني اريد البرمجة باستحدام vb او win api ....

هنا لاتوجد دالة جاهزة لتحريك الكاميرا ... مثل GL او DX .

اين الكاميرا في هذه الحالة ..... ؟

كيف انشئها .

الله يعينك على كثر الاسئلة :)

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

عادي جداً بتفرض احداثيات العالم World X,Y و طبقاً لي : مواضع الكائنات في العالم تقوم بعمل تحويل transform ازاحة translate لمواضع الكائنات بالنسبة لموضع العالم ( الكاميرا الافتراضي ) .

for (int counter = 0, counter < num_objects; counter++)
 // get the object position
    x0 = world[index].x;
    y0 = world[index].y;

    // now translate to screen coords
    x0 = x0 - world_x;
    y0 = y0 - world_y;
}
// Example ...
if (Keyboar(VK_Right)) 
{
world_x+=10; 
}

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#6

اعتقد تقصد كيف تخليها بحيث لما تحرك الكامرة تتحرك الصورة على الشاشة مع الكامرة ..

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

يعني انت عندك بالـ game loop حيكون هناك دائما استدعاء للـ function اللي يرسم اللعبة, بداخل هذا الـ function لازم تحسب موقع الكامرة و بناءا عليه تحدد كيف سترسم المرحلة.

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 4 نوفمبر 2005 في 20:47

#7

سأجرب وارد عليكم .. ان شاء الله تنحل هالعقدة :) .

والحمدلله على السلامة اخوي UAB .. وين هالغيبة :) .. عيدك مبارك .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

هذا الموضوع مغلق.

مواضيع مشابهة