Хей, я много искал на Lidgren, и мне удалось получить простой консольный клиент и серверы, но мне очень тяжело работать с 2D ...C# Lidgren - Отправить вакансии и плейеры?
В основном, что у меня так далеко это только консольные приложения, но я нашел пример 2D-игры с использованием Lidgren. Вы открыли сервер, а затем два приложения. Они автоматически подключались, и вы могли играть с двумя окнами, видя, как движение персонажа на другом экране. Этот проект используется массив для загрузки текстур и в 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
переменного? И если бы я хотел использовать разные классы для этого, просто бы просто сделать то же самое, но в классах игроков, а также анимации - как вы отправляете данные обновления текстур? Извините, что я так много спрашиваю. Но я не нашел ничего, что на самом деле помогает:/
Спасибо заранее, и если вам нужно что-то узнать, расскажите! :)
Что я имею в виду с обновлением текстур, это в основном анимация, как в классе игрока: 'public void Animate (GameTime gameTime, int sFrame, eFrame) ' и использовать переменную' currentFrame' и 'прошлый '. И с позициями, просто отправить сообщение с переменной, чтобы его обновить? Я спрашиваю об этом, так как я не совсем получаю учебник Lidgren, а также я очень новичок в создании сетей. Спасибо :) – QuackTheDuck
Для анимаций вы продолжаете добавлять «прошедшие» к переменной, а когда это больше, чем 'x', сбросьте переменную и измените кадры. Честно говоря, для позиции у меня тоже были проблемы. Отправка движения не работает, отправка позиции выглядит багги, так что да, не уверен в этом. Это очень большая тема сама по себе, поэтому вы можете задать другой вопрос, чтобы получить некоторое внимание. – Cyral