![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 15.11.07]
|
Есть растровая карта, которая подгружается кусками 256 x 256. Тайлы (tile) генерирует сервер в зависимости от масштаба (zoom) и положения карты.
Если потянуть карту мышкой, недостающие тайлы будут подгружаться. Но если тянуть далеко, то размер клипа превзойдет ограничение в 2880 x 2880. На максимальном увеличении размер карты 2097152 x 1048576. Можно конечно на onMouseUp создавать клип в котором тайлы заново, но тогда не будет плавности движения... Что можно придумать? Поможет ли мне BitMapData? map_mc.onMouseDown = function () {
map_mc.startDrag();
}
map_mc.onMouseUp = function () {
map_mc.stopDrag();
map_mc.onMouseMove = null;
loadBase();
}
function loadBase(){
for (i = 0; i < visibleTiles.length; i++) {
var tileArray = visibleTiles[i];
var tileName = "x" + tileArray[0] + "y" + tileArray[1] + "z" + zoom;
if (visibleTilesMap[tileName]) continue;// Tile is already loaded
visibleTilesMap[tileName] = true;
tile_mc = map_mc.createEmptyMovieClip("tile" + tileArray[0] + "_" + tileArray[1], map_mc.getNextHighestDepth());
tile_mc._x = (tileArray[0] * 256);
tile_mc._y = (tileArray[1] * 256);
tile_mc.loadMovie("GetTile.aspx?type=base" + "&x=" + tileArray[0] + "&y=" + tileArray[1] + "&z=" + zoom));
}
}
Последний раз редактировалось iNils; 14.12.2006 в 22:10. |
|
|||||
|
Есть метод draw() класса BitmapData
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А также scroll и copyPixels
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
У BitmapData тоже ограничение в 2880 x 2880.
Но не понятно зачем все сразу отображать. 2'097'152 x 1'048'576 - это слишком много. Нужно отображать только видимую область + запас во все стороны. Остальное держать в памяти. И при перетаскиваниие, удалять части вышедшие за пределы отведенной границы и загружать новые. |
|
|||||
|
[+4 15.11.07]
|
iNils:
А если я удалю тайлы с той стороны которая вышла за границу экрана, то размер клипа автоматически уменьшится? |
|
|||||
|
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Уменьшится, конечно. А в чём проблема-то?
|
|
|||||
|
[+4 15.11.07]
|
__etc:
Проблема в том что мне сказали переделать сайт с Javascript'а на Flash, а я знаком с последним только две недели, и не хочется наступать на грабли. All: Сейчас попробую будет ли размер клипа уменьшаться при удалении невидимых тайлов. Пока всем спасибо. ![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
|
|
|||||
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|