嘿,我已经在Lidgren上找了很多,我已经设法得到了一些简单的控制台客户端和服务器,但我真的很难使用2D……
基本上到目前为止,我只有基于控制台的应用程序,但我找到了一个使用Lidgren的2D游戏的示例。您打开了一个服务器,然后打开了两个应用程序。他们自动连接,你可以玩两个窗口,看到角色在另一个屏幕上移动。该项目使用一个数组来加载纹理,并在Draw()方法中简单地绘制该数组,但使用的值来自:
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我还没有找到任何真正有帮助的东西:/
预先感谢,如果您需要了解其他信息,请告诉我!:)
发布于 2013-11-10 07:06:54
num变量只是从纹理数组中选择一个唯一的纹理,该纹理始终是相同的。假设你有4个纹理,但Key the modulo operator (%)将获得7/4的剩余部分,即3。基本上它会围绕纹理的数量包装它,因为它们必须重复(Ex,Id 4和Id 8具有相同的纹理)
现在,您只能使用静态纹理,但您可以使用相同的代码来选择纹理变体。
纹理更新数据是什么意思?例如更改纹理或更新位置?如果更改纹理,纹理是否已知?(例如,可以发送ID/名称,还是必须发送数据?)
https://stackoverflow.com/questions/19884087
复制相似问题