void CChildView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(m_bGamePause)
return;
if(m_Objects[MYSHIP].GetCount()==0)//my ship is not exist
return;
//double "my ship"
CMyShip* pShip1 = (CMyShip*)m_Objects[MYSHIP].GetHead(); // remember that our ship1 is the first object[MYSHIP] in object list
CMyShip* pShip2 = (CMyShip*)m_Objects[MYSHIP].GetTail(); // remember that our ship2 is the last object[MYSHIP] in object list switch(nChar)
{
case VK_LEFT: // turn left
pShip1->SetMotion(-1);
break;
case VK_RIGHT: // turn right
pShip1->SetMotion(1);
break; case VK_NUMPAD2: // throw bomb from middle
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x+SHIP_WIDTH/2-BOMB_WIDTH/2, 9));
break;
case VK_NUMPAD1:
case VK_SPACE:
// throw bomb on left side
sndPlaySound((LPCTSTR)LockResource(m_pSndexplo),
SND_MEMORY | SND_ASYNC | SND_NODEFAULT);
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x-BOMB_WIDTH/2, 4));
break;
case VK_NUMPAD3:
// throw bomb on right side
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x+SHIP_WIDTH-BOMB_WIDTH/2, 3));
break;
}//switch// CWnd ::OnKeyDown(nChar, nRepCnt, nFlags);
}1>ChildView.obj : error LNK2019: 无法解析的外部符号 __imp__sndPlaySoundA@8,该符号在函数 "protected: void __thiscall CChildView::OnKeyDown(unsigned int,unsigned int,unsigned int)" (?OnKeyDown@CChildView@@IAEXIII@Z) 中被引用
1>.\Debug\ShipDemo.exe : fatal error LNK1120: 1 个无法解析的外部命令
这错误怎么改啊?
内容太长了,不能全发上来
{
// TODO: Add your message handler code here and/or call default
if(m_bGamePause)
return;
if(m_Objects[MYSHIP].GetCount()==0)//my ship is not exist
return;
//double "my ship"
CMyShip* pShip1 = (CMyShip*)m_Objects[MYSHIP].GetHead(); // remember that our ship1 is the first object[MYSHIP] in object list
CMyShip* pShip2 = (CMyShip*)m_Objects[MYSHIP].GetTail(); // remember that our ship2 is the last object[MYSHIP] in object list switch(nChar)
{
case VK_LEFT: // turn left
pShip1->SetMotion(-1);
break;
case VK_RIGHT: // turn right
pShip1->SetMotion(1);
break; case VK_NUMPAD2: // throw bomb from middle
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x+SHIP_WIDTH/2-BOMB_WIDTH/2, 9));
break;
case VK_NUMPAD1:
case VK_SPACE:
// throw bomb on left side
sndPlaySound((LPCTSTR)LockResource(m_pSndexplo),
SND_MEMORY | SND_ASYNC | SND_NODEFAULT);
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x-BOMB_WIDTH/2, 4));
break;
case VK_NUMPAD3:
// throw bomb on right side
if( m_Objects[MY_BOMB].GetCount()<MAX_BOMBNUM )
m_Objects[MY_BOMB].AddTail(new CBomb(pShip2->GetPos().x+SHIP_WIDTH-BOMB_WIDTH/2, 3));
break;
}//switch// CWnd ::OnKeyDown(nChar, nRepCnt, nFlags);
}1>ChildView.obj : error LNK2019: 无法解析的外部符号 __imp__sndPlaySoundA@8,该符号在函数 "protected: void __thiscall CChildView::OnKeyDown(unsigned int,unsigned int,unsigned int)" (?OnKeyDown@CChildView@@IAEXIII@Z) 中被引用
1>.\Debug\ShipDemo.exe : fatal error LNK1120: 1 个无法解析的外部命令
这错误怎么改啊?
内容太长了,不能全发上来
解决方案 »
- VS2008 改字体后出现乱码
- 如何将8。3格式的短路径转成长路径呢,谢谢
- 客户端通过Web services把服务器上的数据集下载到客户本地的XML文件里,m_pSoapClient->Invoke时直接失败
- 程序用CStdioFile 实现从文件里把数据读到combo box里,可是为什么不是逐行读,而是隔行读?请高手支招,小妹谢了
- 问一个弱智的问题
- 免费开放FTP + 送分,可上传可下载,全部有分....
- 如何向另一个进称窗口发自定义消息
- 网页中如果使用了ocx,服务器上的ocx控件如果更新了,浏览器端如何才能自动升级?
- 怎样判断多个键的同是按下?
- 关于C++前途问题
- 用OpenGL如何绘制扇形体(急)
- VS2008对电脑的要求比VS2005高多少?
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Mmsystem.h.
Library: Use Winmm.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.
你看看是不是Winmm.lib这个忘记添加了,你这个问题应该是编译没错,连接出问题了,也就是说你头文件引用了但是lib库忘记加了,试试 #pragma comment(lib,"Winmm.lib")