![]() |
Ответ: Вопросы по XNA.
А если просто New Random()? Разве там автоматически сид не выставляется на текущее время?
|
Ответ: Вопросы по XNA.
Если два раза подряд создать рандом, там будут одинаковые сиды, вот можно посмотреть пример с результатами:
http://msdn.microsoft.com/ru-ru/library/ctssatww.aspx (третий по счету) Но да, он инициализируется текущим временем, если требуется точное не совпадение, лучше задавать вручную. |
Ответ: Вопросы по XNA.
Ну ладно, с этим пока что всё нормально. Однако опять появился вопрос. Зачем использовать const? Это как-то память экономит, или просто для того, чтобы случайно не изменить?
|
Ответ: Вопросы по XNA.
просто конструктор по умолчанию для рандома сбивает рандом по милисекундам. и поэтому если в одну и туже милисекунду создать, будут одинаковые числа. А если инициализировать тысячными милисекунды, то все норм в принципе =)
Цитата:
а rnd = new Random() в функциях типа Update пишешь. |
Ответ: Вопросы по XNA.
Существует ли команда для сдвига одномерного массива?
К примеру, есть массив {1,2,2,2,0,1}, а мне нужно получить {1,2,2,2,1}. Или всё же нужно делать ручками? |
Ответ: Вопросы по XNA.
Проще всего скопировать данные в новый массив, в любом случае надо новый размер массива. Так что Array.Copy
|
Ответ: Вопросы по XNA.
Можете подсказать, как изменить размер текстуры? Не скейл, а именно удалить из нее пиксель.
|
Ответ: Вопросы по XNA.
только создать новую текстуру, получить ректангл из старой текстуры(там есть типа GetData(Rect) ) и впихнуть в новую
|
Ответ: Вопросы по XNA.
Можно ли удалить массив из памяти?
|
Ответ: Вопросы по XNA.
Присвой ему null. Его со временем подберет сборщик мусора.
|
Ответ: Вопросы по XNA.
Спасибо. А как часто сборщик ищет мусор и удаляет его?
|
Ответ: Вопросы по XNA.
После выхода из метода (функции)
|
Ответ: Вопросы по XNA.
|
Ответ: Вопросы по XNA.
Как можно использовать метод, написанный в главном классе, в дочернем?
|
Ответ: Вопросы по XNA.
ну метод должен не быть private. вызываешь просто по имени, если у тебя в наследнике перегружен им то нужно вызывать base.MethodName
|
Ответ: Вопросы по XNA.
Проблема в том, что метод то "public", а вызвать я не могу.
|
Ответ: Вопросы по XNA.
пример?
|
Ответ: Вопросы по XNA.
В главном классе Game есть public метод particleAdd(), который мне нужно использовать в классе Player.
|
Ответ: Вопросы по XNA.
ахренеть пример. Player - наследник Game? Game и Player в одной сборке? вствь код Game только с обьявлением функции и код Player с вызовом метода. малоли, может у тебя метод Static а ты пытаешься вызвать его у инстанса или наоборот. ну и т.д.
|
Ответ: Вопросы по XNA.
Всё, разобрался. Случайно сделал наследником не тот класс:)
|
Ответ: Вопросы по XNA.
Есть ли более легкий способ поворачивания вектора чем банальная тригонометрия, т.е.
Код:
if (Keyboard.GetState().IsKeyDown(Keys.D)) |
Ответ: Вопросы по XNA.
ну есть
PHP код:
но я отчно не помн сейчас. возможно, если вдруг не будет работать нужно будет перевести в Vector3 это тоесть PHP код:
а, ну конечно можно ещё сразу в матрице всё сделать, или квартенионами пользоваться. в общем вариантов много |
Ответ: Вопросы по XNA.
Чем тебе не нравится банальная тригонометрия? По сути, это то же самое что и умножение 2д вектора на матрицу 2*2, только код выглядит по другому
|
Ответ: Вопросы по XNA.
Опять вопрос с наследованием. Есть главный класс Game1, дочерний класс Player, и список players( который состоит из Player объектов). Мне же нужно внутри класса Player взаимодействовать с другими объектами из списка players.
Код:
В Game1.cs |
Ответ: Вопросы по XNA.
PHP код:
|
Ответ: Вопросы по XNA.
Ошибки нет, как и действия:)
Игроков точно добавил, так как они рисуются и обновляются. |
Ответ: Вопросы по XNA.
Эта, так у тебя у каждого игрока свой список. Тебе поможет тока это:
PHP код:
|
Ответ: Вопросы по XNA.
Спасибо, заработало. А что значит static?
|
Ответ: Вопросы по XNA.
Цитата:
|
Ответ: Вопросы по XNA.
Кто-нибудь работал с "файлом настроек"? Его можно подключить к проекту, но как использовать не написано, хотя вещь полезная.
|
Ответ: Вопросы по XNA.
Ну с файлами конфигураций работать можно с помощью классов из пространства имен System.Configuration. Посмотри там примеры.
|
Ответ: Вопросы по XNA.
Выяснилось что легче всего использовать ConfigurationManager, однако у меня его нету. "using System.Configuration" есть, но всё равно компилятор ругается на ConfigurationManager:( Не знаете в чем может быть причина?
|
Ответ: Вопросы по XNA.
Там в описании класса написано:
Цитата:
|
Ответ: Вопросы по XNA.
Скажите пожалуйста, как узнать значение цвета пикселя без загруженной предварительно информации о какой либо текстуре?
Вот я кликаю на какой либо точке - мне неважно, частью какой текстуры она является, мне просто нужен цвет точки, как же его определить без getdata? Нигде не нашел решения проблемы, прошу о помощи :( Все это мне нужно для реализации заливки опр. конечной территории цветом в моей горе-игре :( |
Ответ: Вопросы по XNA.
ну, можно заюзать WinApi наверно, там вроде как было получение цвета пикселя
|
Ответ: Вопросы по XNA.
Все усложняется тем, что я не знаю, как это сделать :(
|
Ответ: Вопросы по XNA.
Рендер в текстуру, потом взять пиксель с текстуры?
|
Ответ: Вопросы по XNA.
Мне это пока ни о чем не говорит :(
Может есть код у кого? |
Ответ: Вопросы по XNA.
Ну вот первая ссылка в гугле http://www.riemers.net/eng/Tutorials...to_texture.php
|
Ответ: Вопросы по XNA.
а как мне это поможет определить цвет пикселя?
|
Ответ: Вопросы по XNA.
сначала http://msdn.microsoft.com/ru-ru/libr...tudio.10).aspx
потом http://msdn.microsoft.com/en-us/libr...getdata .aspx ну и оттуда цвет |
Ответ: Вопросы по XNA.
Я не понял - мне нужно сначала создать текстуру, или использовать уже загруженную? В смысле, создавать ее в процессе исполнения программы?
|
Ответ: Вопросы по XNA.
Что-то вообще не врубаюсь :(
|
Ответ: Вопросы по XNA.
ну, рендер в текстуру замедлит приложение, я думал ему нужно какможно быстрее.
|
Ответ: Вопросы по XNA.
Да мне хоть так хоть так - все равно не знаю, как. Что делать если текстура большая, все равно из всего массива выбирать нужный мне цвет? И без гетдаты в LodaContent не обойтись?
А если пиксель, например, выбирается щелчком мыши на нем, то как узнать цвет пикселя, не зная, по пикселю какой текстуры я "попал"? |
Ответ: Вопросы по XNA.
Вот есть пример, может поможет
http://www.cyberforum.ru/windows-for...ead328886.html только снимать не весь экран, а несколько пикселей. |
Ответ: Вопросы по XNA.
Ну ты не будешь делать лооад контент для узнавание цвета, ты уже и так загрузишь текстуры чтобы их отрисовывать.
PHP код:
Вот с этой текстуры и бери нужный пиксель через GetData. выставляешь ректанг в 1 пиксель и всё будет ок |
Ответ: Вопросы по XNA.
Спасибо, а рендертаргет тоже наверно постоянно в цикле изменять нежелательно?
Что-то это все очень на производительность влияет :( А где же массив цветов брать? Придется его в лоадконтент задавать? Вроде бы разобрался! Может еще вопросы появятся |
Ответ: Вопросы по XNA.
так и не понял. разобрался или нет?
texture2d.GetData |
Ответ: Вопросы по XNA.
Разобрался, спасибо, но что делать, если мне (допустим) нужно знать значение цвета пикселя в опр. точке каждый шаг?
Это ж очень снизит производительность! |
Ответ: Вопросы по XNA.
Рендер сначала в текстуру а потом на экран не так уж сильно садит FPS. и тем более влиянием взятия одного пикселя с текстуры каждый раз можно принебречь.
|
Ответ: Вопросы по XNA.
не знаю, у меня fps до 100 понижается
Почему иногда некоторые переменные принимают значение Infinity? |
Ответ: Вопросы по XNA.
Ну а было сколько? если было намного больше покажи код.
Цитата:
|
Ответ: Вопросы по XNA.
Цитата:
А разве при делении на ноль не должно бросаться исключение? А перебор это... ? |
Ответ: Вопросы по XNA.
Код вот:
Код:
if (mymouse.LeftButton == ButtonState.Pressed) Как исключить бесконечность и в случае, если переменная ей равняется, присваивать переменной ноль? Есть ли встроенный тип для бесконечности? |
Ответ: Вопросы по XNA.
когда я говори код я имел ввиду хотя-бы класс Game твой.
Уласс целиком. ну или слишком много всего тогда конструктор,LoadContent,Initialize,Draw и Update. ну и вообще если включать вертикальную синхронизацию - обычно больше 60 фпс никогда не будет. поэтому смысла думать об этом нету покачто Если число с плавающей точкой(float) делить на 0 -исключение н е выбрасывается. PHP код:
|
Ответ: Вопросы по XNA.
класс, в смысле, класс целиком, или конструктор?
Да кстати можешь подсказать, что быстрее будет? У меня переменные есть, значения которых только положительные. Как будет быстрее - оформить для них свойства, или каждый раз при изменении проверять, меньше ли они нуля? Или, может еще способ есть? |
Ответ: Вопросы по XNA.
Цитата:
PHP код:
|
Ответ: Вопросы по XNA.
Спасибо! А как же все таки реализовать заливку? Это ж получается мне на вход метода нужно взять рендертаргет и рекурсивно менять цвета пикселей, пока цвет их равен старому? Не медленно ли будет? Попробую ка я сделать это, и посмотрю
что-то не работает: Код:
void fill(int x, int y, Color newC, Color oldC,RenderTarget2D rend) Или нужно через гетдата всю текстуру передавать? |
Ответ: Вопросы по XNA.
можете подсказать, возможно ли перегрузить унарный оператор +(не ++, именно +)?
|
Ответ: Вопросы по XNA.
Цитата:
PHP код:
|
Ответ: Вопросы по XNA.
только первый? А как надо?
Насчет перегрузки - как перегрузить унарный плюс? |
Ответ: Вопросы по XNA.
Цитата:
По поводу как надо - я дал же код "как над" |
Ответ: Вопросы по XNA.
спасибо, попробую!
Что то программа зависает :( А что же в сетдате писать? |
Часовой пояс GMT +4, время: 21:02. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot