| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 520 人关注过本帖
标题:C++ 大神请进,看一下这个程序
只看楼主 加入收藏
yp834369657
Rank: 2
等 级:论坛游民
帖 子:12
专家分:30
注 册:2014-4-17
结帖率:0
收藏
 问题点数:0 回复次数:0 
C++ 大神请进,看一下这个程序
飞行棋,骰子是个flah,代码已经有,可以运行的。现在我要再加多一个flah,当骰子掷出6时出现,但我不知道怎么加,能帮我弄弄吗?就是这两个函数,怎么在里面加多个flah?
 int CProgramView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

//获取程序当前运行路径
TCHAR szFilePath[MAX_PATH + 1];
GetModuleFileName(NULL, szFilePath, MAX_PATH);
(_tcsrchr(szFilePath, '\\'))[1] = '\0'; //删除文件名,只获得路径
CString str_url =  szFilePath;
str_url += "roll.swf";

//创建ActiveX对象
m_cflash.Create(NULL,NULL, WS_CHILD|WS_VISIBLE, CRect(670, 66, 750, 156), this, FLASHID);
m_cflash.SetMovie(str_url);
m_cflash.Stop();
m_cflash.SetScaleMode(1);

return 0;
}

BEGIN_EVENTSINK_MAP(CProgramView, CView)
ON_EVENT(CProgramView, FLASHID, 150 /* FSCommand */, OnFSCommandFlash, VTS_BSTR VTS_BSTR)
END_EVENTSINK_MAP()


///////////////////////////////////////////////////////////////////////
/*
*函数名称:OnFSCommandFlash(LPCTSTR command, LPCTSTR args)
*函数介绍:flash消息响应函数
*输入参数:LPCTSTR command, LPCTSTR args  (FSCommand传递的参数)
*输出参数:无
*返回值  :无
*/
void CProgramView::OnFSCommandFlash(LPCTSTR command, LPCTSTR args)
{
UCHAR com,arg;
    com = *command;
    arg = *args;
CDC *pdc = GetDC();
int Num; //纪录当前的flash播放帧数
if(!isOntimer && (control!=0))
{
switch(com)
{
case '1':
{
switch(arg)
{
case '1':
if(m_cflash.GetPlaying()) //如果flash在播放
{
m_cflash.StopPlay(); //停止播放flash
char str[20];
Num = (int)m_cflash.GetFrameNum(); //得到flash播放到的帧数
sprintf(str, "%c", m_cflash.num[Num]);
roll = atoi(str); //得到色子数
PrintState(pdc); //打印当前游戏状态;
}
else
{
m_cflash.Play();
}
break;
default:
break;
}
}
break;
default:
break;
}
control = 0;
ischange = manager.Game_State;
if(manager.DoMsg(1,1,3,roll))//如果此时DoMsg返回为TRUE的时候,即需
{  //要发生改变的时候
if(manager.PlAuto == NULL)
{
m_cflash.GotoFrame(Num); //定位Flash到Num帧
m_cflash.Stop(); //停止播放Flash
control++;//control++,则不再0
if(manager.Game_State != ischange) //判断是否该下个玩家丢色字
{
CString st;
st.Format("你丢了%d点,不能产生任何动作,该下个玩家丢色子",roll);
MessageBox(st); //提示玩家,该下个玩家丢色子了
m_cflash.Play(); //播放Flash
}
PrintState(pdc);; //打印当前游戏状态;
}
else
{
timer = roll;
SetTimer(1, 500, NULL);
isOntimer = true;
}
}

}
else
{
m_cflash.StopPlay();
}
ReleaseDC(pdc);
}


搜索更多相关主题的帖子: return 飞行棋 
2014-04-27 13:36
快速回复:C++ 大神请进,看一下这个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046896 second(s), 8 queries.
Copyright©2004-2020, BCCN.NET, All Rights Reserved