您目前所在位置: 首页 > 同类游戏专题 > 魔兽争霸 > 魔兽争霸游戏攻略

魔兽争霸不能初始化(魔兽争霸不能初始化声音设备)

时间:2022-01-21 09:39:23 | 访问:96 次 | 责任编辑:访客 | 来源:本站

魔兽争霸3不能初始化DirectX.请确保你的系统拥有DirectX8.1或者更高的版本以及你的显示驱动程序是最新的.

有以下几种可能:

1.DirectX版本过低,运行魔兽争霸需要DirectX8.1或者更高版本:

下载并安装新版本的DirectX,这里是微软DirectX9.0c的官方下载地址:

因为WIN7系统自带的DirectX11,所以不用考虑DirectX版本过低的问题,WIN7系统可以忽略此问题;

2.DirectDraw加速、Dierct3D加速、AGP纹理加速三项没有开启:

XP系统运行:dxdiag,如图2所示开启三项加速,或者在桌面点击右键—属性—设置—高级—疑难解答—把硬件加速开到完全,然后确定就可以了!

因为WIN7系统默认硬件加速全开,但我们打开DirectX诊断工具时却会发现三项加速处于未开启状态,并且三项加速后面并没有开启加速的选项,更要命的是WIN7桌面点右键没有属性,也不能通过属性设置开启,这个问题曾经仍我头疼很久,但最终还是找到了开启三项加速的方法,解决办法见3;

3.显卡驱动程序不是最新的:

可以用驱动人生或者驱动精灵等工具自动更新显卡驱动,WIN7系统的三项加速也通过更新显卡驱动来开启,即便是最新的驱动程序也更新一遍,这样再打开DirectX诊断工具就会发现三项加速已经开启,运行魔兽争霸III就不会再出现讨厌的错误提示了。检查显卡驱动,有一晚我帮我同学弄了一晚这个问题,最后发现原来那厮没装显卡驱动虽然问题比较老,但也许有人现在还会遇到,谈一下我的办法。我昨天魔兽也遇到了这种情况,最后搜索到一个方法就是改游戏参数。平台上的话设置,运行参数里输入-opengl,假如是单机的话,在快捷方式上右击属性,快捷方式,目标后面输入-opengl,就可以打开了重新装系统,现在360不是有搬家的操作吗,搬完家重装很快的!!显卡驱动没更新``` 下个驱动精灵把你的显卡驱动更新到最新状态``` 如果还不行` 去下个directx9.0 然后安装好就ok了``````顺便问下你什么系统? xp的话应该直接安装完驱动就ok`` 2003server的话`` 你要把硬件加速都启动才行` 具体做法在屏幕-右键-属性-设置-高级-疑难解答-硬件加速到完全`` 然后在开始里面的运行中`` 输入dxdiag 把显示里面的3种加速全部启用吧``

'魔兽争霸不能初始化'

我下的魔兽争霸3打开时说不能初始化directx我下了directx9.0安装后还是打开不了怎么办 ?

请打开开始菜单下的运行...弹出运行后在输入 "dxdiag.exe" ...

在选项卡 "显示" 查看 DirectX功能下的所有加速是否全已启用...否的话请启用...

若启用按钮为灰色不可用...则点击右边的测试...如果这个按钮也为灰色不可用...

说明你的显卡驱动安装错误或者根本没有安装...

我推荐你使用 "驱动精灵" 软件进行驱动更新和修正...☆ 简介 今天我们要接触到令人敬畏的directx。它比windows gdi要快好几倍,可用于不同的语言和多种平台,支持从绘制象素到高级3d图象,从播放简单声音到数字音乐,从键盘控制到反震手柄……它给你游戏编程所需的一切(有点夸张)。当然了,它是巨大的,需要好几本书才能含盖它的全部。先不要去担心我在这里所教给你之外的数不清的知识,毕竟我把你推到了起跑线上。 阅读本章,你需要前几章的知识和c语言的知识,由于我们还要谈到组件对象模型(com),它是面向对象系统的基础,你最好还要有一点儿c++的知识。没有也不太要紧,我在讲到这处时会照顾你的。反正你记住,使用directx并不需要多少c++的知识。开始吧! ☆ 什么是directx? directx是游戏制作者的api(application development interface)。它是一组允许你直接控制计算机硬件设备的软件。如果你的硬件支持directx,并且你用硬件加速你的程序,这就意味着一个字——快。不用担心你的硬件知识,你不会真正的接触到它们。我们是通过硬件抽象层(hal)和硬件仿真层(hel)来保证设备无关性和让你的程序正常运行。 directx由很多组件构成,每一个都有特定的用途。组件directdraw是最为重要的一个,因为所有的图形都要用到它,它是2d图形的引擎,3d图形也同样离不开它。directdraw是我们今天就要说的。其它的组件是: ▲ directsound:提供硬件和软件的声音混合与回放。 ▲ directmusic:处理基于消息的音乐数据。它支持乐器数字接口(midi)并为创建交互式音乐提供创作工具。 ▲ directplay:使得通过调制解调器链接或通过网络来与应用程序相连成为可能。 ▲ direct3d:是一个三维图形包,它提供一个高级的保留模式(retained mode)接口,这使得你能够实现一个完整的三维图形系统。它还包含一个低级的即时模式(immediate mode)接口,使得应用程序获得对渲染管线的完全控制。 ▲ directinput:为包括游戏杆、鼠标、键盘和游戏控制器在内的输入设备提供支持。它还为反馈游戏设备提供支持。 ▲ directsetup:为directx提供了一个简单的安装过程。它简化了更新显示和音频驱动程序的过程,并且确保没有硬件或软件冲突的存在。 ▲ autoplay:让你能够制作一张一旦插入驱动器就能自动安装的光盘。autoplay并非directx所独有,因为它是microsoft win32 api的一部分。 组件对象模型(com)是directx的基础,有一些技巧建立com对象——别问我怎么做——但你知道一点点还是有好处的。我只是简单说一下,如果你有兴趣,具体的细节就自己查资料吧!可能下一节你有些困惑,但不要紧,我所说的你不用太明白,毕竟我们的目的是使用com对象,这可比创建容易多了。 ☆ 组件对象模型(com) com接口是directx技术的基础,没有com就没有directx。(不用担心,你只需要对com技术有一个粗浅的了解就可以使用directx——只要你在编写directx应用程序时遵循一定的步骤,甚至都可以在不了解com的情况下使用directx。 directx的大多数api都是基于com结构的。com为软件模块化和软件重用提供了最坚实的基础,它的最重要的概念就是接口(interface),接口是软件重用的最基本方法。更专业的说,接口是一系列操作的规范描述,即接口规范。 所有的com接口都是从iunknown接口继承而来的,iunknown接口是所有com接口的根。iunknown接口具有3个方法: · queryinterface():此方法查询新接口,并在新接口存在时返回之。 · addref():此方法在接口或其它应用程序连编到此com对象上时将引用计数值递加1。 · release():此方法将com对象的引用计数递减1。当引用计数递减到0时,该com对象自动释放。 所有com对象都具有这三个方法。虽然directx应用程序一般不需要考虑引用计数的问题,但引用计数确实是存在的,它已经由directx自动完成了。我们所要做的,就是创建directx对象,然后在使用完毕后调用release方法释放引用。 ☆ 设置 用directx创建程序,你需要有三件主要的事要做。第一件事是com对象本身,它们包含在.dll文件里,这些.dll文件需要在windows里注册,这在安装directx软件包时已经完成了。这些对象是我们创建directx应用程序时用到的接口,例如idirectdraw。但这还不够,因为在com层上直接使用directx是令人沮丧的和乏味的。我们希望有更容易的办法解决它。利用静态库(.lib文件)是个好办法,它是directx软件包的一部分,你可以从microsoft免费获得。它有一个“打包”函数使你工作更轻松。使用directx的不同组件,你需要链接不同的静态库。例如你要使用directdraw组件,你就需要ddraw.lib。 最后,你还需要drectx头文件,它包含函数原形、宏、常量和你需要用到的各种类型。对于directdraw,这个头文件是ddraw.h。 要确认你使用了正确的文件版本,你还得让编译器包含软件开发包的目录。具体的做法是: 首先点击tool菜单,选择options,然后点击directories,在show directories for 组合框下拉菜单中选择include files,增加一个新的目录。将你的directx的路径填入。(例如:c:dxsdkinclude)然后将它移到列表的第一位,使编译时第一个寻找它(防止寻找老版本)。然后选择show directories for组合框下拉菜单中的library files,方法同前,只是把include改成lib。现在,你已经设置完了directx。你仍然需要手动增加一些库文件到你的项目中,但先不急,我将在以后讲它。我们将使用directx 7.0。 ☆ directx版本号 你可能认为版本号没有什么好讲的,但我们确实要说一说。microsoft在directx里创建了令人难以置信的科技,但它并不代表不使人迷惑。对于每一个directx版本,并不是所有的接口都一次次的升级。因此,尽管directx有了7个版本(我写文章时directx8.0正准备发布),但directdraw并没有7个版本。当directx6是最新版本时,directdraw的最新接口版本是idirectdraw4,不是idirectdraw6。现在最新的版本是directx7,所以我们要用idrectdraw7。很奇怪,是不是?我想你已经明白了我的意思,请不用因为以后看到的感到困惑了。 最后一件事。当我写这篇文章时,directx7是最新的可用版本,但或许现在你已经有了directx8,并且或许你还听说了,directdraw将不再升级了,取代它的是directx graphics,这是一个功能强大的图形api。但directdraw不升级就意味着我们不学习它了,毕竟都离不开com。如果你想用directx8的接口写2d的游戏,你需要用3d方法去创建2d观点。听起来很棒,是的,的确如此,因为使用3d接口将给你更多的硬件支持,例如阿尔发混合。但这也恰恰是个问题,如果机器没有相应的硬件设备,程序会以更慢的速度运行。 directdraw是很容易学的。由于directx中的3d图形是基于directdraw的,3d应用程序在directdraw环境中执行;极少有应用程序专门使用3d。大多数程序使用3d函数对一些对象建模,而另一些对象,诸如背景和精灵,是以2d图形渲染的。所以本系列将使用directdraw。关于directx8,我还没有太多的了解,因此我只能对direcx7做详细介绍。总的来说,你使用directx,还是离不开directdraw的。

本类TOP10
最新内容
金融习题 考研百科