Strawberry::Strawberry()
{
Pos.z=35;
Pos.y=15;
Spd.z=0.0;
tagViewable=true;
LayerIndex=0;
PointIndex=0;
LayerNum=20;
PointNum=20;
tagFruit=true;
iFruitId=8;
FruitJuiceColor.Set(0.9f,0.0f,0.0f);
}
void Strawberry::On3dPaint(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
if(1)
{
glPushMatrix();
glTranslatef(Pos.x,Pos.y,Pos.z);
glRotatef(180,1.0f,0.0f,0.0f);
glRotatef(90,0.0f,1.0f,0.0f);
glRotatef(AngleCircle.x+=0.5*tagAngleCircleDir,0.0f,0.0f,1.0f);
if(0)if(tagCircle)
{
Point fruitBody[50][50]={0};
int iUsed=8;
int jUsed=30;
Point color;color.Set(0.9f,0.8f,0.2f);
if(1)
{
float w=3.9,b=1.1;
float r[50]={w,w+0.5*b,w+1*b,w+1.5*b,w+2*b,w+2*b,w+1.5*b,w+1*b,w+0.5*b,w};
float z[50]={0.01,0.01,0.01,0.01,0,0,0,0};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//自定义调整
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(1)for(int i=0;i<iUsed;i++)
{
for(int j=0;j<jUsed;j++)
{
fruitBody[i][j].Set(r[i]*sin(2*PI/(jUsed-1)*j),r[i]*cos(2*PI/(jUsed-1)*j),z[i]);
}
}
//显示物体轮廓面
if(1)
{
/////////////////////////////////////////////////////////////////////////////////
glEnable(GL_TEXTURE_2D);// 启用二维纹理
/////////////////////////////////////////////////////////////////////////////////
glBindTexture(GL_TEXTURE_2D, texStart);
for(int i=0;i<iUsed-1;i++)
{
glBegin(GL_QUAD_STRIP);
for(int j=0;j<jUsed-1;j++)
{
glColor3f(color.x,color.y,color.z);//
if(i==3)glColor3f(color.x+0.05,color.y+0.05,color.z);//
float n=10;
float m=4;
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+0),0.0f+(1/n)*(j+0));
glVertex3f(fruitBody[i][(j+1+jUsed)%jUsed].x,fruitBody[i][(j+1+jUsed)%jUsed].y,fruitBody[i][(j+1+jUsed)%jUsed].z);
glColor3f(color.x,color.y,color.z);//
if(i==2)glColor3f(color.x+0.05,color.y+0.05,color.z);//
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+0),0.0f+(1/n)*(j+1));
glVertex3f(fruitBody[i+0][j+1].x,fruitBody[i][j+1].y,fruitBody[i+0][j+1].z);
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+1),0.0f+(1/n)*(j+0));
glVertex3f(fruitBody[i+1][(j+1+jUsed)%jUsed].x,fruitBody[i+1][(j+1+jUsed)%jUsed].y,fruitBody[i+1][(j+1+jUsed)%jUsed].z);
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+1),0.0f+(1/n)*(j+1));
glVertex3f(fruitBody[i+1][j+1].x,fruitBody[i+1][j+1].y,fruitBody[i+1][j+1].z);
}
glVertex3f(fruitBody[i][0].x,fruitBody[i][0].y,fruitBody[i][0].z);
glVertex3f(fruitBody[i+1][0].x,fruitBody[i+1][0].y,fruitBody[i+1][0].z);
glEnd();
}
/////////////////////////////////////////////////////////////////////////////////
glDisable(GL_TEXTURE_2D);// 禁用二维纹理
/////////////////////////////////////////////////////////////////////////////////
}
}
}
glPopMatrix();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
glPushMatrix();
glTranslatef(Pos.x,Pos.y,Pos.z);
if(Cameras.ptObject!=this)
{
glRotatef(Angle.x,1.0f,0.0f,0.0f);
glRotatef(Angle.y,0.0f,1.0f,0.0f);
glRotatef(Angle.z,0.0f,0.0f,1.0f);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//水果主体
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int iUsed=20;
int jUsed=20;
if(1)
{
Point fruitBody[50][50]={0};
float r[50]={0};
float z[50]={0};
if(1)
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//自定义调整
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(1)for(int i=0;i<iUsed;i++)
{
z[i]=1.3*cos(PI/(iUsed-1)*i);
r[i]=1.3*sin(PI/(iUsed-1)*i);
}
if(1)for(int i=0;i<iUsed;i++)
{
for(int j=0;j<jUsed;j++)
{
fruitBody[i][j].Set(r[i]*sin(2*PI/(jUsed-1)*j),r[i]*cos(2*PI/(jUsed-1)*j),z[i]);
}
}
if(1)for(int i=0;i<iUsed;i++)
{
for(int j=0;j<jUsed;j++)
{
fruitBody[i][j].x*=1;
fruitBody[i][j].y*=0.9;
}
}
if(1)for(int j=0;j<jUsed;j++)
{
if(1)
{
int i=0;
if(0+1){float t=1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=1.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.5;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.83;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.2;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.9;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.02;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.03;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.02;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.01;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.99;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.96;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.93;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.90;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.88;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.87;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.90;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.94;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.2;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.8;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.35;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.38;fruitBody[i][j].x+=0.0;i++;}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//自定义调整
/////////////////////////////////////////////////////////////////////////////////////////////
没有合适的资源?快使用搜索试试~ 我知道了~
水果忍者(C++和OPENGL源码)
共110个文件
h:34个
cpp:28个
bmp:23个
5星 · 超过95%的资源 需积分: 20 523 下载量 181 浏览量
2016-02-11
16:11:30
上传
评论 23
收藏 1.4MB RAR 举报
温馨提示
最近自己模拟了个“水果忍者”的小游戏,分享下C++和OPENGL源码,时间仓促,画面简陋了些。
资源推荐
资源详情
资源评论
收起资源包目录
水果忍者(C++和OPENGL源码) (110个子文件)
ground.bmp 180KB
sky.bmp 154KB
sky2.bmp 101KB
Mango2.bmp 47KB
Watermelon2.bmp 47KB
Kiwifruit.bmp 42KB
Pineapple.bmp 34KB
Pineapple2.bmp 22KB
Start.bmp 20KB
Other.bmp 20KB
Setting.bmp 20KB
Score.bmp 20KB
Banana2.bmp 15KB
!Pineapple.bmp 11KB
Peach2.bmp 10KB
Kiwifruit2.bmp 7KB
Pear2.bmp 6KB
Mine.bmp 5KB
Apple2.bmp 5KB
Kiwifruit1.bmp 2KB
Kiwifruit - 副本.bmp 1KB
Strawberry2.bmp 1KB
Strawberry.bmp 782B
Strawberry.cpp 19KB
Mine.cpp 16KB
Pineapple.cpp 15KB
Apple.cpp 14KB
Pear.cpp 14KB
Banana.cpp 14KB
Mango.cpp 14KB
Plane.cpp 13KB
Peach.cpp 13KB
WinGL.cpp 13KB
Kiwifruit.cpp 13KB
Watermelon.cpp 10KB
Basic.cpp 7KB
Camera.cpp 6KB
knife.cpp 4KB
Object.cpp 3KB
Layer.cpp 2KB
Ground.cpp 2KB
Game.cpp 2KB
GamePage.cpp 1KB
MainPage.cpp 899B
On2dPaint.cpp 581B
On3dPaint.cpp 579B
Vector.cpp 555B
FruitJuice.cpp 529B
Point.cpp 193B
Library.cpp 176B
Interface.cpp 50B
GLU.DLL 309KB
GLUT32.DLL 232KB
GLUT32.DLL 232KB
GLUT.DLL 151KB
WinGL.dsp 9KB
WinGL.dsw 518B
WinGL.exe 588KB
GL.H 67KB
GLUT.H 27KB
GLU.H 18KB
WGLEXT.H 17KB
GLEXT.H 12KB
GLAUX.H 12KB
Basic.h 2KB
Object.h 1KB
FruitJuice.h 999B
Game.h 930B
Layer.h 843B
Camera.h 676B
resource.h 455B
knife.h 336B
Watermelon.h 311B
Vector.h 259B
Kiwifruit.h 254B
Strawberry.h 237B
Pineapple.h 231B
Point.h 229B
Banana.h 211B
Apple.h 207B
Mango.h 207B
Peach.h 205B
GamePage.h 205B
MainPage.h 203B
Mine.h 201B
Pear.h 201B
Plane.h 187B
Ground.h 168B
Library.h 160B
On3dPaint.h 81B
On2dPaint.h 79B
Interface.h 48B
icon1.ico 3KB
GLAUX.LIB 1.25MB
GLAUX.LIB 1.25MB
OPENGL32.LIB 328KB
opengl.lib 237KB
glut.lib 78KB
GLUT32.LIB 68KB
GLUT32.LIB 68KB
共 110 条
- 1
- 2
zhooyu
- 粉丝: 9
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页