Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.01.2010, 22:05
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 1  
Ответить с цитированием
zaidite

Регистрация: 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.01.2010, 23:12
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>По идее исходный спрайт из массива должен дублироваться. Но этого не происходит.

не должен он дублироваться, просто ты его перекладываешь из одного контейнера в другой..
дублировать его в такой ситуации можно разве что с помощью 10-чного graphics.copyFrom в новый спрайт,
только не очень понятно зачем это надо, что мешает рисовать эту ботву в своем классе ?

Старый 10.01.2010, 23:24
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 3  
Ответить с цитированием
zaidite

Регистрация: Dec 2008
Сообщений: 41
silin, не получается эту ботву копировать.
У меня флешка загруженная на сайт берёт по ссылке фотку и должна её размножить в разных местах.
Проблема в том, что в локальной версии флешки я получаю с помощью загрузчика картинку, и с помощью битмапа отрисовываю в новый битмап, всё работает, и картинка дублируется.
Тот-же самый код в он-лайне на сайте не работает.

Старый 10.01.2010, 23:43
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Значит, политикой безопасности запрещен доступ к содержимому.

ЗЫ. Глагол "ложить" без приставки обычно не употребляется. Замените его глаголом "класть".
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 10.01.2010, 23:47
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 5  
Ответить с цитированием
zaidite

Регистрация: Dec 2008
Сообщений: 41
dimarik, думаю дело не в этом. Загрузить то я его могу во флешку. И отображается загруженная картинка нормально. И по разным спрайтам во флешке я эту картинку могу перекладывать. А вот дублировать не получается. Не работает обработка битмапом.

Старый 10.01.2010, 23:53
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
ага, меня смутила бессмысленность попытки копировать вектор, нарисованный здесь же..

в случае загрузки извне, надо смотреть разрешен ли доступ к контенту
скорее всего crossdomain.xml в корне домена, откуда идет загрузка решит вопрос
есть и какие-то варианты обхода, вроде бы и здесь обсуждались..

>>Загрузить то я его могу во флешку...А вот дублировать не получается
все верно: так и должно быть если доступ не разрешен

Старый 10.01.2010, 23:56
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от zaidite Посмотреть сообщение
dimarik, думаю дело не в этом. Загрузить то я его могу во флешку. И отображается загруженная картинка нормально. И по разным спрайтам во флешке я эту картинку могу перекладывать. А вот дублировать не получается. Не работает обработка битмапом.
Извините за настойчивость, но этот запрет наложен политикой безопасности.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 11.01.2010, 01:45
zaidite вне форума Посмотреть профиль Отправить личное сообщение для zaidite Найти все сообщения от zaidite
  № 8  
Ответить с цитированием
zaidite

Регистрация: Dec 2008
Сообщений: 41
Цитата:
Сообщение от silin Посмотреть сообщение
ага, меня смутила бессмысленность попытки копировать вектор, нарисованный здесь же..
silin, а можете пояснить, что вы имели в виду?..

Если я действительно делаю какую-нибудь глупость, хотелось бы понимать в чём она заключается...

Старый 11.01.2010, 02:01
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
http://help.adobe.com/ru_RU/AS3LCR/F...html#copyFrom()
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 11.01.2010, 02:17
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 10  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Если я действительно делаю какую-нибудь глупость, хотелось бы понимать в чём она заключается
В том, что если Вы что-то рисуете программно, а потом копируете, то проще и привычней нарисовать программно еще раз, чем именно копировать.
Если же у Вас что-то нарисовано руками во Flash IDE, то вопрос снимается сам собой - делаем linkage-класс и размещаем его экземпляры на сцене.
Однако, все сказанное выше имеет отношение только к векторной графике.
Что касается растра, загружаемого извне - тут Вам стоит ознакомиться с политикой безопасности FlashPlayer
__________________
...вселенская грусть

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.