Вопрос знатокам Flash, removeMovieClip

um-seo
На сайте с 20.02.2008
Offline
109
801

Добрый день, Пишу класс:

class dec2Bin
{
private var gl_x = 50
private var gl_y = 60
private var iteration = 0
private var canvas = null
private var number = 0

function dec2Bin(num_x, num_y)
{
_root.canvas.removeMovieClip()
number = Math.round(Math.random()*10000)/10000
canvas = _root.createEmptyMovieClip('canvas', _root.getNextHighestDepth());
canvas._y = 15
canvas._x = 0

initDisplay(gl_x, gl_y)
}

private function initDisplay(num_x, num_y)
{
drawNumber(num_x, num_y, number + " = 0.", "init_number")
}

private function drawNumber(num_x, num_y, num, name)
{
var mc = canvas.createEmptyMovieClip(name, canvas.getNextHighestDepth());
mc._x = num_x
mc._y = num_y
num_x = 0
num_y = 0
for (var i = 0; i < num.length; i++) {
if (num.substr(i, 1) == " ") {
num_x += 25
} else {
var mv = mc.attachMovie("movbtn0", "num_" + i, mc.getNextHighestDepth(), {_x:num_x, _y:num_y})
mv.label.text = num.substr(i, 1)
num_x += 25
}
}
}

}

В конструкторе _root.canvas.removeMovieClip() не хочет удалять канвас.

canvas.init_number удаляется только один раз. Все depth положительные.

В чем может быть проблема?

Покупаю мобильный трафик на очень привлекательных условиях! Все подробности в ЛС. За большой объем vip условия.
T.R.O.N
На сайте с 18.05.2004
Offline
314
#1

Попробуйте перед

_root.canvas.Clear()

_root.canvas.removeMovieClip()

кажется так было в mx2004

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
um-seo
На сайте с 20.02.2008
Offline
109
#2
T.R.O.N:
Попробуйте перед
_root.canvas.Clear()
_root.canvas.removeMovieClip()
кажется так было в mx2004

Нет, к сожалению это не заработает. Спс, что откликнулись, проблема срочная..... Может есть еще какие либо варианты?

Gipperion
На сайте с 03.10.2006
Offline
80
#3

Я конечно не очень знаю, как этот код используется в программе, но кажется что вы пытаетесь удалить несозданный canvas, т.к. его создание происходит двумя строчками ниже. Не может ли данная попытка приводить к ошибке флеша и отказе выполнять данную функцию?

Опыт - это такая штука, которая приходит сразу после того, как была нужна.
um-seo
На сайте с 20.02.2008
Offline
109
#4

Gipperion, спасибо, но нет. Разобрались с проблемой! создаем новый канвас на той же глубине, что и старый:

canvas = _root.createEmptyMovieClip('canvas', _root.canvas.getDepth());

зы: может пригодиться кому - нибудь!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий