У меня есть система меню, которую я создал во Flash, которая позволяет вам выбирать элемент и перемещать его вверх или вниз. Если объект удален из меню, я хочу, чтобы выбранный элемент был установлен в нуль, поэтому он больше не будет пытаться перемещаться.Flash AS3 - объект не получает значение null
У меня есть глобальные (для текущего вИДЕО сроки) переменная:
var selectedPlaylistItem:MovieClip;
Это магазины, какой пункт меню выбран (пункты меню только в кино клипы), и если этот элемент будет удален, я поставил выбранный элемент нуль:
function removeFromPlaylist(sender:playlist_content_item) {
if(sender == selectedPlaylistItem) {
//Not sure why this isn't working, but at some point I need to figure it out.
selectedPlaylistItem = null;
trace(selectedPlaylistItem);
это след покажет нуль без каких-либо проблем, но в моей следующей функции, которая перемещает элементы вверх, после того как я поставил его в нулевое значение, по-прежнему установлен на объекте, что это было до его удаления:
function playlistUp(sender:MovieClip) {
trace(selectedPlaylistItem);
Эта трасса покажет оригинальный объект.
Кто-нибудь знает, почему это не сработает? Почему бы просто не остаться нулевым после того, как он был установлен таким образом?
Благодаря
UPDATE:
Так что я попытался это, чтобы увидеть, если бы я мог понять, что происходит:
this.selectedPlaylistItem = null;
trace(selectedPlaylistItem);
setTimeout(function() {trace(selectedPlaylistItem);}, 4000);
Но когда след происходит спустя 4 секунды, его говорит, что это все еще выбранный объект, хотя след сразу же показывает его как null, и я везде искал код, но нигде он не будет сброшен.
Я подозреваю, что вы сосредоточиваете много энергии на части, которая устанавливает ее в нуль и не замечает реальной проблемы. Вероятно, он сбрасывается на ненулевой другим кодом, который вы не отслеживаете. – jsight
Опубликовать весь сценарий. Скорее всего, что-то простое, что вы просто посмотрели на него так долго. – typeoneerror