以opengl制作2D贪吃蛇(一)
Jun 07, 2016 pm 03:07 PM1) 搭建好基本的窗口环境 要确定窗口大小, 通过确定子的大小(TILE_WIDTH, TILE_HEIGHT), 子的数量(TILE_COLUMN, TILE_ROW) 2) 画子 两个循环 /* * 1) 搭建好基本的窗口环境 * 要确定窗口大小, 通过确定格子的大小(TILE_WIDTH, TILE_HEIGHT), * 格子的数量(TIL
1) 搭建好基本的窗口环境要确定窗口大小, 通过确定格子的大小(TILE_WIDTH, TILE_HEIGHT),
格子的数量(TILE_COLUMN, TILE_ROW)
2) 画格子
两个循环
/* * 1) 搭建好基本的窗口环境 * 要确定窗口大小, 通过确定格子的大小(TILE_WIDTH, TILE_HEIGHT), * 格子的数量(TILE_COLUMN, TILE_ROW) */ //2) 画格子 //* 两个循环 //3) 画方块来表示蛇的身体 // * glPointSize(..) #include <stdio.h> #include <gl> #include <gl> int TILE_WIDTH = 32; int TILE_HEIGHT = 32; const int TILE_COLUMN = 20; const int TILE_ROW = 11; const int dt = 33; /* 毫秒数 */ #define DIR_UP 0 #define DIR_DOWN 1 #define DIR_LEFT 2 #define DIR_RIGHT 3 #define GL_PI 3.1415f int dir = DIR_RIGHT; float snake_x = 0; float snake_y = 0; float snake_v = 3; float food_x = 10; float food_y = 5; void ChangeSize(int w,int h) { GLfloat nRange = 100.0f; // Prevent a divide by zero if(h == 0) h = 1; // Set Viewport to window dimensions glViewport(0, 0, w, h); // Reset coordinate system glMatrixMode(GL_PROJECTION); glLoadIdentity(); // Establish clipping volume (left, right, bottom, top, near, far) glOrtho (0.0f,TILE_COLUMN*TILE_WIDTH,TILE_ROW*TILE_HEIGHT,0,-1, 1); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void SetupRC()//在循环之前,为程序做一些一次性的设置 { // background color glClearColor(0.0f, 0.0f, 0.0f, 1.0f ); glColor3f(0.0f,1.0f,0.0f); } void RenderScene(void) {GLfloat x,y,z,angle; // Clear the window with current clearing color glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); glPointSize(TILE_HEIGHT); glBegin(GL_POINTS); glVertex3f(snake_x+TILE_WIDTH/2,snake_y+TILE_HEIGHT/2,0.0f); glEnd(); for(float line_y=0;line_y <p>编译得到</p> <p>演示结果:</p> <p><img src="/static/imghw/default1.png" data-src="/inc/test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20131119171758109%3Fwatermark%2F2%2Ftext%2FaHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3R1NzQx%2Ffont%2F5a6L5L2T%2Ffontsize%2F400%2Ffill%2FI0JBQkFCMA%3D%3D%2Fdissolve%2F70%2Fgravity%2FSouthEast&refer=http%3A%2F%2Fblog.csdn.net%2Fstu741%2Farticle%2Fdetails%2F16826925" class="lazy" alt="以opengl制作2D贪吃蛇(一)" ><br> </p> <br> </gl></gl></stdio.h>

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Impossible de démarrer dans l'environnement de récupération Windows

Quelles sont les différences entre Python et Anaconda ?

Comment configurer Google Chrome pour ouvrir une nouvelle fenêtre à chaque fois
![Comment augmenter la taille du disque dans VirtualBox [Guide]](https://img.php.cn/upload/article/000/887/227/171064142025068.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Comment augmenter la taille du disque dans VirtualBox [Guide]

Méthode spécifique pour créer un effet de mouvement de film en PPT

Guide d'utilisation pour la création de tableaux Excel mobiles

Comment faire une couverture de roman sur la tomate

Laissez-moi vous apprendre ! Comment créer des effets d'animation en PPT !
