Показать сообщение отдельно
Старый 01.07.2007, 02:40
xintrea вне форума Посмотреть профиль Отправить личное сообщение для xintrea Посетить домашнюю страницу xintrea Найти все сообщения от xintrea
  № 7  
Ответить с цитированием
xintrea
 
Аватар для xintrea

Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
Цитата:
Сообщение от __etc
Названия классов должны начинаться с прописной (заглавной) буквы, ни больше, ни меньше.

MovieClip не создается через конструктор, клипы с классом создаются через attachMovie. Так что был создан объект, но это не MovieClip.
Названия классов и файлов переделал.

Подключение Gamerender теперь делаю так

Код:
class Application 
{
  private var scopeRef:MovieClip;
         
  function Application(scope:MovieClip) 
   {
    scopeRef = scope;

    var gamerenderinstance:Gamerender=new Gamerender();
    scopeRef.attachMovie("gamerenderinstance","gamerenderins");
    scopeRef.gamerenderins.printthis();
  }

  static function main() 
   {                
    var appinstance:Application = new Application(_root);
   }
}
В классе Gamerender метод printthis() такой

Код:
class Gamerender extends MovieClip
{

 function Gamerender () {
   Flashout.info("Gamerender constructor, this "+this);   
   this.gameinit();
 }

 function gameinit()
  {
   Flashout.info("Gameinit start, this "+this);
  }

 function printthis()
  {
   Flashout.info("Gamerender print this "+this);
  } 

}

Все это компилится без ошибок. Но! Судя по логу, вызова метода printthis() не происходит. Лог такой

Gamerender constructor, this [object Object]
Gameinit start, this [object Object]

а "Gamerender print this ..." нету. То есть ничего с приаттаченыйм мувиком сделать не могу. Чего еще я не учел? Какой всеже правильный код подключения класса как мувика?

PS: Да, приписал методу printthis ключевое слово public. Ничего не изменилось, он всеравно не вызывается.
__________________
Со всяческими пожеланиями, Xintrea.
https://webhamster.ru


Последний раз редактировалось xintrea; 01.07.2007 в 02:53.