【发布时间】:2018-01-10 09:06:38
【问题描述】:
所以今天,我在弄一些例子,并决定要制作一个应用程序。所以我尝试了。当我单击一次时,屏幕变黑,再单击一次然后变白,并且在出现一些垃圾邮件块后,再次单击会使背景变黑,再单击一次,然后是白色。在再发送一些垃圾邮件后,该块内还有另一个块,并附有图片。
代码:
#include "SFML/Graphics.hpp"
#include "SFML/OpenGL.hpp"
#include <GL\GLU.h>
#include <iostream>
#include "cube.cpp"
void createblock() {
gluPerspective(90.f, 1.f, 1.f, 300.0f);
glClearColor(0.3f, 0.3f, 0.3f, 0.f);
glMatrixMode(GL_PROJECTION);
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
glBegin(GL_QUADS);
glVertex3f(-50.f, -50.f, -50.f);
glVertex3f(-50.f, 50.f, -50.f);
glVertex3f(50.f, 50.f, -50.f);
glVertex3f(50.f, -50.f, -50.f);
glVertex3f(-50.f, -50.f, 50.f);
glVertex3f(-50.f, 50.f, 50.f);
glVertex3f(50.f, 50.f, 50.f);
glVertex3f(50.f, -50.f, 50.f);
glColor3f(1, 0, 1);
glVertex3f(-50.f, -50.f, -50.f);
glVertex3f(-50.f, 50.f, -50.f);
glVertex3f(-50.f, 50.f, 50.f);
glVertex3f(-50.f, -50.f, 50.f);
glColor3f(0, 1, 0);
glVertex3f(50.f, -50.f, -50.f);
glVertex3f(50.f, 50.f, -50.f);
glVertex3f(50.f, 50.f, 50.f);
glVertex3f(50.f, -50.f, 50.f);
glColor3f(1, 1, 0);
glVertex3f(-50.f, -50.f, 50.f);
glVertex3f(-50.f, -50.f, -50.f);
glVertex3f(50.f, -50.f, -50.f);
glVertex3f(50.f, -50.f, 50.f);
glColor3f(1, 0, 0);
glVertex3f(-50.f, 50.f, 50.f);
glVertex3f(-50.f, 50.f, -50.f);
glVertex3f(50.f, 50.f, -50.f);
glVertex3f(50.f, 50.f, 50.f);
glEnd();
}
sf::RenderWindow window(sf::VideoMode(800, 600), "SimpleBlocks");
sf::Event maine;
int main() {
while (window.isOpen()) {
// load defaults here
while (window.pollEvent(maine)) {
// events here
if (maine.type == sf::Event::Closed) {
window.close();
}
if (maine.type == sf::Event::MouseButtonPressed) {
createblock();
window.display();
// make block later
}
}
}
}
图片:
【问题讨论】:
-
有人知道吗?我真的很感激!
-
我猜这很奇怪,哈哈!