Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

Просмотр темы
 Распечатать тему
Отрисовка 2D спрайтов
Gorael
#1 Распечатать сообщение
Опубликовано 16.06.2013 18:04:30
Младший специалист


Сообщений: 24
Зарегистрирован: 05.02.13

Имеется список блоков (блок это 2D спрайт 32*32), изначально известно что блоков очень много в массиве >100000.
И если я использую такой код:
Загрузить источник  GeSHi: C#
  1. foreach (Block block in blocks)
  2. {
  3. block.Draw(spriteBatch);
  4. }
Добавлено за 0.004 секунд, используя GeSHi 1.0.8.2

то будет ли он игнорировать блоки которые мы не видим? или лучше все таки сделать так чтобы он работал исключительно с прямоугольником экрана который будет отрисовываться?
 
beaver
#2 Распечатать сообщение
Опубликовано 16.06.2013 20:46:30
Аватар пользователя

Администратор


Сообщений: 1772
Зарегистрирован: 22.02.09

Gorael написал:
то будет ли он игнорировать блоки которые мы не видим?

С чего бы?
Gorael написал:
или лучше все таки сделать так чтобы он работал исключительно с прямоугольником экрана который будет отрисовываться?

Именно так.
 
Gorael
#3 Распечатать сообщение
Опубликовано 17.06.2013 12:10:11
Младший специалист


Сообщений: 24
Зарегистрирован: 05.02.13

Спасибо
 
Gorael
#4 Распечатать сообщение
Опубликовано 21.07.2013 14:00:03
Младший специалист


Сообщений: 24
Зарегистрирован: 05.02.13

Нашел время и исправил все это на нечто более приемлемое:
Загрузить источник  GeSHi: C#
  1. for (int i = ScrollX / 16; i < ScrollX / 16 + 87;i++)
  2. {
  3. for (int j = ScrollY / 16; j < ScrollY / 16 + 49; j++)
  4. {
  5. int x, y;
  6. x = i * 16 - ScrollX;
  7. y = j * 16 - ScrollY;
  8. if (blocksMap[i, j] == '2')
  9. {
  10. spriteBatch.Draw(blockTexture2, new Rectangle(x, y, 16, 16), Color.White);
  11. }
  12. else if (blocksMap[i, j] == '1')
  13. {
  14. spriteBatch.Draw(blockTexture1, new Rectangle(x, y, 16, 16), Color.White);
  15. }
  16. }
  17. }
Добавлено за 0.009 секунд, используя GeSHi 1.0.8.2

Здесь я задействовал if для того чтобы узнать что за блок в массиве, но блоков будет куда больше, может можно как то обойтись без if, может с enum можно что то накрутить? Подкиньте своих умных идей.
 
Gorael
#5 Распечатать сообщение
Опубликовано 21.07.2013 14:08:37
Младший специалист


Сообщений: 24
Зарегистрирован: 05.02.13

Вопрос снят... буквально через 10 секунд после этого поста, до меня дошло что можно сделать массив текстур а не char...
 
Перейти на форум:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

21.08.2014
Переводить его надо, хоть на ту же азуру. И двиг менять на что-то современное. Если есть веб-разрабы - можем скооперироваться. Один делать не буду.

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,14 секунд 8,710,363 уникальных посетителей