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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.03.2008, 12:29
aea_2004 вне форума Посмотреть профиль Отправить личное сообщение для aea_2004 Найти все сообщения от aea_2004
  № 1  
Ответить с цитированием
aea_2004
[+1.3 13.03.08]
[+6 19.03.08]

Регистрация: Feb 2008
Сообщений: 27
По умолчанию Почему не удалаяется клип в слушателе?

Доброе время суток! Как удалить клип:

Код:
import mx.controls.DataGrid;
var myDataGrid:mx.controls.DataGrid;

_level0.myDataGrid.addColumn("IDFilm");	//0

//Функция Показ фото
function showBitmapData(bdlinkageId,bdX,bdY){
import flash.display.BitmapData;
var linkageId:String = bdlinkageId;
var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId);
//trace(myBitmapData instanceof BitmapData); // true
if(myBitmapData.height>myBitmapData.width){
	var scale:Number=100*99/myBitmapData.height;
	}else{
	var scale:Number=100*99/myBitmapData.width;
}
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
mc._xscale=scale;
mc._yscale=scale;
mc._x=bdX;
mc._y=bdY;
}

showBitmapData("0002.jpg",34,139);

// Create listener object.
var dgListener:Object = new Object ();
dgListener.cellPress = function (evt_obj:Object) {
	var obj = evt_obj.target;
	mc.removeMovieClip();
	showBitmapData("0007.jpg",34,139);
};
// Add listener.
_level0.myDataGrid.addEventListener ("cellPress", dgListener);

bremove.onRelease= function () {
//trace ("onRelease called");
};

stop();
Спасибо

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

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
функция trace() бывает иногда очень полезной
Код:
dgListener.cellPress = function (evt_obj:Object) {
	var obj = evt_obj.target;
	//mc.removeMovieClip();
        trace(mc);
	showBitmapData("0007.jpg",34,139);
};
что мы увидим в таком случае?
читайте про область видимости переменных, а в данном конкретном случае, узнайте, доступен ли "mc" напрямую из обработчика события...
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 13.03.2008, 13:24
aea_2004 вне форума Посмотреть профиль Отправить личное сообщение для aea_2004 Найти все сообщения от aea_2004
  № 3  
Ответить с цитированием
aea_2004
[+1.3 13.03.08]
[+6 19.03.08]

Регистрация: Feb 2008
Сообщений: 27
trace: _level0.mc. Написал:
Код:
_level0.mc.removeMovieClip();
Все равно не удаляет Что значит узнать: "доступен ли "mc" напрямую из обработчика события..."? Как узнать?

Старый 13.03.2008, 13:36
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 4  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Ну вообщето кагда он в коде написал mc.removeMovieClip(); будет выполнено _level0.mc.removeMovieClip(); Вот у него он и в трейсе виден).
Незнаю я попробовал у меня удаляется все...

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

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
Код:
import mx.controls.DataGrid;
import flash.display.BitmapData;

var myDataGrid:mx.controls.DataGrid;
_level0.myDataGrid.addColumn("IDFilm");
function showBitmapData(bdlinkageId, bdX, bdY) {	
	var linkageId:String = bdlinkageId;
	var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId);
	if (myBitmapData.height>myBitmapData.width) {
		var scale:Number = 100*99/myBitmapData.height;
	} else {
		var scale:Number = 100*99/myBitmapData.width;
	}
	var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
	mc.attachBitmap(myBitmapData,this.getNextHighestDepth());
	mc._xscale = scale;
	mc._yscale = scale;
	mc._x = bdX;
	mc._y = bdY;
}
showBitmapData("0002.jpg",34,139);
var dgListener:Object = new Object();
dgListener.cellPress = function(evt_obj:Object) {	
	_level0.mc.removeMovieClip();	
	showBitmapData("0007.jpg",34,139);
};
_level0.myDataGrid.addEventListener("cellPress",dgListener);
stop();
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 13.03.2008, 17:19
aea_2004 вне форума Посмотреть профиль Отправить личное сообщение для aea_2004 Найти все сообщения от aea_2004
  № 6  
