السلام عليكم ورحمة الله وبركاته
ممكن حد يقولى ازاى اخلى نفس الشكل مثلث مثلا او غيرة بانه يظهر بعدد معين random فى game
عشان الاحداثيات للمكان بتاع الرسومات بيختلف
وكمان انى اخلى للgame وقت معين
وشكرا
السلام عليكم ورحمة الله وبركاته
ممكن حد يقولى ازاى اخلى نفس الشكل مثلث مثلا او غيرة بانه يظهر بعدد معين random فى game
عشان الاحداثيات للمكان بتاع الرسومات بيختلف
وكمان انى اخلى للgame وقت معين
وشكرا
لابد أحياناً من لزوم الصمت ليسمعنا الآخرون
استخدمي داله العداد العشوائيه rand للحصول على الاعداد العشوائيه التي تحتاجينها وكذلك الداله srand للحصول على اعداد مختلفه عند كل تشغيل
Ali Al-Zyoud كتب:استخدمي داله العداد العشوائيه rand للحصول على الاعداد العشوائيه التي تحتاجينها وكذلك الداله srand للحصول على اعداد مختلفه عند كل تشغيل
شكرا على الرد
المشكلة مش فى الفنكشن ,انا المفروض اغير فى ال vertex ازاى ,انا دورت وفى اكتر من طريقة بس الكودات كانت مش مفهومة فالو ممكن
حدي يشرح طريقة يعرفها بطريقة مبسطة ,
لابد أحياناً من لزوم الصمت ليسمعنا الآخرون
eng-sally كتب:شكرا على الرد
المشكلة مش فى الفنكشن ,انا المفروض اغير فى ال vertex ازاى ,انا دورت وفى اكتر من طريقة بس الكودات كانت مش مفهومة فالو ممكن
حدي يشرح طريقة يعرفها بطريقة مبسطة ,
انا لا اعلم ما هي المشكله بالنسبه لكي ، عليكي ان توضحي اكثر ، لتغيير ال vertices نغيير قيمتها .
هذا مثال على يرسم مثلث بأماكن مختلفه عند كل تشغيل :
#include<windows.h>
#include<GL/gl.h>
#include<GL/glu.h>
#include<GL/glut.h>
#include<math.h>
#include<time.h>
#pragma comment (lib,"OpenGL32.lib")
#pragma comment (lib,"glu32.lib")
#pragma comment (lib,"glut32.lib")
int width = 800;
int height = 600;
void Drawing()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex2d(rand()%800,rand()%600);
glVertex2d(rand()%800,rand()%600);
glVertex2d(rand()%800,rand()%600);
glEnd();
glutSwapBuffers();
}
void Init()
{
glClearColor(1.0,1.0,1.0,0);
glColor3f(0.0,0.0,0.0);
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,800,0,600);
}
int main()
{
srand(time(NULL));
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(width,height);
glutInitWindowPosition(0,0);
glutCreateWindow("Example");
Init();
glutDisplayFunc(Drawing);
glutMainLoop();
return 0;
}Ali Al-Zyoud كتب:انا لا اعلم ما هي المشكله بالنسبه لكي ، عليكي ان توضحي اكثر ، لتغيير ال vertices نغيير قيمتها .
هذا مثال على يرسم مثلث بأماكن مختلفه عند كل تشغيل :
#include<windows.h> #include<GL/gl.h> #include<GL/glu.h> #include<GL/glut.h> #include<math.h> #include<time.h> #pragma comment (lib,"OpenGL32.lib") #pragma comment (lib,"glu32.lib") #pragma comment (lib,"glut32.lib") int width = 800; int height = 600; void Drawing() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glVertex2d(rand()%800,rand()%600); glVertex2d(rand()%800,rand()%600); glVertex2d(rand()%800,rand()%600); glEnd(); glutSwapBuffers(); } void Init() { glClearColor(1.0,1.0,1.0,0); glColor3f(0.0,0.0,0.0); glViewport(0,0,width,height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0,800,0,600); } int main() { srand(time(NULL)); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(width,height); glutInitWindowPosition(0,0); glutCreateWindow("Example"); Init(); glutDisplayFunc(Drawing); glutMainLoop(); return 0; }
شكرا على الاجابة
بس سؤال تانى معلش
هو انا ممكن ادليت شكل معين من محموعة الاشكال المرسومة عندى اثناء ال runtime
لابد أحياناً من لزوم الصمت ليسمعنا الآخرون
eng-sally كتب:شكرا على الاجابة
بس سؤال تانى معلش
هو انا ممكن ادليت شكل معين من محموعة الاشكال المرسومة عندى اثناء ال runtime
ممكن توضحي اكثر ماذا يعني "ادليت"
يمكنك استخدام FLAG فى داله الرسم على الجزء الذى تريدين رسمه واذا كان ب FALSE فانه لن يقوم برسم الشكل ثانيه
void display()
{
if (myflag == true )
draw rectangle
}
اذا كنت لا تعلم الى اين تذهب... فكــل الطرق تؤدى الى هناك
الأخ الكريم/الأخت الكريمة
السلام عليكم ورحمة الله وبركاته
مرحباً بكم في منتدى الفريق العربي للبرمجة
تأسف إدارة المنتدى لغلق الموضوع وذلك لمخالفته قوانين المشاركات .
قواعد طرح المشاركات
شاكرين لكم حُسن تعاونكم
{username}
هذا الموضوع مغلق.