游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2448|回复: 3

希望有经验的朋友指点一下关于开场动画问题!!

[复制链接]

3

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-5-20 21:38:00 | 显示全部楼层 |阅读模式
我看每个游戏开场时都会有个过渡。。。。比如说放个动画,阐述一下游戏背景,或者可以选择一下职业,角色。
然后才进入游戏的主程序。。。
这个转换是怎么实现的?是用两个窗体吗?我是用vc来写游戏(MFC Dialog)。
希望有经验的朋友可以指定一下。。。不胜感激。。。
[em7]

161

主题

1372

帖子

2749

积分

金牌会员

Rank: 6Rank: 6

积分
2749
QQ
发表于 2012-5-21 13:33:00 | 显示全部楼层

Re:希望有经验的朋友指点一下关于开场动画问题!!

不是的,是一个窗口只不过是窗口里面有一个触发事件记录而已,你去看下DNF游戏就知道了,他也是vc,每次进入副本和登录游戏都会读取游戏账号触发的事件。

8

主题

33

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2012-5-29 19:35:00 | 显示全部楼层

Re:希望有经验的朋友指点一下关于开场动画问题!!

你这个问题 看看实际网络游戏代码就明白了



        while(TRUE)
    {
        if( PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) )
        {
            if( 0 == GetMessage(&msg, NULL, 0, 0) )
                return (int) msg.wParam;

                TranslateMessage(&msg);
            DispatchMessage(&msg);
                }
                else
        {
                        dwTime = timeGetTime();
                        dwDelay = dwTime - dwLastTime;
                        dwLastTime = dwTime;

                        if ( dwDelay!=0 /*&& g_xMainWnd.m_bIsWindowActive && g_xMainWnd.m_bIsWindowReady */)
                        {
                                switch( g_bProcState )
                                {
                                case _SELECT_PROC://2005-5-13
                                        g_xSelectProc.RenderScene(dwDelay);
                                        break;
                                case _PROLOGIN_PROC://2005-5-13
                                        g_xProLoginProc.RenderScene(dwDelay);
                                        break;
                                case _LOGIN_PROC:
                                        g_xLoginProc.RenderScene(dwDelay);
                                        break;
                                case _CHAR_SEL_PROC:
                                        g_xChrSelProc.RenderScene(dwDelay);
                                        break;
                                case _GAME_PROC:
                                        g_xGameProc.RenderScene(dwDelay);
                                        break;
                                }

                                if( FAILED(g_xMainWnd.Present()))
                                {
                                        g_xMainWnd.RestoreSurfaces();
                                }
                        }
                }
        }

5

主题

84

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2012-6-5 00:52:00 | 显示全部楼层

Re:希望有经验的朋友指点一下关于开场动画问题!!

其实就是简单的状态机,开始时将游戏状态设置为初始化状态,初始化完毕之后设置为播放开头动画状态,诸如此类 ...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 22:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表