سورس حرکت هلیکوپتر با OpenGL به زبان C++
در این بخش سورس حرکت هلیکوپتر با OpenGL را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی C++ نوشته شده است. شما با مشاهده این سورس کد می توانید نحوه رسم اشکال مختلف، چگونگی حرکت دادن آن ها، چرخاندن اشکال و همچنین نحوه اپدیت کردن صفحه نمایش با کتابخانه OpenGL را یاد بگیرد. در ادامه می توانید توضیحات و تصاویر مربوط به این برنامه را مشاهده کنید.
توضیحات پروژه
این پروژه به صورت Console است و زمانی که کاربر آن را اجرا می کند، یک پنجره OpenGL باز می شود. در ابتدا یک هلیکوپتر در وسط صفحه نمایش قرار دارد و کاربر می تواند با استفاده از کلید های W، A، D و S هلیکوپتر را حرکت دهد.
کلید هایی که برای کنترل هلیکوپتر تعریف شده اند:
- کلید A: به منظور حرکت دادن هلیکوپتر به سمت جلو استفاده می شود.
- کلید D: به منظور حرکت دادن هلیکوپتر به سمت عقب استفاده می شود.
- کلید W: به منظور حرکت دادن هلیکوپتر به سمت بالا استفاده می شود.
- کلید S: به منظور حرکت دادن هلیکوپتر به سمت پایین استفاده می شود.
- کلید R: این کلید هم برای ریستارت کردن استفاده می شود. یعنی هلیکوپتر را در وسط صفحه ثابت نگه می دارد.
توابعی که در این پروژه استفاده شده اند عبارت اند از:
- تابع restart: که به منظور ریستارت کردن برنامه استفاده می شود و باعث می شود تا هلیکوپتر را در وسط صفحه ثابت بایستد.
- Display: که برای نمایش اشیاء مختلف در صفحه نمایش می شود.
- تابع keys: که به منظور تشخیص کلید های فشرده شده توسط کاربر استفاده می شود.
- تابع right: که برای حرکت دادن هلیکوپتر به سمت راست استفاده می شود.
- تابع left: که برای حرکت دادن هلیکوپتر به سمت چپ استفاده می شود.
- تابع up: که برای حرکت دادن هلیکوپتر به سمت بالا استفاده می شود.
- تابع down: که برای حرکت دادن هلیکوپتر به سمت پایین استفاده می شود.
- تابع sky: که برای رسم آسمان یا همان رنگ پس زمینه استفاده می شود.
قسمت های از سورس پروژه:
#include <stdio.h> #include <math.h> #include <gl/glut.h> static GLfloat spin = 0, i = 0, j = 0; void sky() { glBegin(GL_POLYGON); glColor3f(0, 0.6, 0.8); glVertex2f(0, 400); glVertex2f(650, 350); glColor3f(1.0, 1.0, 1.0); glVertex2f(600, 300); glVertex2f(0, 100); glEnd(); } void display() { glClear(GL_COLOR_BUFFER_BIT); sky(); drawheli(); glFlush(); glutSwapBuffers(); } void myinit() { glClearColor(1.0, 1.0, 1.0, 1.0); glColor3f(1.0, 1.0, 1.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(0.0, 600.0, 0.0, 350, 0.0, 250.0); glMatrixMode(GL_MODELVIEW); } void up() //MOVE UP { j++; glutPostRedisplay(); } void down() //MOVE DOWN { j--; glutPostRedisplay(); } void left() //MOVE LEFT { i--; glutPostRedisplay(); } void restart() //MOVE RIGHT { i = j = 0; i--; glutPostRedisplay(); } void right() //MOVE RIGHT { i++; glutPostRedisplay(); } void main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(800, 500); glutInitWindowPosition(350, 150); glutCreateWindow("SourceSara.Com | Helicopter | w-UP a-FRONT s-DOWN r-RESTART (d-BACK)"); glutDisplayFunc(display); glutKeyboardFunc(keys); myinit(); glutMainLoop(); }
نکات
- این پروژه در نرم افزار Visual Studio نسخه ۲۰۱۵ تست شده است و به خوبی کار می کند.
- به منظور اجرای پروژه های OpenGL باید آن را بر روی IDE خود نصب کنید.
نوشته سورس حرکت هلیکوپتر با OpenGL به زبان C++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.