![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2008
Сообщений: 41
|
Рисую спрайт. Ложу его в массив. Делаю кнопку. При нажатии на кнопку -
создаём новый спрайт, в него ложим объект из массива и добавляем на сцену. По идее исходный спрайт из массива должен дублироваться. Но этого не происходит. var sprite:Sprite = new Sprite();// создаём новый спрайт var gr:Graphics = sprite.graphics; gr.lineStyle(); gr.beginFill(0x79A6D2, 1); gr.drawCircle(20, 20, 20); gr.endFill(); addChild(sprite); var arr:Array = []; arr.push(sprite); //ложим его в массив var btn:Sprite = new Sprite(); // создаём кнопку var grBtn:Graphics = btn.graphics; grBtn.lineStyle(); grBtn.beginFill(0x993366, 1); grBtn.drawRoundRect(450, 350, 80, 40, 10); grBtn.endFill(); addChild(btn); btn.buttonMode = true; btn.addEventListener(MouseEvent.CLICK, action_click); // при нажатии на кнопку... function action_click(e:MouseEvent){ var spr:Sprite = new Sprite(); //делаем новый спрайт addChild(spr); spr.addChild(arr[0]); //ложим в него объект из массива spr.x = Math.random()*400; spr.y = Math.random()*300; trace (spr.name); //каждый раз создаётся новый спрайт, а не повторяется один и тот же } Почему так происходт? Можно ли как-то размножить этот спрайт без bitmapData? |
|
|||||
|
>>По идее исходный спрайт из массива должен дублироваться. Но этого не происходит.
не должен он дублироваться, просто ты его перекладываешь из одного контейнера в другой.. дублировать его в такой ситуации можно разве что с помощью 10-чного graphics.copyFrom в новый спрайт, только не очень понятно зачем это надо, что мешает рисовать эту ботву в своем классе ? |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 41
|
silin, не получается эту ботву копировать.
У меня флешка загруженная на сайт берёт по ссылке фотку и должна её размножить в разных местах. Проблема в том, что в локальной версии флешки я получаю с помощью загрузчика картинку, и с помощью битмапа отрисовываю в новый битмап, всё работает, и картинка дублируется. Тот-же самый код в он-лайне на сайте не работает. |
|
|||||
|
.
|
Значит, политикой безопасности запрещен доступ к содержимому.
ЗЫ. Глагол "ложить" без приставки обычно не употребляется. Замените его глаголом "класть". |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 41
|
dimarik, думаю дело не в этом. Загрузить то я его могу во флешку. И отображается загруженная картинка нормально. И по разным спрайтам во флешке я эту картинку могу перекладывать. А вот дублировать не получается. Не работает обработка битмапом.
|
|
|||||
|
ага, меня смутила бессмысленность попытки копировать вектор, нарисованный здесь же..
в случае загрузки извне, надо смотреть разрешен ли доступ к контенту скорее всего crossdomain.xml в корне домена, откуда идет загрузка решит вопрос есть и какие-то варианты обхода, вроде бы и здесь обсуждались.. >>Загрузить то я его могу во флешку...А вот дублировать не получается все верно: так и должно быть если доступ не разрешен |
|
|||||
|
.
|
Извините за настойчивость, но этот запрет наложен политикой безопасности.
|
|
|||||
|
Регистрация: Dec 2008
Сообщений: 41
|
Цитата:
Если я действительно делаю какую-нибудь глупость, хотелось бы понимать в чём она заключается... |
|
|||||
|
.
|
|
|
|||||
|
Цитата:
Если же у Вас что-то нарисовано руками во Flash IDE, то вопрос снимается сам собой - делаем linkage-класс и размещаем его экземпляры на сцене. Однако, все сказанное выше имеет отношение только к векторной графике. Что касается растра, загружаемого извне - тут Вам стоит ознакомиться с политикой безопасности FlashPlayer
__________________
...вселенская грусть |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|