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

how can i do bullets Generating using Vector

مغلق
بدأه rebdawi2002 في 16 أبريل 2007 · 4 رد · 808 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أنا سمعت انه يمكن استخدام

VECTOR

لاطلاق الطلقات من طيارة داخل اللعبة

لكنني لست اعرف كيف يتم ذلك

أرجو المساعد بكتابة كود بسيط سهل الفهم و جاهز للتتطبيق

#2

بسم الله الرحمن الرحيم

السلام عليكم

أعتقد انها مش مستهلة إستخدام vector ممكن يكون متغر static يعبر عن عدد الطلقات وعندك ف الgame loop تستدعى دالة اللى بتlisten على اى input عن طريق getKeyStates أول مثلا ما يتك Enter(FIRE_PRESSED)

قلل عدد الطلقات و حرك صورة ع شكل طلقة من ال src الى ال dest

على العموم انا هنقل الموضوع لقسم الالعاب يفدونا اكتر :)

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#3

أخي هل تقصد Vector بالمعني الرياضي ؟ ام بالمعني البرمجي ؟

بالمعني الرياضي ، بلي ، و هناك معادلات الرياضة (( الازاحة )) راجع س ، ج في برمجة الالعاب في الفهرس .

المعني البرمجي بمعني انك تخزن الطلقات كلها في vector و تقوم بمسح ما تريد ؟؟ بكل تاكيد ينفع ..

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

#4

اخوي نصيحتي لا تستخدم الـ vectors للطلقات ، خصوصا للطلقات لأنها متغيرة و تحتاج إلى إدارة فترة عمل البرنامج Run-Time لأن إذا استخدمت Vector راح تخسر شوي من الذاكرة، خزن الطلقات في مصفوفة ديناميكية ، عشان توافق احتياجك مع زوال الطلقات او إعادة التذخير :)

هذا إذا كنت تشتغل في C او ++C

هذا مثال بسيط إن شاء الله تفهمه ، لكن لاحظ انا ما سويت له compile ولا شي ، بس عشان للفهم :)

//Take in consideration that we made class called Bullet 
//to make bullets object
Bullets* playerBullets[10];

for (int i = 0; i < 10; ++i)
{
	//Allocation memory for every bullet
	playerBullets = new Bullet;
}

if (player.fired)
{
	for (int i = 1; i < 1; ++i)
		{
			delete playerBullets;
		}
}

و لا تنسى انك تحرر الذاكرة مثل ما انا سويت بالمثال :)

تم تعديل هذه المشاركة بواسطة Ferrum في 19 أبريل 2007 في 02:49

:::كوت بو 6:::

IDE : Microsoft Visual Studio 2005 Pro

#5

احب ان اضيف Trick ، و هي زيادة عدد الطلقات علي حسب الضغط علي زر الماوس ،، كلما تضغط علي زر الماوس تقوم بعمل عداد يكون هذا العداد هو عدد الطلقات في كود الاخ Ferrum

Bullets* playerBullets[g_BulletsC];

for (int i = 0; i < g_BulletsC; ++i)
{
	//Allocation memory for every bullet
	playerBullets = new Bullet;
}

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

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

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

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