Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   лишний this / заменить this (http://www.flasher.ru/forum/showthread.php?t=93765)

Slavik2003 28.03.2007 13:39

лишний this / заменить this
 
Код:

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

Цитата:

Сообщение от Slavik2003
__etc
Люди сами себя в заблуждение вводят когда не отвечают на конкретно заданный вопрос КАК, вместо него задаю.т вопрос "зачем"

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


Часовой пояс GMT +4, время: 03:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.