Показать сообщение отдельно
Старый 01.10.2011, 03:03
flax4Noob вне форума Посмотреть профиль Отправить личное сообщение для flax4Noob Найти все сообщения от flax4Noob
  № 8  
Ответить с цитированием
flax4Noob

Регистрация: Jan 2011
Сообщений: 70
Все просто суперски, и действительно прилично ускоряет работу всей флешки в целом. (Если не тупо перерисовывать все при каждом фрейме, а только обновлять изменения)

Итак, вот какая засада обозначилась. Если кто-то читал стартовый топик, то он помнит, что в исходной флешке у меня "поля", и к ним "прицеплены" Спрайты крестиков/ноликов и проч. Как я сейчас добавляю это дело на сцену:

На Сцене создан Bitmap, по всему размеру поля.
При обработке "Энтерфрейма" в цикле пробегаем все клетки. Если в клетке были изменения, то:
Код AS3:
tempBitmap.draw(cells[i][j]);
plainBitmap.copyPixels(tempBitmap,tempBitmap.rect,new Point(cellSize*i, cellSize*j));
Ну, локи и таймеры я заскипал. Все работает отлично, tempBitmap по размеру равна клетке и вообще просто эйфория от всего этого. Пока в одной из Клеток не появляется Спрайт вылезающий за пределы своего квадрата. Он, разумеется, не влезает в tempBitmap и, соответственно, выглядит крайне печально.

Если увеличить размеры tempBitmap, то это не решает проблемы "невлезания" спрайтов, части которых находятся в "области отрицательных координат" чтоль... не знаю как понятнее объяснить Ну и плюс к этому появляется проблема с позиционированием такого "кривого по размерам" битмапа на основной карте. Но это мелочи.

Как отDrawить спрайт, который рисует в отрицательные координаты?

Код AS3:
drawCircle(0, 0, 10); //Например.
Рисует 1/4 круга

Добавлено через 1 минуту
Пока что раскуриваю "Скрол" битмапа.