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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 11.11.2006, 03:10
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 1  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
По умолчанию createClassObject, destroyObject и TextInput - проблемы с удалением компонента

Вот, пытался написать пример для пользователя, создавшего тему http://flasher.ru/forum/showthread.php?t=87732 и наткнулся на нехорошую проблему.
Вот код:
Код:
import mx.controls.Label;
import mx.controls.TextInput;

var createLabelsButtonClipName:String = "createLabelsButton";
var createLabelsButtonLeft:Number = 10;
var createLabelsButtonTop:Number = 10;
var createLabelsButtonColor:Number = 0xffff00;
var createLabelsButtonSize:Number = 60;

var labelsBaseName:String = "myLabel";
var labelsNumber:Number = 10;
var labelsInterval:Number = 20;
var labelsLeft:Number = 100;
var labelsTop:Number = 100;
var labelsBaseText:String = "Lorem Ipsum ";

var textInputsSuffix:String = "TextInput";

var myButton:MovieClip = createRectangleMovieClip(createLabelsButtonClipName, this, this.getNextHighestDepth(), createLabelsButtonLeft, createLabelsButtonTop, createLabelsButtonSize, createLabelsButtonSize, createLabelsButtonColor, 100);

myButton.onRelease = function()
{
	for (var index:Number = 0; index < labelsNumber; index ++)
	{
		var newLabelName:String = labelsBaseName + index;
		var newLabel:Label = this._parent.createClassObject(Label, newLabelName, this._parent.getNextHighestDepth());
		newLabel.autoSize = "left";
		newLabel.text = labelsBaseText + index;
		newLabel.useHandCursor = true;
		newLabel.move(labelsLeft, labelsTop + index * labelsInterval);
		newLabel.onRelease = function()
		{
			var newTextInputName:String = this._name + textInputsSuffix;
			var newTextInput:TextInput = this._parent.createClassObject(TextInput, newTextInputName, this._parent.getNextHighestDepth());
			newTextInput.text = this.text;
			newTextInput.move(this._x, this._y);
			newTextInput.setSize(this._width, this._height);
			destroyObject(this._name);
		};
	}
}

function createRectangleMovieClip(newName:String, parentClip:MovieClip, parentClipDepth:Number, newX:Number, newY:Number, newWidth:Number, newHeight:Number, newColor:Number, newAlpha:Number):MovieClip
{
	var newClip:MovieClip = parentClip.createEmptyMovieClip(newName, parentClipDepth);
	newClip.beginFill(newColor);
	newClip.moveTo(0, 0);
	newClip.lineTo(newWidth, 0);
	newClip.lineTo(newWidth, newHeight);
	newClip.lineTo(0, newHeight);
	newClip.lineTo(0, 0);
	newClip.endFill();
	newClip._x = newX;
	newClip._y = newY;
	newClip._alpha = newAlpha;
	return newClip;
}
В библиотеке компоненты Label и TextInput.

Но почему-то не удаляется метка с помощью строки
Код:
destroyObject(this._name);
Насколько я понял, в функцию нужно передавать имя экземпляра компонента. Почему не проходит такой вариант?
Исходник не прикрепляю, ибо из-за компонентов он не уместится в один архив, а два мне делать лень. ^_^

PS:
Ещё хотел спросить по поводу метода createClassObject. Везде встречал такой синтаксис:
Код:
componentInstance.createObject(linkageName, instanceName, depth, initObject)
Что такое componentInstance? Это мувиклип, в котором будет создан компонент? Или нет?
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого


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

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

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


 


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


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