مساء الخير
اخواني لا هنتوا عندي استفسار عن تحريك الاجسام..
لنفرض قمت برسم مستطيل واريدة كل مرة يعمل ازاحة بمقدار معين ع محورy لنفرض 0.001 ولة هذة الابعاد..
float y=0;
glColor3f (0.0, 1.0, 0.0);
glLoadIdentity ();
glTranslatef(0,y,0);
glBegin(GL_POLYGON);
glVertex2f(.1, .25);
glVertex2f(-.1, .25);
glVertex2f(-.1, -.25);
glVertex2f(.1, -.25);
glEnd();
ثم بعد ذلك نعرف انة لجعل الجسم يتحرك باستمرار نستخدم دالة:
glutIdleFunc()
ونمرر له الدالة اللي فيها خصائص الرسمة..
لو اريد بعد مايتحرك هذا المستطيل ويوصل الى أعلى النافذة..أريدة يرجع يظهر من أسفل النافذة..
هذا اللي استخدمتة..لكن ماتطلع النتيجة معي:
void TransFunction()
{
y +=.001;
==== باعتبار انة حجم النافذة 700*700
if(y>=700)
y=0;
glutPostRedisplay();
}
كيف اجعل حركة المستطيل كما ذكرت وهو (بعد مايتحرك هذا المستطيل ويوصل الى أعلى النافذة..أريدة يرجع يظهر من أسفل النافذة)...
ارجو المساعدة ..فتح الله عليكم وأسعدكم في الدارين..
