本文整理汇总了C++中CMoveShape::SetTalkText方法的典型用法代码示例。如果您正苦于以下问题:C++ CMoveShape::SetTalkText方法的具体用法?C++ CMoveShape::SetTalkText怎么用?C++ CMoveShape::SetTalkText使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMoveShape
的用法示例。
在下文中一共展示了CMoveShape::SetTalkText方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnOtherMessage
/*
* 功能: 响应其他消息
* 摘要: -
* 参数: pMsg - 服务器发送的消息
* 返回值: -
* 作者: -
* 创建日期: -
* 修改日志:
* 2008.04.21 - lpf
* 增加了对MSG_S2C_OTHER_EXPATC消息的响应,用来支持仪态动作的播放;
* 2008.06.12 - lpf
* 在MSG_S2C_OTHER_EXPATC消息的响应中,增加了"没有说话消息的判断";
* 2008.06.17 - lpf
* 根据仪态动作新的结构修改了MSG_S2C_OTHER_EXPATC消息的响应,对得到仪态动作的处理;
* 2008.08.14 - lpf
* 在MSG_S2C_OTHER_EXPATC消息响应处增加了对得到场景指针是否为空的判断;
* 2008.08.21 - lpf
* 增加了对视频播放消息的处理;
*/
void OnOtherMessage(CMessage* pMsg)
{
CGlobeSetup::tagSetup *pSetup = CGlobeSetup::GetSetup();
switch(pMsg->GetType())
{
///////////////////////////////////////////////////////////////////////////////////////
// 对话消息
///////////////////////////////////////////////////////////////////////////////////////
case MSG_S2C_OTHER_TALK:
{
if (GetGame()->GetMainPlayer() == NULL)
break;
CMainBarPageEx * pMainPage = GetGame()->GetCGuiEx()->GetMainBarPageEx();
if( ! pMainPage )
return;
// 字符or索引
BYTE bFlag = pMsg->GetByte();
long lType = pMsg->GetLong();
// 聊天信息中,物品信息其实位置的调节长度
long lAdjustLen = 0;
char str[1024] = "";
// 说话人type 和 GUID
long lSenderType = pMsg->GetLong();
CGUID SenderID;
pMsg->GetGUID(SenderID);
string strName;
string strmem;
//=========================对话信息中的聊天信息=======================
list<CEditField::stSpecialTextInfo> * pTextInfoList = pMainPage->GetSpecialText();
pTextInfoList->clear();
char strGoodsName[1024] = "";
long lNum = pMsg->GetLong();
for(long i=0; i<lNum; ++i)
{
CEditField::stSpecialTextInfo stInfo;
pMsg->GetEx(&stInfo, sizeof(CEditField::stSpecialTextInfo));
stInfo.str = pMsg->GetStr(strGoodsName,1024);
pTextInfoList->push_back(stInfo);
}
//====================================================================
TCHAR szChatWords[ 2056 ];
switch( lType )
{
case RUN_HELP:
case CHAT_NPC:
case CHAT_NORMAL:
{
strName = pMsg->GetStr(str,1024);
// 检查黑名单
if( GetGame()->GetCGuiEx()->GetFriendsPageEx()->IsInGroup( strName.c_str(), CFriendsPageEx::PANEL_BLACK ) )
break;
if(bFlag==0)
strmem = pMsg->GetStr(str,1024);
else
{
DWORD dwType = pMsg->GetDWord();
DWORD dwIndex = pMsg->GetDWord();
strmem = CStringReading::LoadString(dwType,dwIndex);
}
// 脏话过滤
CClientWordsFilter::GetInstance()->Check(strmem, true, true);
// 加入说话者的头上
CMoveShape* pSender = dynamic_cast<CMoveShape*>(GetGame()->GetRegion()->FindChildObject(lSenderType, SenderID));
if(pSender)
{
pSender->SetTalkText(strmem.c_str());
pSender->SetTalkLiveTimer(500);
if(lSenderType == TYPE_MONSTER)
//.........这里部分代码省略.........