当前位置:首页 > +c+课程设计打飞碟--大学毕设论文
m_fPaodanLeftTime -= fDeltaTime;
// 多架飞碟出现
float fPosX, fPosY;
char szName[128], szName0[128];
fPosY = m_fScreenTop - 5.f; //飞碟出现的x坐标位置 for(int i=0; i<3; i++) {
m_fCurrentTime[i] -= fDeltaTime; if(m_fCurrentTime[i] <= 0) {
m_fCurrentTime[i] = m_fBaseTime[i];
fPosX = (float)CSystem::RandomRange(5, (int)m_fScreenRight - 5); sprintf(szName, \// 不同飞碟复制不同的模板
sprintf(szName0, \
CSprite* tmpSprite=new CSprite(szName); tmpSprite->CloneSprite(szName0);
tmpSprite->SetSpritePosition(fPosX, fPosY);
tmpSprite->SetSpriteLinearVelocityY(m_fSpeed[i]);
tmpSprite->SetSpriteWorldLimit(WORLD_LIMIT_NULL, m_fScreenLeft-10.f, m_fScreenTop-10.f, m_fScreenRight+10.f, m_fScreenBottom+10.f); // 将新的节点放入链表尾部
tmpSprite->SetSpriteCollisionReceive(true); AddToList(szName, m_iScore[i]); m_vUfo.push_back(tmpSprite);
}
}
} else {
m_iGameState = 0;
CSystem::ShowCursor(true);
m_pKaishi->SetSpriteVisible(true);
m_pDapao->SetSpriteRotation(m_fDapaoRotation); //大炮炮口置回初始位置 UFO* pNode = NULL; while(m_pHead != NULL) {
pNode = m_pHead;
m_pHead = m_pHead->pNext;
CSprite* tmpSprite=FindUfoSpriteByName(pNode->szName); tmpSprite->DeleteSprite(); free(pNode); }
if(m_iGameScore > m_iHighScore[4]) {
m_iHighScore[4] = m_iGameScore; }
for(int i=4; i>0; i--) {
int temp=0;
if(m_iHighScore[i] > m_iHighScore[i-1]) {
temp = m_iHighScore[i-1];
m_iHighScore[i-1] = m_iHighScore[i]; m_iHighScore[i] = temp; } }
for(int j=0; j<5; j++) {
m_vScoreText[j]->SetTextValue(m_iHighScore[j]); } } }
(3)在实验七中播发爆炸效果和声音中,声音效果在实际中并没有得到体现,通过分析和检查并没有发现具体原因,可能是声音文件本身存在问题
系统测试
1、 初始状态:
2、 游戏开始:
3、 射击:
4、 击中特效和发射特效:
共分享92篇相关文档