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

كود رسم مثلث و مربع مع تحريك المثلث فقط

بدأه AlghamduNaif في 28 نوفمبر 2012 · 1 رد · 3,245 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

include <glut.h>

void draw(void)

{

glColor3f(0.0,1.0,1.0);

glBegin(GL_QUADS);

glVertex2i(500,500);

glVertex2i(700,500);

glVertex2i(700,300);

glVertex2i(500,300);

glEnd();

glBegin(GL_TRIANGLES);

glColor3f(1.0,0.0,0.0);

glVertex2i(200,300);

glColor3f(0.0,1.0,0.0);

glVertex2i(400,300);

glColor3f(0.0,0.0,1.0);

glVertex2i(300,500);

glEnd();

}

void Trans(GLfloat tx,GLfloat ty){

glMatrixMode(GL_MODELVIEW);

glClear(GL_COLOR_BUFFER_BIT);

glTranslatef( tx,ty,0.0);

draw();

glFlush();

glutSwapBuffers();

}

void myDisplay(void)

{

glClear(GL_COLOR_BUFFER_BIT);

draw();

glFlush();

glutSwapBuffers();

}

void processNormalkeys(unsigned char key, int x ,int y)

{

GLfloat tx=0.0, ty =0.0;

if (key=='r'){

tx=tx+10;

}

else if (key=='l'){

tx=tx-10;}

Trans(tx, ty);

glutPostRedisplay();

}

void init(void)

{

glClearColor(0.0,0.0,0.0,0.0);

glColor3f(1.0,1.0,1.0);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

gluOrtho2D(0.0,800.0,0.0,800.0);

}

void main (int argc, char **argv)

{

glutInit (&argc,argv);

glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);

glutInitWindowSize(800,800);

glutInitWindowPosition(0,0);

glutCreateWindow("draw");

glutDisplayFunc( myDisplay);

glutKeyboardFunc(processNormalkeys);

init();

glutMainLoop();}

#2

لماذا لايتحرك المثلث فقط مااعرف الغلط

لماذا لايتحرك المثلث فقط مااعرف الغلط

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…