|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2009
Адрес: Иваново
Сообщений: 26
|
Копирование на сцену части мувиклипа
Эх.. очень не хотел создавать эту тему, т.к. сразу скажете про маски или про RTFM, но нигде на форуме не смог найти.
В библиотеке находится около 20 мувиков (в принципе не важно сколько). Как вытащить какую-то часть (прямоугольную) мувика на сцену? Мувики в библиотеке лежат векторные. Дальше, если пользователь увеличивает видимую часть сцены, то как вытащить увеличенную часть мувика из библиотеки? С использованием маски (при таскании сцены мышкой) появляются сильные тормоза, т.к. при увеличении слишком много контента остается за пределами видимой части мувика. Как тогда можно отрезать то, что находится за пределами видимой части? С BitmapData поигрался, но ничего хорошего не вышло (т.е. вообще ничего не вышло). Можете подсказать куда копать? Последний раз редактировалось oam333; 04.07.2009 в 21:16. |
|
|||||
Собственно, вариантов кроме BitmapData тут больше и нету
По частям аттачить мувик из библиотеки нельзя, маска у Вас тормозит. Почему у Вас ничего хорошего не вышло с битмапдатой ? |
|
|||||
Регистрация: Jun 2009
Адрес: Иваново
Сообщений: 26
|
Забыл поставить cacheAsBitmap = true.
Таскается теперь нормально, без тормозов (до определенного увеличения), а вот само увеличение (уменьшение) тормозит безбожно... |
|
|||||
вы бы кусок кода привели здесь: как вы делаете увеличение/уменьшение
|
|
|||||
Регистрация: Jun 2009
Адрес: Иваново
Сообщений: 26
|
Цитата:
var mc_map:MovieClip = this.createEmptyMovieClip("mc_map", this.getNextHighestDepth()); mc_map.attachMovie("un_zelen_mc", "un_zelen_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("un_brown_mc", "un_brown_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("zelen_mc", "zelen_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("kontur_zelen_mc", "kontur_zelen_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("grey_mc", "grey_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("kontur_grey_mc", "kontur_grey_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("kvartal_mc", "kvartal_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("kontur_mc", "kontur_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("reka_mc", "reka_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("kontur_reka_mc", "kontur_reka_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("doma_mc", "doma_mc_new", mc_map.getNextHighestDepth()); mc_map.attachMovie("kontur_doma_mc", "kontur_doma_mc_new", mc_map.getNextHighestDepth()); mc_map.cacheAsBitmap = true; var mc_control:MovieClip = this.createEmptyMovieClip("mc_control", this.getNextHighestDepth()); mc_control.attachMovie("plus_btn", "plus_btn_sc", mc_control.getNextHighestDepth()); mc_control.attachMovie("minus_btn", "minus_btn_sc", mc_control.getNextHighestDepth()); mc_control.plus_btn_sc._x = 500; mc_control.plus_btn_sc._y = 19; mc_control.minus_btn_sc._x = 500; mc_control.minus_btn_sc._y = 50; mc_map.onMouseDown = function() { startDrag(mc_map, false); } mc_map.onMouseUp = function() { stopDrag(); } var scale:Number = 1; mc_control.plus_btn_sc.onPress = function() { scale += 100; } mc_control.plus_btn_sc.onRelease = plus_btn_sc.onReleaseOutside = function() { _root.mc_map._xscale = scale; _root.mc_map._yscale = scale; } mc_control.minus_btn_sc.onPress = function() { scale -= 100; } mc_control.minus_btn_sc.onRelease = minus_btn_sc.onReleaseOutside = function() { _root.mc_map._xscale = scale; _root.mc_map._yscale = scale; } Плюс еще вопрос: что быстрее масштабируется - один большой векторный рисунок или куча мелких векторных рисунков (если разбить большой на кучу маленьких) ? Добавлено через 36 минут То, что у меня получилось - http://ivedu.ru/sborka.swf |
|
|||||
при достаточно сильном увеличении имеет смысл вырезать только часть карты и двигать ее, вобще в подобных проектах имеет смысл использовать тайлы.
|
Часовой пояс GMT +4, время: 22:46. |
|
« Предыдущая тема | Следующая тема » |
|
|