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

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

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Ну так код где?
__________________
тут я

Старый 21.03.2012, 23:43
Nikolay00700 вне форума Посмотреть профиль Отправить личное сообщение для Nikolay00700 Найти все сообщения от Nikolay00700
  № 12  
Ответить с цитированием
Nikolay00700

Регистрация: Dec 2011
Сообщений: 40
Про ошибки - это я напутал...
ошибок нет... но всё также. работает с экземплярами созданными в базовом...

Старый 21.03.2012, 23:45
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 13  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Тогда ждите, набросаю Вам простенький пример уже не на коленке.
__________________
тут я

Старый 21.03.2012, 23:47
Nikolay00700 вне форума Посмотреть профиль Отправить личное сообщение для Nikolay00700 Найти все сообщения от Nikolay00700
  № 14  
Ответить с цитированием
Nikolay00700

Регистрация: Dec 2011
Сообщений: 40
он даже не с теми экземплярами работает... а вообще не поймешь что отображает....
постараюсь сейчас разобраться...
код длинный - может где и напутал...

постараюсь поэкспериментировать на маленьком примере, который написан в этой теме

Добавлено через 3 минуты
спасибо большое...

Старый 21.03.2012, 23:52
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 15  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
test.rar
Вот, полностью рабочий. В родителе создается красный квадрат, в наследнике зеленый. В итоге получаем зеленый.
Для наглядности красный больше, чем зеленый. То есть, если бы все работало не так, он был бы либо над зеленым, либо под, но виден.
__________________
тут я


Последний раз редактировалось КорДум; 21.03.2012 в 23:55.
Старый 22.03.2012, 00:05
Nikolay00700 вне форума Посмотреть профиль Отправить личное сообщение для Nikolay00700 Найти все сообщения от Nikolay00700
  № 16  
Ответить с цитированием
Nikolay00700

Регистрация: Dec 2011
Сообщений: 40
Спасибо большое...
я понял почему у меня ничего не отображалось...

я подразумевал, что init у ребенка будет только заменен частично... а он полностью меняет всё, что было в функции init родителя.

соответственно, addChild у ребенка не писал..

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

здесь ведь не придется и init переписывать у каждого ребенка... и super()...

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

спасибо большое...

Старый 22.03.2012, 00:10
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 17  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Смотрите пример (если нужно в методе вызывать ПОЛНОСТЬЮ и метод родителя):
Код AS3:
override protected function init():void {
    super.init();
    // другой код
}
Но в этом случае метод init у супера сработает весь, частично его не вызывать (разбить на части-методы, а?).
__________________
тут я

Старый 22.03.2012, 00:20
Nikolay00700 вне форума Посмотреть профиль Отправить личное сообщение для Nikolay00700 Найти все сообщения от Nikolay00700
  № 18  
Ответить с цитированием
Nikolay00700

Регистрация: Dec 2011
Сообщений: 40
Вот теперь всё работает...!!! Спасибо!!!
И можно даже super() в конструкторе ребенка не вызывать..

Я так понимаю, что при создании экземпляра класса ребенка. Вызывается конструктор базового, а далее конструктор ребенка...

Раньше я думал, что super() запускает конструктор базового класса...
Теперь вижу, что и без super() всё запускается....

Добавлено через 1 минуту
В базовом классе я вообще убрал создание экземпляра pict.
Он создается только в init у детей....

Старый 22.03.2012, 00:24
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 19  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
И можно даже super() в конструкторе ребенка не вызывать..
Он сам вставится компилятором.
Цитата:
Я так понимаю, что при создании экземпляра класса ребенка. Вызывается конструктор базового, а далее конструктор ребенка...
Поставьте трейсы, чтобы увидеть.
__________________
тут я

Старый 22.03.2012, 01:07
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 20  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Проблема в том, что он работает только с теми экземплярами, которые создал в конструкторе базового класса. А мне нужно, чтобы всё то, что проделывается в конструкторе базового класса, проходило с переменными созданными в детях.
Скармливайте свою переменную суперконструктору в конструкторах классов наследников.

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

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

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


 


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


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