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

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

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

Регистрация: Jan 2009
Сообщений: 60
Отправить сообщение для serenkiy с помощью ICQ
Все, разобрался с Вашим кодом.
Проблема в том, в методе createMainObject (в классе родителя) Вы создаете экземпляр класса MapObject (Он же в свою очередь наследуется от mainObject) Через super Вы вызываете не ту функцию, которая Вам нужна (в родительском объекте), а функцию предка.
Короче говоря, у Вас присутствует в проекте 2 независимых класса - mainObject и MapObject(наследуемый от mainObject). Каждый работает со своими методами. Поэтому разные результаты. Т.к. вы не вызывали метод CreateMainObject() в классе MapObject, то у вас в mc ничего не добавляется и ,следовательно, при countObject результат - 0. Я вижу такое решение:

Родитель:
Код AS3:
package {
 
	import flash.display.MovieClip;
 
        public class mainMap
       {
	         public var mc:MovieClip = new MovieClip();
 
                 public function createMainObject():void
	 	 {
			for(var i:uint=0; i<5; i++) {
				var clip:MovieClip = new MovieClip();
				mc.addChild(clip);
			}
			countObj();
                        var obj:MapObject = new MapObject();
                        obj.createMapObject(this);
                 }
 
                 public function countObj():void
	 	 {
                        trace(mc.numChildren);
                 }         
        }
}
Дочерний:
Код AS3:
package {
    public class MapObject extends mainMap
    {
         public function createMapObject(p:mainMap):void
	 {
               p.countObj();
         }        
    }
}
Я проверил, у меня все работает.

Старый 16.03.2009, 14:53
RaVeN-Nikma вне форума Посмотреть профиль Отправить личное сообщение для RaVeN-Nikma Посетить домашнюю страницу RaVeN-Nikma Найти все сообщения от RaVeN-Nikma
  № 12  
Ответить с цитированием
RaVeN-Nikma

Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
serenkiy Спасибо, действительно теперь все работает как надо. Спасибо

Старый 16.03.2009, 15:24
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 13  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
По умолчанию вызов методов суперкласса

предыдущий код никак не относится к вызову метода суперкласса
вот пример из официального руководства
Код AS3:
package { 
    import flash.display.MovieClip; 
    public class SuperExample extends MovieClip 
    { 
        public function SuperExample() 
        { 
            var myExt:Extender = new Extender() 
            trace(myExt.thanks()); // output: Mahalo nui loa 
        } 
    } 
} 
 
class Base { 
    public function thanks():String 
    { 
        return "Mahalo"; 
    } 
} 
 
class Extender extends Base 
{ 
    override public function thanks():String 
    { 
        return super.thanks() + " nui loa"; 
    } 
}
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 16.03.2009 в 23:15.
Старый 16.03.2009, 15:54
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 14  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
Код:
// output: Mahalo nui loa
это по-индусски?

Старый 16.03.2009, 17:40
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 15  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
что-то гавайское.. типа большое спасибо.
__________________
Отряд Котовскага

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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