![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2008
Сообщений: 15
|
Доброе время суток. Пишу класс:
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 } } } } canvas.init_number удаляется только один раз. Все depth положительные. Профи, будьте добры, подскажите, что я не так делаю? Заранее благодарен. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
removeMovieClip работает для клипов, созданных на сцене каким-либо программным методом, в смысле вы ручками клип клали на сцену?
![]() |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 15
|
Я весь код привёл. Всё делается исключительно программно.
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
У меня ваш код работает, строчки не накладываются друг на друга. Или я неправильно вас понял?
|
|
|||||
|
Регистрация: Nov 2008
Сообщений: 15
|
При каждом создании объекта _root.d2b = new dec2Bin старый объект должен удаляться со всеми мувиклипами. Вот я и пытаюсь удалить основной мувиклип canvas, в котором остальные создаются, при каждом создании экземпляра класса.
Последний раз редактировалось vorbiz; 12.12.2008 в 12:53. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Ну так он удаляется.
var bb = new dec2Bin(100, 100); but.onRelease = function(){ var ss = new dec2Bin(100, 100); } |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 15
|
Странно всё это. Почему у меня не удаляется тогда? as2 под 8 флеш компилю. студия - cs4.
И кстати, проверьте в 3 раз. Просто я пытался удалять init_number и он после первого раза удалятся, а после второго уже нет. И вот ещё. Проверьте дебаггером. Оно может накладваться, просто незаметно это. Объект не уничтожается. Последний раз редактировалось vorbiz; 12.12.2008 в 13:03. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
а trace(_root.canvas) после ремува что говорит?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 15
|
_level0.canvas - до
_level0.canvas - и после |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
а теперь также до и после romove трейс, только trace(_root.canvas.getDepth())
Есть подозрение, что у Вас там несколько канвасов получается и первый не удалился.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|