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)

Igor 22.06.2012 12:26

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

И в этой ситуации уже ничего не поможет?
Там есть разные режимы. Например, когда ты думаешь что нарисовал много-много тайлов, а реально процессор их отсортировал и только потом по порядку вывел на экран. Он, наверно, медленнее, но не должно быть проблем с почти одинаковыми значениями глубины

Dream 22.06.2012 12:43

Ответ: Вопросы по XNA.
 
Вложений: 1
Цитата:

Сообщение от Nikich (Сообщение 230960)
Не в этом беда. Если говорить про тайлы, то это равносильно тому, что тайлы пересекаются. И в этой ситуации уже ничего не поможет?

Зачем они пересекаются?!

Nikich 22.06.2012 13:05

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

Nikich 23.06.2012 17:05

Ответ: Вопросы по XNA.
 
Ладно, с этим вопрос решен. Как оказалось, быстрее будет 2 пробега по массиву сделать, чем использовать BackToFront режим.
Теперь у меня возник вопрос про UnloadContent(). Далеко не во всех примерах люди хоть что-нибудь писали в зоне UnloadContent(), поэтому и я ничего не писал. Но сейчас подумал, что если бы все было автоматически, этой зоны бы вообще не было. В общем, необходимо ли выгружать контент при выходе из игры вручную, или XNA самостоятельно справится?

Dream 24.06.2012 16:35

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

Сообщение от Nikich (Сообщение 231212)
Ладно, с этим вопрос решен. Как оказалось, быстрее будет 2 пробега по массиву сделать, чем использовать BackToFront режим.
Теперь у меня возник вопрос про UnloadContent(). Далеко не во всех примерах люди хоть что-нибудь писали в зоне UnloadContent(), поэтому и я ничего не писал. Но сейчас подумал, что если бы все было автоматически, этой зоны бы вообще не было. В общем, необходимо ли выгружать контент при выходе из игры вручную, или XNA самостоятельно справится?

При выходе не нужно. Но можно(нужно) сделаь чтбы выгружались текстуры которые используются в меню, когда начинается сама игра и наоборот

Nikich 25.06.2012 02:45

Ответ: Вопросы по XNA.
 
Спасибо.
Возникло два вопроса. Первый, ответ на который мне очень нужен, и второй, который нужен просто для ознакомления.
Если у меня есть вектор позиции игрока и вектор скорости, то для получения новой координаты игрока нужно сложить эти два вектора? Или все же умножить их? Просто если делать с умножением, то ничего не работает из-за того, что если вектор позиции равен 0, то никуда объект не сдвинется. А если складывать, то есть ли в этом смысл? Ведт тогда можно было сразу менять х и у вектора позиции.
Второй вопрос связан с 3Д миром. Что из себя представляет LinePick? Каким образом он работает? Я знаю, что это как бы луч который мы пускаем из камеры куда-нибудь, и благодаря нему мы можем узнать много инфы о пикнутом предмете( расстояне до него, его тип и тд). Но как обрабатывается в компьюетере? И еще. Где вообще можно узнать действительно верную информациюо о том, что для чего нужно, как это работает и так далее. Просто сейчас я смутно представляю для чего что в компьютере нужно, а о том как оно работает я вообще ничего не знаю:( Это довольно плохо для программиста, как я считаю.

radiobutton 25.06.2012 02:49

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

Сообщение от Nikich (Сообщение 231334)
Спасибо.
Возникло два вопроса. Первый, ответ на который мне очень нужен, и второй, который нужен просто для ознакомления.
Если у меня есть вектор позиции игрока и вектор скорости, то для получения новой координаты игрока нужно сложить эти два вектора? Или все же умножить их? Просто если делать с умножением, то ничего не работает из-за того, что если вектор позиции равен 0, то никуда объект не сдвинется. А если складывать, то есть ли в этом смысл? Ведт тогда можно было сразу менять х и у вектора позиции.

А сложение векторов это по твоему что?:)

Nikich 25.06.2012 02:59

Ответ: Вопросы по XNA.
 
Я поэтому и спросил, есть ли в этом смысл.

radiobutton 25.06.2012 03:04

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

Сообщение от Nikich (Сообщение 231337)
Я поэтому и спросил, есть ли в этом смысл.

Ну допустим вектор позиции называется pos, а скорости speed.

pos+=speed;

тоже самое что

pos.X+=speed.X;
pos.Y+=speed.Y;

но зачем писать больше?:)

Nikich 25.06.2012 03:12

Ответ: Вопросы по XNA.
 
Зачем так делать? Можно сразу тогда сразу изменять координаты pos на какое-то число. То есть нажата стрелка вверх - уменьшать Y и так далее.
Мне нужно векторное перемещение для того, чтобы не было бага с двойной скорости, когда нажимаешь сразу клавишу вверх и вбок. Знаю как можно это исправить без векторов( Cos45*speed), но это не торт, когда вектора есть.

radiobutton 25.06.2012 03:35

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

Сообщение от Nikich (Сообщение 231339)
Зачем так делать? Можно сразу тогда сразу изменять координаты pos на какое-то число. То есть нажата стрелка вверх - уменьшать Y и так далее.
Мне нужно векторное перемещение для того, чтобы не было бага с двойной скорости, когда нажимаешь сразу клавишу вверх и вбок. Знаю как можно это исправить без векторов( Cos45*speed), но это не торт, когда вектора есть.

Код:

Float spd = 3f;  // Это скорость перемещения.
Vector Speed = Vector2.Zero;  //вектор направления движения.
bool isMoved=false;

if нажато вверх {    Speed+= new Vector2(0,-1); isMoved=true;}
if нажато вниз {    Speed+= new Vector2(0,1); isMoved=true;}
if нажато влево {    Speed+= new Vector2(-1,0); isMoved=true;}
if нажато вправо {    Speed+= new Vector2(1,0); isMoved=true;}

if (isMoved)
{
    Speed.Normalize();  //X и Y изменяются, так что длина вектора стает равной 1
    Speed*=spd;
    pos+=Speed;
}

Что-то типа такого можешь сделать.:)

Nikich 25.06.2012 15:45

Ответ: Вопросы по XNA.
 
А чем отличается Normalize вектор от обычного?

radiobutton 25.06.2012 15:51

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

Сообщение от Nikich (Сообщение 231375)
А чем отличается Normalize вектор от обычного?

Сохраняет направление, но его длина становится равной единице.
по сути, тоже умножение на cos45 для твоего случая.

Nikich 25.06.2012 17:14

Ответ: Вопросы по XNA.
 
Нужна помощь с рисованием текстуры. Максимальное разрешение текстуры 4096x4096. А если мне нужна текстура, в разы больше этой? Как тогда обойти это ограничение?

radiobutton 25.06.2012 17:15

Ответ: Вопросы по XNA.
 
Рисовать несколько текстур (с) кэп


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

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