游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5974|回复: 10

怎么切换场景?怎么显示载入进度?求DX们解答..

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-3-9 16:11:00 | 显示全部楼层 |阅读模式
教程里面的内容都是直接进入游戏了,我现在想在游戏开始的时候先显示一下故事摘要啊什么的然后在到主屏幕显示几个按钮然后一按开始就出现载入的进度,在载入声音,模型之后才进入游戏,现在就是不知道怎么来切换这些东西,怎么获得进度...
有知道怎样解决的DX帮忙解决一下,XD先谢谢了...

82

主题

782

帖子

798

积分

高级会员

Rank: 4

积分
798
发表于 2008-3-10 14:53:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

TV3D里面有这样的例子,具体哪个我忘记了,看来你只能从第一个例子看到最后一个例子了。
我记得有读入场景,并且显示进度条的例子。

11

主题

145

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2008-3-12 16:18:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

记得以前流行过某种读者可以自由选择的书吗?
这种书是这样写的:
故事剧情.....,
然后你来到了某座桥边,如果你想从桥上过,请看第26页;如果你想从桥下涉水过去,请看第7页;
第26页与第7页又是分剧情发展,发展到某个地方,又是分别选择剧情。
如果你顺着每页读这本书,你会发现这本书完全乱七八糟。
所有的分支剧情,都由一个核心驱动着:页数。
如果你知道我在说什么,那么你就知道了答案。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-3-13 17:01:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

我的方法:
要定义一个时钟,在这个时间段里载入,其实很难用语言表示。

你的数据是否载入完是有一个变量做判断的,假设数据载入完进入游戏DATA=1 ,没载入完DATA=0

TIM = TV3D.TickCount    '定义时钟

显示进度条开始走的画面,并检测DATA(也可以显示片头)

IF TIM < TV3D.TickCount - 3000 THEN   "假设3秒的数据载入时间,1000=1秒
5秒后进入下一个画面A
END IF

A
TIM2 = TV3D.TickCount    '定义时钟
IF TIM2 < TV3D.TickCount - 5000 THEN   "假设5秒显示时间
5秒后进入再下一个画面B
END IF

B
......................
...................

我一般不用进度条,因为我的数据还没有大到那么多,我是用一张片头画面来代替的,  画面上写着数据载入等等字。

我决这些属于后期的工作吧! 还是先把游戏完成再做这个。

TV3D.TickCount 这个命令很有用。

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-3-22 21:29:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

totally hard coding, sigh!

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-3-22 21:34:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

专业的方法是,用一个在加载过程中调用一个回调。

class IProgressCallback
{
   public:
  virtual void onProgress(const string& text, int percent) = 0
};

在GAME的LOAD函数中传入这个CALLBACK

void Game:oad(IProgressCallback* pc);

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-3-23 21:34:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

我现在用的方法是下面的方法, 如果你的资源不多可以不用进度条,我现在做的新游戏资源比较多, 要用进度条.

Private Sub Form_Load()
PROG
读模型....
PROG
读音乐....
PROG
读图片....
PROG
读脚本....
End Sub

private sub prog
A=A+1
显示进度条
end sub

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2008-3-24 09:14:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

好硬好硬好硬。

270

主题

6442

帖子

6446

积分

论坛元老

Rank: 8Rank: 8

积分
6446
发表于 2008-3-27 20:43:00 | 显示全部楼层

Re:怎么切换场景?怎么显示载入进度?求DX们解答..

这是进度子程序,怎么叫硬?
private sub prog

VB在Private Sub Form_Load()里不可以用循环或执行其它的任务, 所以只能调用.

0

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2008-7-26 13:31:00 | 显示全部楼层

Re: Re:怎么切换场景?怎么显示载入进度?求DX们解答..

游戏之家站长: Re:怎么切换场景?怎么显示载入进度?求DX们解答..

这是进度子程序,怎么叫硬?
private sub prog

VB在Private Sub Form_Load()里不可以用循环或执行其它的任务, 所以只能调用.


连线程都一窍不通,还说Form_Load()里面不可以用循环和其它任务,你调用别的函数不一样还是在同一个线程,有区别吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 21:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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