forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Вопросы по XNA. (http://forum.boolean.name/showthread.php?t=16854)

Dream 08.06.2012 15:32

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Костян (Сообщение 229817)
Баг:
Каждый ран приложения на XNA вызывает ошибку, библиотека MS C++ 2008 стоит,.NET 4 тоже:
Код:

APPCRASH
  Имя приложения:    WindowsGame1.exe
  Версия приложения:    1.0.0.0
  Отметка времени приложения:    4fc8e4c9
  Имя модуля с ошибкой:    KERNELBASE.dll
  Версия модуля с ошибкой:    6.1.7600.16385
  Отметка времени модуля с ошибкой:    4a5bdaae
  Код исключения:    e0434352
  Смещение исключения:    00009617
  Версия ОС:    6.1.7600.2.0.0.256.1
  Код языка:    1049
  Дополнительные сведения 1:    0a9e
  Дополнительные сведения 2:    0a9e372d3b4ad19135b953a78882e789
  Дополнительные сведения 3:    0a9e
  Дополнительные сведения 4:    0a9e372d3b4ad19135b953a78882e789

Почему?

эо может быть что угодно: не та весия XNA которая подключена к проекту, не правальные настройки самого проекта и т.п.

RegIon 08.06.2012 16:21

Ответ: Вопросы по XNA.
 
Я тупо скачал файлик с темы, запустил его и ошибка...я не пишу на XNA, откуда обычный смертный должен знать был что нужно для этого??

moka 08.06.2012 16:39

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Костян (Сообщение 229830)
Я тупо скачал файлик с темы, запустил его и ошибка...я не пишу на XNA, откуда обычный смертный должен знать был что нужно для этого??

Программирование - не для простых смертных..

RegIon 08.06.2012 17:59

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от MoKa (Сообщение 229832)
Программирование - не для простых смертных..


Ну блин если писать программу, то по твоей логике её должны использовать только программисты??
Нет, тогда почему если задают вопрос от лица "ЮЗЕРА", который, предположим,тупой нуб, ему, понятно для него, не отвечают?

radiobutton 08.06.2012 18:13

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Костян (Сообщение 229840)

Ну блин если писать программу, то по твоей логике её должны использовать только программисты??
Нет, тогда почему если задают вопрос от лица "ЮЗЕРА", который, предположим,тупой нуб, ему, понятно для него, не отвечают?

Если захотят выложить для нубов, то выложат еще и установочники библиотек. А так файлик для тех кто програмирует на XNA и у них уже установлены соответствующие библиотеки.:)

Nikich 08.06.2012 18:35

Ответ: Вопросы по XNA.
 
"Тупых юзеров" в гугле не банят.
Да и к тому же. Это что за "юзер" должен быть, чтоб ему был интересен тест скорости вывода картинок?

Nikich 14.06.2012 16:57

Ответ: Вопросы по XNA.
 
Я думаю, все играли в столь известную игру как Crimsonland. Не могли бы вы подсказать, каким образом разработчики добились одного интересного эффекта: следа от пули? Интересует именно такая версия, как в этой игре, то есть след прозрачен в том месте, откуда был произведён выстрел, и полностью непрозрачен там, где сейчас расположена пуля.
Скриншот(трафик, 1.4мб)



Randomize 14.06.2012 17:08

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Nikich (Сообщение 230341)
Я думаю, все играли в столь известную игру как Crimsonland. Не могли бы вы подсказать, каким образом разработчики добились одного интересного эффекта: следа от пули? Интересует именно такая версия, как в этой игре, то есть след прозрачен в том месте, откуда был произведён выстрел, и полностью непрозрачен там, где сейчас расположена пуля.
Скриншот(трафик!)



