首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Lidgren -发送位置和球员状态?

C# Lidgren -发送位置和球员状态?
EN

Stack Overflow用户
提问于 2013-11-10 06:48:39
回答 1查看 470关注 0票数 0

嘿,我已经在Lidgren上找了很多,我已经设法得到了一些简单的控制台客户端和服务器,但我真的很难使用2D……

基本上到目前为止,我只有基于控制台的应用程序,但我找到了一个使用Lidgren的2D游戏的示例。您打开了一个服务器,然后打开了两个应用程序。他们自动连接,你可以玩两个窗口,看到角色在另一个屏幕上移动。该项目使用一个数组来加载纹理,并在Draw()方法中简单地绘制该数组,但使用的值来自:

代码语言:javascript
复制
foreach (var kvp in positions)
{
   // use player unique identifier to choose an image
   int num = Math.Abs((int)kvp.Key) % textures.Length;`
   // draw player
   spriteBatch.Draw(textures[num], kvp.Value, Color.White);
}

有人能解释一下num变量是做什么的吗?如果我想使用不同的类来做这件事,我会不会简单地在player类和动画中做同样的事情--你如何发送纹理更新数据?很抱歉我问了,所以much..but我还没有找到任何真正有帮助的东西:/

预先感谢,如果您需要了解其他信息,请告诉我!:)

EN

回答 1

Stack Overflow用户

发布于 2013-11-10 07:06:54

num变量只是从纹理数组中选择一个唯一的纹理,该纹理始终是相同的。假设你有4个纹理,但Key the modulo operator (%)将获得7/4的剩余部分,即3。基本上它会围绕纹理的数量包装它,因为它们必须重复(Ex,Id 4和Id 8具有相同的纹理)

现在,您只能使用静态纹理,但您可以使用相同的代码来选择纹理变体。

纹理更新数据是什么意思?例如更改纹理或更新位置?如果更改纹理,纹理是否已知?(例如,可以发送ID/名称,还是必须发送数据?)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19884087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档