Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.12.2011, 20:22
maloun365 вне форума Посмотреть профиль Отправить личное сообщение для maloun365 Найти все сообщения от maloun365
  № 1  
Ответить с цитированием
maloun365
 
Аватар для maloun365

Регистрация: Dec 2011
Адрес: в Перми
Сообщений: 33
По умолчанию Вызов функции одного класса из другого

Доброго всем времени суток.
Хочу из сцены fla файла вызывать функцию класса которая в свою очередь вызывает функцию ещё одного класса, но как всегда ниче не выходит!
Код AS1/AS2:
class GameTank.GameEngine{
	var field:GameTank.Battlefield;
	var CreateLvl1 = function(scene:MovieClip){ // в scene пишется _root 
		field.DrowField(scene,30,20,9,7,50);
		};
}
это код класса который по задумке в функции CreateLvl1 вызывает как раз ту самую функцию друго класса(DrowField). Кстати без класса посредника эта функция призамечательно работет. Может быть я неправильно объявил второй класс (Battlefield)?
в функции DrowField я рисую на сцене (lineTo, moveTo)...

Пробовал объявлять по другому, но эффект тот же самый:
Код AS1/AS2:
	function CreateLvl1(scene:MovieClip){
		field.showmessage();// function showmessage(){trace("2")}
        }
Добавлено через 17 часов 22 минуты
вообще использование одного класса другим возможно или я тут какую-то чушь несу?

Добавлено через 20 часов 9 минут
на самом деле просто не вызывается метод CreateLvl1 !!!
или вызывается не правильно, в общем проблема не в содержимом функции, а в работе с ней

Добавлено через 20 часов 41 минуту
выход найден! частично...
оказывается всё дело было в том, что имя класса нужно писать только с одной большой буквой, если написать две как было у меня (GameEngine), то работать класс не будет,
но проблема с объявлением внутри класса всё ещё осталась!
Цитата:
Gameengine.as: Строка 2: A class's instance variables may only be initialized to compile-time constant expressions.
var field:GameTank.Battlefield = new GameTank.Battlefield();
т.е. по нормальному
Код AS1/AS2:
var field:GameTank.Battlefield = new GameTank.Battlefield();
-не компилится
за то компилится с
Код AS1/AS2:
var field:GameTank.Battlefield;
при этом также неработая


Последний раз редактировалось maloun365; 08.12.2011 в 17:20.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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