Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как связать класс с кадрами? (не только импорт) (http://www.flasher.ru/forum/showthread.php?t=215553)

Lofetty 13.05.2018 03:58

Как связать класс с кадрами? (не только импорт)
 
Здравствуйте!
Я понимаю, что есть много всего почитать, но, может, кто-то может на простом примере объяснить, как с помощью класса добавить объект на сцену или перейти к другому кадру по gotoAndPlay?

То есть есть файл fla и отдельно файл класса. Через импорт контактируют друг с другом с экземпляра класса (по trace проверял), а как слайды переключать и фрагментами ролика через класс управлять, не пойму.

Так для чистого примера:

Код на слайде:
stop();
import NewGameClass.Level;
var exemLevel: Level = new Level();
trace(exemLevel.OpenLevel());

Код в классе:
package NewGameClass
{
public class Level
{
public function OpenLevel()
{
return ("200");
}
}
}

Это работает. А если вместо return ("200"); вписать gotoAndPlay("lvl1");
даёт ошибку 1180: вызов предположительно неопределённого метода gotoAndPlay

Wolsh 13.05.2018 08:59

1. Для оформления своего кода используйте теги AS3.
2. Почитать всё-таки придется.
и 3. Лучше привыкайте сразу писать ВЕСЬ код в классах а не в кадрах. Это требует другого мышления, или другой организации, если хотите.

По приведенному коду..
return это не функция, ей не нужен параметр в скобках.
при объявлении функции необходимо указывать тип значения, которое она возвращает (в вашем случае "200" это тип String, значит public function OpenLevel():String { }
ошибкa 1180 возникает потому, что в вашем классе Level нет такого метода gotoAndPlay().


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

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