PDA

Просмотр полной версии : лишний this / заменить this


Slavik2003
28.03.2007, 13:39
var a:String ="b"

Key.addListener(this);
this.onKeyDown = function() {
if (Key.isDown(39)) { this.loadMovie ([this.a + ".jpg"], 1); }
};

И в слушателе и в подгрузке есть this
Надо заменить в слушателе или в подгрузке на что-то другое

МОжет кто поможет

iNils
28.03.2007, 13:45
Зачем менять?
Кстати синтаксис loadMovie у вас не правильный, если перед loadMovie стоит мувиклип (в данном случаи this), то 1 послы ссылке не нужна.

Slavik2003
28.03.2007, 14:04
iNils
> Зачем менять?

Не работает

iNils
28.03.2007, 14:10
А у меня работает. Если тестируете в IDE, то для работы Enter, нужно выбрать галочку в плеере Control > Disabled Keyboard Shortcuts

Slavik2003
28.03.2007, 14:30
Nils
Функция работает только один раз

ДОКАЗАТЕЛЬСТВО

var a:String ="b"

Key.addListener(this);
this.onKeyDown = function() {
if (Key.isDown(39)) { this.loadMovie ([this.a + ".jpg"], 1); }
if (Key.isDown(40)) { trace("ok"); }
};

Попробуй(можно на ты?) подгрузить фотку, а потом вызвать трасе

etc
28.03.2007, 14:32
Естесственно, после loadMovie все существующие функции и свойства будут убиты.
Грузить надо не в this, а ещё куда-нибудь.

Slavik2003
28.03.2007, 14:46
Удалось

var a:String ="b"

createEmptyMovieClip("c",1)

Key.addListener(this);
this.onKeyDown = function() {
if (Key.isDown(39)) { с.loadMovie ([this.a + ".jpg"], 1); }
};

Работает


Прежде я пытался так-же, но заменил и второй this который выделен



.

etc
28.03.2007, 14:58
Ну естесственно, что работает. Нужно было написать, что работает один раз сразу, в первом посте, а не вводить людей в заблуждение.
Разберитесь, что есть this.

Slavik2003
28.03.2007, 15:57
__etc
>а не вводить людей в заблуждение

Помогающий должен ответить на вопрос КАК, не задавая "зачем"

etc
28.03.2007, 16:00
__etc
Люди сами себя в заблуждение вводят когда не отвечают на конкретно заданный вопрос КАК, вместо него задаю.т вопрос "зачем"
Нет, это вы ввели в заблужение, не до конца сформулировав вопрос и то, что трейс работает один раз и это есть проблема сказали уже гораздо позже.

iNils
28.03.2007, 16:01
__etc
Люди сами себя в заблуждение вводят когда не отвечают на конкретно заданный вопрос КАК, вместо него задаю.т вопрос "зачем"Потому, что большенство вопросов изначально приведут к тупику или тема вопроса является нерациональной.