Ответить с цитированием
aea_2004
[+1.3 13.03.08]
[+6 19.03.08]

Регистрация: Feb 2008
Сообщений: 27
Не так не удаляет... У меня просто закрывает новым поверх Может как-то по другому надо?

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

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
а если вот так?
Код:
import mx.controls.DataGrid;
import flash.display.BitmapData;

var myDataGrid:mx.controls.DataGrid;
_level0.myDataGrid.addColumn("IDFilm");
function showBitmapData(bdlinkageId, bdX, bdY) {	
	var linkageId:String = bdlinkageId;
	var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId);
	if (myBitmapData.height>myBitmapData.width) {
		var scale:Number = 100*99/myBitmapData.height;
	} else {
		var scale:Number = 100*99/myBitmapData.width;
	}
	var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
	mc.attachBitmap(myBitmapData,this.getNextHighestDepth());
	mc._xscale = scale;
	mc._yscale = scale;
	mc._x = bdX;
	mc._y = bdY;
}
showBitmapData("0002.jpg",34,139);
var dgListener:Object = new Object();
dgListener.cellPress = function(evt_obj:Object) {	
	_level0.mc.removeMovieClip();	
	//showBitmapData("0007.jpg",34,139);
};
_level0.myDataGrid.addEventListener("cellPress",dgListener);
stop();
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 13.03.2008, 17:53
aea_2004 вне форума Посмотреть профиль Отправить личное сообщение для aea_2004 Найти все сообщения от aea_2004
  № 8  
Ответить с цитированием
aea_2004
[+1.3 13.03.08]
[+6 19.03.08]

Регистрация: Feb 2008
Сообщений: 27
Не знаю правильно или нет, но получилось так:

Код:
import mx.controls.DataGrid;
import flash.display.BitmapData;

var myDataGrid:mx.controls.DataGrid;
_level0.myDataGrid.addColumn("IDFilm");

function showBitmapData(bdlinkageId, bdX, bdY) {	
	var linkageId:String = bdlinkageId;
	var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId);
	if (myBitmapData.height>myBitmapData.width) {
		var scale:Number = 100*99/myBitmapData.height;
	} else {
		var scale:Number = 100*99/myBitmapData.width;
	}
	var mc:MovieClip = this.createEmptyMovieClip("mc", _level0);
	mc.attachBitmap(myBitmapData,this.getNextHighestDepth());
	mc._xscale = scale;
	mc._yscale = scale;
	mc._x = bdX;
	mc._y = bdY;
}
showBitmapData("0002.jpg",34,139);

var dgListener:Object = new Object();
dgListener.cellPress = function(evt_obj:Object) {	
	
	_level0.mc.removeMovieClip();	
	showBitmapData("0007.jpg",34,139);
};
_level0.myDataGrid.addEventListener("cellPress",dgListener);
Всем спасибо!


Последний раз редактировалось iNils; 13.03.2008 в 18:47.
Старый 13.03.2008, 18:09
Скрипун вне форума Посмотреть профиль Отправить личное сообщение для Скрипун Найти все сообщения от Скрипун
  № 9  
Ответить с цитированием
Скрипун
 
Аватар для Скрипун

Регистрация: Aug 2005
Сообщений: 687
Записей в блоге: 1
Отправить сообщение для Скрипун с помощью ICQ
aea_2004, быстренько оформи код тэгами /// а то не надо злить __etc
__________________
Flash в крови

Старый 13.03.2008, 18:17
qazwsx вне форума Посмотреть профиль Найти все сообщения от qazwsx
  № 10  
Ответить с цитированием
qazwsx
Banned
[+5 15.02.09]
[++5 15.02.09]

Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
Ты его не удаляеш. Его удаляет система т.к на этой глубине уже есть клип

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

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

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


 


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


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