PDA

Просмотр полной версии : Как убить Button?


Allien7
25.07.2007, 16:58
Создаю приложение, где по нажатию кнопки экран очищается от mx.controls и MovieClip-ов для того чтобы можно было рисовать по новой. Начал с убивания кнопки.
Задача: убрать Button с экрана и из памяти проигрователя.
В следующем тестовом коде по нажатию на клавишу One клавиша Two должна убиратся с экрана, но этого не происходит.

Прим.1. У меня Macromedia Flash8
Прим.2. Для того чтобы код заработал надо Button выбросить из Components в Library


function addButton(btn_text,y,x)
{
var b = this.createClassObject(mx.controls.Button,btn_text,this.getNextHighestDepth());

b.label = btn_text;
b._x = x;
b._y = y;
}

function OneClick()
{
//_root.removeMovieClip("Two");
_root.destroyObject("Two");
}

function TwoClick()
{
trace("Two");
}

this.onLoad = function()
{
addButton("One", 100,100);
this["One"].addEventListener("click", OneClick);

addButton("Two",130,100);
this["Two"].addEventListener("click", TwoClick);
}

etc
25.07.2007, 17:04
Allien7, отредактируйте свой пост и оформите код тегами .

CorC
26.07.2007, 10:09
swapDepths + removeMovieClip

Kikasso
26.07.2007, 11:03
Ошибка в getNextHighestDepth() . Как написано в мануале, при-использовании-компонентов-юзай-какой-то-там-менеджер, потому что на самом верху, откуда клипы не удаляются, сидит служебный компонентский клип, а ваша кнопка ложится поверх. Либо задавать глубину руками, либо юзать этот менежер, либо перед удалением клипа его переместить пониже - тогда он удалится.