1) Берём спрайт (рисуем в photoshop, paint.net или генерируем програмно)
с градиентом белого цвета
градация от $FFFFFFFF до $FFFFFF00
Тобеж от абсолютно прозрачного до полностью непрозрачного.
2) Считаем угол от места выстрела до пули
3) Считаем дистанцию от места выстрела до пули
4) Хватаем наш градиентный спрайт за точку (0 ,height * 0.5) *если спрайт горизонтально ориентирован
поворачиваем на выведенный ранее угол, скейлим на половину дистанции и двигаем на половину дистанции.

На векторах будет даже проще сделать. Но я привык к косинусам синусам :B

Nikich 14.06.2012 17:17

Ответ: Вопросы по XNA.
 
Спасибо! Метод сложно назвать высокотехнологичным, но думаю по скорости не будет сильно уступать какому-нибудь шейдерному способу.
Правда про векторы теперь можно подробнее? У меня проблема в том, что мне не то что бы привычно делать через синусы и косинусы, а то что я не знаю как можно делать по-другому:)

moka 14.06.2012 19:30

Ответ: Вопросы по XNA.
 
Способ использования спрайта будет намного шустрее чем какими либо шейдерами симуляция шлейфа с неординарным поведением.

Если 3Д, можно тупо создать квад, который будет тянуться до максимальной длины, и иметь текстуру которая будет корректно накладываться чтобы не скукоживаться с растяжкой квада.

Nikich 14.06.2012 20:24

Ответ: Вопросы по XNA.
 
О, ну тогда тем более хорошо.
Вопрос по векторам еще актуален.

Igor 15.06.2012 01:32

Ответ: Вопросы по XNA.
 
Цитата:

Вопрос по векторам еще актуален.
Без векторов никак. Вектор в 2д - пара чисел. (по Х и У) Зная их, можно найти направление и длину. Вектора можно умножать на вещественные числа, например, прибавлять к вектору позиции произведение вектора скорости и времени. Для вращения, перемещения, изменения масштаба 3д векторов используются матрицы (4*4).
Кватернионы можно назвать четырёхмерными векторами. При их помощи можно задать направление модели или описать вращения.

Nikich 16.06.2012 16:05

Ответ: Вопросы по XNA.
 
Новый вопрос. Что такое "this"? Не в переводе с английского, конечно, а в XNA.
UPD
И ещё появился вопрос по рандомизации в C#. Как здесь надо описать аналог SeedRnd? Или есть что-то стандартное?
Обычный Random не нужен, так как не случайный он совсем.
P.S. было бы забавно, если бы Randomize ответил:) .

radiobutton 16.06.2012 18:33

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Nikich (Сообщение 230482)
Новый вопрос. Что такое "this"? Не в переводе с английского, конечно, а в XNA.
UPD
И ещё появился вопрос по рандомизации в C#. Как здесь надо описать аналог SeedRnd? Или есть что-то стандартное?
Обычный Random не нужен, так как не случайный он совсем.
P.S. было бы забавно, если бы Randomize ответил:) .

this ето c# синтаксис, а не xna. this это ссылка объекта на себя.

У стандартного рандома в конструкторе по умолчанию сбивание по времени стоит, так что он случайный должен быть. Но можно и указать явным образом число на которое он собъется.

Random r = new Random();
int a=r.next(5) (a будит целым числом из множества (0;1;2;3;4))
int a=r.next(3,6) (a будит целым числом из множества (3;4;5))

Ну если хочется задать SeedRnd самому:

Random r = new Random(DateTime.Now.Millisecond + DateTime.Now.Second*1000);

Но опять же это не обязательно.


Кстати заметил недочет.
int a=r.next(5,6) выдает только 5. (соответсвенно все верно)
int a=r.next(5,4) выдает ошибку времени выполнения. (тоже все правильно)
int a=r.next(5,5) выдает только 5. Хотя судя по логике должен выдавать ошибку, кто-то < и <= перепутал, когда писал функцию. =)

Nikich 16.06.2012 18:42

Ответ: Вопросы по XNA.
 
Спасибо!
Возможно это не ошибка, а фича.
a∈[b,c] лучше чем a∈[b,c).


Часовой пояс GMT +4, время: 20:06.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot