出現全頻視窗
點擊滑鼠並發出槍響
程式碼:
#include<stdio.h>
#include<GL/glut.h>
#include<mmsystem.h>
void display()
{
glClearColor(0.5,0.5,1,0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void keyboard(unsigned char key,int x,int y)
{
exit(0);
}
void mouse(int button,int state,int x,int y)
{
if(state==GLUT_DOWN)
{
PlaySound("Data/Shot.wav",NULL,SND_ASYNC);
printf("Shot!!!\n");
}
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutCreateWindow("hello");
glutFullScreen();
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMainLoop();
}
加入了茶壺貼圖
點擊茶壺貼圖會發出大象聲
未點擊到則發出槍聲
程式碼:
#include<stdio.h>
#include<GL/glut.h>
#include<mmsystem.h>
float potX=-1,potY=0;
void display()
{
glClearColor(0.5,0.5,1,0);
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glTranslatef(potX,potY,0);
glutSolidTeapot(0.05);
glPopMatrix();
glFlush();
potX+=0.001;
if(potX>1.1)potX=-1.1;
}
void keyboard(unsigned char key,int x,int y)
{
exit(0);
}
void mouse(int button,int state,int x,int y)
{
if(state==GLUT_DOWN)
{
PlaySound("Data/Shot.wav",NULL,SND_ASYNC);
printf("Shot!!!\n");
float mouseX=2*x/1280.0 -1,mouseY=-(2*y/1024.0-1);
if(abs(mouseX-potX)<0.001&&abs(mouseY-potY)<0.001){
printf("YA! Got it!\n");
PlaySound("Data/elephant.wav",NULL,SND_ASYNC);
}
}
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutCreateWindow("hello");
glutFullScreen();
glutDisplayFunc(display);
glutIdleFunc(display);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMainLoop();
}
沒有留言:
張貼留言