إقتباس
شكرا لك أخي ولكني في برنامجي لم أستخدم ثلاثة أبعاد وإنما بعدين فقط
اذا المشكلة صارت أسهل ..
إقتباس
ولكني لا أعرف كيف أقرأ نقطة x,y إذا نقرت بالزر اليسار للماوس على هذه النقطه حتى تتحرك الكره إلى هذه النقطه
مثال :
كود
void mouse(int button, int state, int x, int y)
{
if (button == GLUT_RIGHT_BUTTON)
{
if (state == GLUT_DOWN)
cout << "Right button pressed"
<< endl;
else
cout << "Right button lifted "
<< "at (" << x << "," << y
<< ")" << endl;
}
}
في الmain
كود
glutMouseFunc(mouse);
شرحت هذه الدوال في هذا الموضوع :
دروس حول المكتبة glutلكن تبقى مشكلة التحويل من والى نظام احداثيات OpenGL .
هناك حلين :
1- أن تجعلي احداثيات OpenGL مثل احداثيات أي نافذة في الويندوز .
2- ان تعملي معادلة بسيطة للتحويل من والى OpenGL .
مرة ثانية ..اذا رجعت للبيت عملت المثال ..( ان شاء الله ما أنسى هذه المرة

) .. حاليا في الجامعة ولا اظنهم مثبتين OpenGL ....
لكن اذا كان ممكن .. اضيفي الجزء الخاص بالمنفذ .. مثال :
كود
glViewport(.......); // ماهي القيم الموجودة هنا
glOrtho(...........);// ماهي القيم الموجودة هنا
حتى نعطيك من الاخر .