Доброе время суток. Пишу класс:

Код AS1/AS2:
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 положительные.
Профи, будьте добры, подскажите, что я не так делаю? Заранее благодарен.