我们正在将directx9转换为directx10,我们收到错误:无法打开包含文件:dplay8.h。 请提供解决方法,以及从directx9转换为direct10所需的步骤。
答案 0 :(得分:0)
DirectPlay是不推荐使用的旧版组件。旧版DirectX SDK的最新版本包含其标题为2007年8月。请参阅DirectX SDKs of a certain age。它在任何Windows SDK中都不可用。
目前仅适用于appcompat的Windows操作系统。要记住一些重要的限制:
Windows Vista或更高版本的操作系统不支持DirectPlay Voice。请参阅KB970978
Windows Vista或更高版本
在Windows 8.x和Windows 10上,DirectPlay是可选的Windows功能,因此默认情况下不存在。它必须由用户启用。
简而言之,你不应该使用它。您应该计划重写该移植项目的多人游戏支持,或将其删除。
当网络是一个复杂且不断发展的世界时,DirectPlay的主要价值又回来了:调制解调器播放,头对头串行端口,IPX / SPX,调制解调器上的TCP / IP和TCP / IP。此时TCP / IP是唯一重要的网络解决方案,因此直接使用WinSock是更可取的。对于现代游戏需要考虑的UDP(数据报)与TCP(虚拟电路)的使用,还存在许多安全问题。 DirectPlay的大厅机制也已经过时了。
有许多现代游戏服务(例如Xbox LIVE,Valve的Steam等),旨在提供匹配,NAT遍历和其他对现代多人游戏至关重要的功能。您可以将WinSock与特定于服务的库结合使用。
在相关说明中,绝对没有理由使用DirectX 10. DirectX 11在所有相同的操作系统(Windows Vista SP2 +)上支持很多more hardware,supported,并且有很多{ {3}}用于Direct3D 10不存在的旧版支持库。