DirectPlay SDK中文翻译
DirectPlay SDK中文翻译--Introduction To DirectPlay |
Introduction To DirectPlay 目录: Microsoft? DirectPlay? API为开发者提供了开发诸如多人游戏或聊天程序的工具。一个多人游戏有两个基本特性: 这部分的文档(Introduction To DirectPlay)高度概括了DirectPlay的功能。随后的章节将告诉你DirectPlay的细节和如何在你的游戏中使用DirectPlay。 Creating and Managing Sessions 创建会话的第一步就是收集一组用户的信息。有两种方式: 会话被管理后,游戏就可以被连接。在会话过程中,角色可能从会话中退出,或者新的角色被加入。 在多人游戏中,同一会话中的用户UI应该进行同步。管理多人游戏会话应该反复发送消息流给每个用户。比如,每当角色移动,一个消息就应该被发送,以便在所有其他游戏客户端更新角色的位置。DirectPlay的核心就是为所有在一个会话中的计算机发送高效安全的消息。 有两种基本方式来组织会话消息,一种是点对点,一种是客户/服务模式。讲这两种模式的资料很多,这里就不再复述。 DirectPlay Network Communication DirectPlay Transport Protocol 为了传送消息,每个加入多人游戏的人都要有一个唯一的地址。运行游戏客户端的电脑提供设备地址,而游戏主机将提供主机地址。 DirectPlay的地址是一个URL字符串。这些字符串由如下格式构成: Communicating with DirectPlay Objects 你通过组件的接口来和它通讯。比如,在点对点游戏中,你发送给另外用户数据时,使用IDirectPlay8Peer::SendTo。DirectPlay会发送消息到目标。 DirectPlay通过很多callback functions(回调函数)进行联系。在原理上,这些函数和windows程序使用得回调函数一样。游戏执行这些callback function,在DirectPlay初始化期间传送函数指针。当DirectPlay需要通讯时,它调用callback function,并且传递两个重要信息: 比如,当一个消息发送上面的信息到目标,目标程序的callback function将接收到DPNMSGID_RECEIVE消息ID,指出那个消息已经到达。并伴随着包含数据的结构。 因为大多数的DirectPlay消息是多线程的,其中关键就是callback function如何被恰当的执行。 DirectPlay Lobby Support 一个具有大厅的多人游戏,由三个部分组成: DirectPlay没有具体的告诉大厅服务器如何工作,你可以自己安排。DirectPlay提供了对大厅客户端的支持。一个大厅客户端通过大厅服务器连接程序(vendor)进行工作,连接程序被安装到用户的系统上。它就像一个链,来连接用户和大厅。当你要直接进行通讯,你必须知道每个大厅的工作细节。 大厅客户端游戏接收大厅服务器的通讯细节,使用恰当的通讯协议。大厅客户端进行用户和游戏程序之间的通讯。游戏也能使用接口传送消息给大厅客户端。 大厅实际可以连接任何程序。不过,游戏必须有某些具体的大厅支持组件(lobby-aware components)。一般的,一个支持大厅的游戏可以通过会话和大厅客户端进行联系。如果游戏被注册成支持大厅,大厅客户端能自动的接收更新信息,并在游戏里进行相应的更新。诸如host migration。 |
DirectPlay SDK中文翻译相关推荐
- 人工智能Java SDK:中文翻译为英文
中文翻译为英文SDK 机器翻译,又称为自动翻译,是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程. 它是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值 ...
- eZ Publish 的 Site.INI文件的中文翻译
Site.INI文件的中文翻译 #?ini charset="iso-8859-1"? # eZ publish 配置文件 # 注意:并不建议直接修改这个文件,最好是写一个这个文件 ...
- Android Studio 2.0 正式版发布啦 (首次中文翻译)
Android Studio 2.0 发布了,增加了一些新特性: 1. 更加完善的 Instant Run 2. 更快的 Android Emulator 3.GPU Debugger Preview ...
- Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译)
# 禅与 Objective-C 编程艺术 (Zen and the Art of the Objective-C Craftsmanship 中文翻译) - 原文 <https://githu ...
- YOLOv4全文阅读(全文中文翻译)
YOLOv4全文阅读(全文中文翻译) YOLOv4: Optimal Speed and Accuracy of Object Detection 论文链接: https://arxiv.org/pd ...
- ctypealpha php_php ctype函数中文翻译和示例
PHP Ctype扩展是PHP4.2开始就内建的扩展,注意,Ctype系列函数都只有一个字符串类型参数,它们返回布尔值. $str = "0.1123"; //检查字符串所有字符是 ...
- sound.js # pixi辅助插件 — 中文翻译教程
本篇博客为中文翻译博客,转载请注明出处 sound.js-pixi的交互性插件[版本3.0.11] 安装配置 加载声音文件 初始化加载的声音 播放和控制加载的声音 更改回放速率 添加回声 添加混响 产 ...
- jBPM3.12用户指南中文翻译----第一章 绪论
这是Jboss 的jBPM3.12框架的用户指南的中文翻译.其中第一章的译文,是我在网上找到的.其他几章都是我自己做的翻译.我的翻译是中英文对照,只翻译部分我认为重要的,不翻译简单的英文,以免浪费你我 ...
- magento工具PHP语言,Magento2建立中文翻译语言包
今天要教大家 在 Magento2 系统中建立中文翻译的语言包 我们要在系统上开始建立语言包,首先先确认 /app/i18n/ 文件夹是否存在? 若不存在就请建立此文件夹 接着建立文件夹 /app/i ...
最新文章
- 自动添加端口添加至Windows防火墙脚本
- 解决安装mysql的”A Windows service with the name MySQL already exists.“问题
- 加速产业AI化!浪潮提出”元脑“生态计划,要用计算力+生态成就行业AI大脑...
- qq满屏飞吻代码_教你用微信隐藏代码表白!各种微信技巧
- 第17节 业务流程管理和重组
- python中单引号和双引号的区别_python中单引号,双引号,多引号区别
- pstack 安装linux_详解命令-pstack
- SAP BOPF BO draft状态的数据激活原理
- 记录Elastic Job服务处于下线状态排查
- 小游戏开发 手机QQ 微信 浏览器 扫码 Debug 调试输出 查看日志
- 阿拉伯数字 0、1、2、3、4、5、6、7、8、9 书写规范
- Unity中Text中首行缩进两个字符和换行的代码
- 查看 gmail 办法_如何在Gmail对话主题上查看新电子邮件
- 仿Twitter源代码/社交网络源码/基于脉聊二开版本
- 电脑远程连接打印机打印
- 锚点(anchor)的理解
- 顺序表的具体使用方法.数据解构(二)
- 创建DAO模式的步骤
- rk3399 中间层移除短按power息屏待机+永不深度睡眠
- mosquitto -- 权限配置
热门文章
- DEM、DOM、DLG、DRG、DTM、DSM概念解释及联系
- 微信小程序开发(十二)富文本插件wxParse的使用
- 安卓平台 使用Jword生成word文档到本地【亲测成功】
- Lock wait timeout exceeded; try restarting transaction解决
- VSCode安装TinyPNG,并配置api key
- HDU 5015——233 Matrix
- 支持mp4的rtsp服务器,基于Windows服务器,从0开始搭建一个基于RTSP协议的直播平台...
- windows 系统防火墙 添加端口号方法
- 解决No EntityManager with actual transaction available for current thread
- iPhone 将被迫换成 USB-C 接口?苹果,你可怎么办啊......