草庐IT

c# - 网络流和多个连接

我正在为我和一个friend正在创建的XNA游戏编写一个Tcp服务器,我想知道如何发送到使用NetworkStream连接到服务器的特定客户端。例如,您可以获取主机的播放器位置并将其发送到服务器,服务器将其发送到其他连接的客户端。 最佳答案 您需要阅读一些内容:这应该让你开始:TcpListenerTcpClient您的服务器需要有一个TcpListener。如果要支持多个客户端,请创建一个客户端列表。您将为每个连接的客户端获得一个TcpClient。从每个客户端的NetworkStream中读取数据。当您收到其中一个的数据时,将其

C# TcpClient发送数据后关闭XNA游戏窗口

我想在XNA4中编写多人游戏。为了发送数据,我使用像这样连接的TcpClient类:try{client.Connect(serverEndPoint);}catch(Exceptionex){Console.WriteLine("notconnected");return;}if(!client.Connected)return;NetworkStreamstream=client.GetStream();stream.BeginRead(buf,0,1024,newAsyncCallback(PrijmiData),null);当我想用他的方法发送数据时:privatevoidSe

C# 如何确保所需的 UDP 数据到达客户端/服务器?

我最近一直在为我用C#和XNA为PC制作的2D射击游戏编写一个UDP服务器,它将在需要时更新和发送世界数据、实体数据、聊天数据等。最近我在为玩家创造一种更换武器的方式时突然想到了一个问题;如果发送到服务器的请求更换武器的数据包丢失了,会发生什么情况?这个问题让我想到了另一个问题;我怎样才能让客户端和服务器确认收到某些数据包或数据block?所以,我想出了以下看起来简单的解决方案来解决这个问题:服务器发送需要确认的数据包。客户端接收数据包并发送确认数据包。服务器检查客户端是否确认了数据。如果客户端没有,重新发送数据。建议的解决方案看起来不错,但是如果确认包丢失或发生任何意外情况会怎样?解

c# - XNA - 获取当前屏幕分辨率

是否可以获取当前桌面屏幕分辨率?我的XNA游戏中有一些小设置,其中之一是屏幕分辨率。如果屏幕分辨率选项大于当前支持的桌面分辨率,我想做的是取消屏幕分辨率选项。 最佳答案 GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width和.Height将为您提供设备的当前分辨率。Game.GraphicsDevice.Viewport具有您可以查询的高度和宽度变量,这将为您提供视口(viewport)的分辨率。视口(viewport)通常是窗口的大小,但这并不能保证。Window.Clie

c# - XNA - 获取当前屏幕分辨率

是否可以获取当前桌面屏幕分辨率?我的XNA游戏中有一些小设置,其中之一是屏幕分辨率。如果屏幕分辨率选项大于当前支持的桌面分辨率,我想做的是取消屏幕分辨率选项。 最佳答案 GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width和.Height将为您提供设备的当前分辨率。Game.GraphicsDevice.Viewport具有您可以查询的高度和宽度变量,这将为您提供视口(viewport)的分辨率。视口(viewport)通常是窗口的大小,但这并不能保证。Window.Clie

c# - “最近邻”缩放

当我绘制拉伸(stretch)的Texture2D时,像素会产生类似模糊的效果。我想在我的游戏中使用“像素化”图形,并想知道如何禁用它以支持最简单的最近邻缩放。我创建了这张图片用于说明:(x4缩放)我可以用什么方式完成这个? 最佳答案 在XNA4中,更改SpriteBatch.Begin()以将采样器状态设置为SamplerState.PointClamp 关于c#-“最近邻”缩放,我们在StackOverflow上找到一个类似的问题: https://sta

c# - “最近邻”缩放

当我绘制拉伸(stretch)的Texture2D时,像素会产生类似模糊的效果。我想在我的游戏中使用“像素化”图形,并想知道如何禁用它以支持最简单的最近邻缩放。我创建了这张图片用于说明:(x4缩放)我可以用什么方式完成这个? 最佳答案 在XNA4中,更改SpriteBatch.Begin()以将采样器状态设置为SamplerState.PointClamp 关于c#-“最近邻”缩放,我们在StackOverflow上找到一个类似的问题: https://sta

c# - 如何在 XNA 中实现 Worms 风格的可破坏地形?

我想为我的游戏制作一个创意原型(prototype)。这个游戏的想法是玩家将挖掘地面,创造隧道并寻找宝藏。我正在寻求创建“蠕虫式”地形,为在隧道中徘徊和跳跃的玩家提供碰撞检测。在这些图片中可以看到此类动态地形的示例。我的问题是如何实现这种可破坏地形的最佳方式?我正在使用XNA游戏工作室。 最佳答案 Riemer对他在XNA中开发的一款游戏采用了类似的方法,炮弹会导致地形被“摧毁”,并且之前位于该地形上的任何Prop都会相应地移动。它需要根据您的需求进行重构和改进,但这只是一个开始。Riemer也有很多其他内容的教程。http://w

c# - 如何在 XNA 中实现 Worms 风格的可破坏地形?

我想为我的游戏制作一个创意原型(prototype)。这个游戏的想法是玩家将挖掘地面,创造隧道并寻找宝藏。我正在寻求创建“蠕虫式”地形,为在隧道中徘徊和跳跃的玩家提供碰撞检测。在这些图片中可以看到此类动态地形的示例。我的问题是如何实现这种可破坏地形的最佳方式?我正在使用XNA游戏工作室。 最佳答案 Riemer对他在XNA中开发的一款游戏采用了类似的方法,炮弹会导致地形被“摧毁”,并且之前位于该地形上的任何Prop都会相应地移动。它需要根据您的需求进行重构和改进,但这只是一个开始。Riemer也有很多其他内容的教程。http://w

c# - C#/.NET 作为新标准游戏开发平台的可行性?

很长一段时间以来,C++一直是主导游戏开发的语言。许多AAA质量的3D引擎可满足任何预算。我的问题是,随着XNA的兴起,C#和.NET框架的定位是否足以接替新的标准游戏开发平台?显然,XNA框架(Windows、Xbox、Zune)固有的跨平台特性有其优势,但这些优势是否足以吸引大型游戏开发工作室切换平台?就个人而言,我在为新项目使用C#/XNA和通过jMonkeyEngine使用Java之间左右为难。我非常希望我的游戏可以移植到多个平台,而我所熟悉的能够实现这一点的语言只有C#和Java。我很想看到由OpenGL提供支持并在Mono上运行的XNA代码库的实现,但我认为目前这只是一厢情