|
|
请先运行下看初始效果
我想把它变成两个关卡,想设定个过关函数passing(),它的功能是清屏,显示Pass Score:1000 GO ahead!
清屏我想借用初始化函数GameInit(),修改成这样
void clear(void)
{
int i;
for(i=0; i<MAX_AMMUNITION; i++) // 清除全部子弹
{
ammunitions.setLife(0); // 将全部子弹无效
ammunitions.setExplosible(false); // 并且不让爆炸
}
for(i=0; i<MAX_AWARD; i++) // 清除全部物品
{
awards.setLife(0); //将全部物品无效
}
for (i=0; i<MAX_COMPUTER; i++) // 对所有电脑飞机进行初始化设置
computers.compinit();
//myPlane.initPlane(0,-230,100,2); // 对玩家飞机初始化设置
//myPlaneNum=MAX_PLAYER; // 设置玩家飞机个数
passtime=0;//starttime=0; // 辅助控制游戏过关画面的播放时间
//startQuadOffset=0; // 辅助控制游戏开始片头移动距离
}
主函数我想这样修改:
void DrawSceneGL(void)
{
setTimer(); // 取得每帧的运行时间
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
Background(); // 绘制背景
if(!start){ // 游戏尚未开始
Opening(); // 调用游戏还未开始显示的内容函数
}else{
if(!end&&!pass){ // 游戏开始且末结束
Running(); // 调用游戏运行的主函数
}else if (pass)
{ // 游戏过关 passing(); // 调用过关的处理函数
}
else ending;
}
glFlush();
}
这样想对吗,我不是搞程序的料,各位高手帮下忙吧.请留下邮箱,859K的东东. |
|