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

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

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Ну так чтобы что-то удалить, надо сначала добавить. Чего тут удивительного?
Код AS3:
var bitmap:Bitmap = new Bitmap(img);
spr.addChild(bitmap);
spr.removeChild(bitmap);
new Bitmap(img) - это создание нового объекта, а не тот же Bitmap, который Вы создали в прошлый раз
__________________
...вселенская грусть

Старый 08.12.2011, 14:19
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 12  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Я правильно понял или вы пытаетесь произвести аборт? Удаление еще не созданного объекта.
Поместите ссылку на ваш объект в переменную и потом обращайтесь к нему через эту переменную.
Вот пример.
Код AS3:
var obj:Sprite=new Sprite();
addChild(obj);
removeChild(obj);
Upd. не заметил что тема на новую страницу перешла.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 08.12.2011, 15:14
razo вне форума Посмотреть профиль Отправить личное сообщение для razo Найти все сообщения от razo
  № 13  
Ответить с цитированием
razo

Регистрация: Dec 2011
Сообщений: 31
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Ну так чтобы что-то удалить, надо сначала добавить. Чего тут удивительного?
Код AS3:
var bitmap:Bitmap = new Bitmap(img);
spr.addChild(bitmap);
spr.removeChild(bitmap);
new Bitmap(img) - это создание нового объекта, а не тот же Bitmap, который Вы создали в прошлый раз
все сработало спасибо .

Цитата:
Сообщение от imena Посмотреть сообщение
Код AS3:
var spr:Sprite = new Sprite();
spr.addChild(img);
// бла-бла-бла
spr.startDrag();
addChild(spr);
для каждого объекта надо создать новый sprite или можно создать массив sprit-ов?

Старый 08.12.2011, 21:22
imena вне форума Посмотреть профиль Отправить личное сообщение для imena Найти все сообщения от imena
  № 14  
Ответить с цитированием
imena
[+1.3 07.12.11]

Регистрация: Feb 2011
Сообщений: 121
как вам угодно.... можете в один спрайт напихать, можете в отдельный.

Старый 08.12.2011, 21:24
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 15  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Случай, когда голодному надо дать удочку. А вы рыбой накормили.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 08.12.2011, 22:02
imena вне форума Посмотреть профиль Отправить личное сообщение для imena Найти все сообщения от imena
  № 16  
Ответить с цитированием
imena
[+1.3 07.12.11]

Регистрация: Feb 2011
Сообщений: 121
Цитата:
Сообщение от GBee Посмотреть сообщение
Случай, когда голодному надо дать удочку. А вы рыбой накормили.
согласен с вами. у самого такая мысля возникла когда писал ответы.

Старый 12.12.2011, 00:28
razo вне форума Посмотреть профиль Отправить личное сообщение для razo Найти все сообщения от razo
  № 17  
Ответить с цитированием
razo

Регистрация: Dec 2011
Сообщений: 31
возник такой ошибка, во время таймера bitmap Не добавляется на сцену почему? вот скрипт

Код AS3:
private var home_sprite:Sprite = new Sprite();
private var home_model:Bitmap;
 
private function timer(timer_tun_sprit:Sprite){	
			 var timerHome:Timer = new Timer(5000,1);
			 timerHome.addEventListener(TimerEvent.TIMER_COMPLETE,home_timer_end);
			 timerHome.start();
			function home_timer_end(e:TimerEvent):void{
				trace("zakoncheno");
				home_sprite.x=200;
				home_sprite.y=200;
				myMap.addChild(timer_tun_sprit);
			}
		}
 
public function Home_create(my_map:MovieClip,tun_class):void{
			myMap=my_map;
			home_model = new Bitmap(tun_class);
			home_sprite.addChild(home_model);
			home_bar.addEventListener(MouseEvent.CLICK,home_creater);
			function home_creater(e:MouseEvent):void{
				home_sprite.startDrag(true);
				myMap.addChild(home_sprite);
				home_sprite.addEventListener(MouseEvent.CLICK,raz);
			}
 
			function raz(e:MouseEvent):void{
 
				timer(home_sprite);
 
			}
 
			function avartel_home(e:TimerEvent):void{
				home_sprite.x=chsarqvat_model.x;
				home_sprite.y=chsarqvat_model.y;
				myMap.addChild(home_sprite);
			}
}

Старый 12.12.2011, 00:54
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 18  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Не надо засовывать исполнителя в заказчика - он живет пока звонит заказчик, а когда надо дело делать, его нет на месте. Зачем Вы засунули одни функции в другие?
__________________
Reality.getBounds(this);

Старый 12.12.2011, 01:11
razo вне форума Посмотреть профиль Отправить личное сообщение для razo Найти все сообщения от razo
  № 19  
Ответить с цитированием
razo

Регистрация: Dec 2011
Сообщений: 31
ну да а ето запрещается на ооп? вот функция который я запускал во время нажатия на mouse: timer(home_sprite); я запускаю таймер но не получается во время timeout таймера добавить bitmap на сцену.

Старый 12.12.2011, 07:13
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 20  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вложенная функция теоретически может использоваться как некая "подпрограмма" функции-хозяина, выделяя некую однотипную операцию расчета, которая очень часто используется во время работы этой "большой" функции. В то же время такой подход нарушает с десяток принципов чистого кода (метод должен делать одно действие, должен быть доступен другим методам класса для повторного использования и т.д.). Ничто не мешает держать метод в теле класса и избежать неочевидных и труднонаходимых багов, вызванных жизненным циклом и областью видимости вложенной функции.
В Вашем случае рекомендую просто протрейсить внутри вложенных функций-обработчиков, знают ли они, что такое myMap и timer_tun_sprit. Вместо trace("zakoncheno"); напишите trace("zakoncheno", timer_tun_sprit);
Мне трудно анализировать Ваш код, из-за кучи прочерков он похож на дело ФБР с затертыми именами, адресами и датами. Используйте кэмел, как рекомендуют соглашения об оформлении кода, а прочерк стоит использовать для выделения приватных переменных класса, ставя его в начале имени _приватнойПеременнойКласса. Названия функций и методов всегда пишутся с маленькой буквы, а классов – с большой. Сделайте одолжение прежде всего себе – соблюдайте конвенции. Не думайте, что начнете соблюдать их, когда станете великим и знаменитым. Начните сейчас.
__________________
Reality.getBounds(this);

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

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

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


 


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


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