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

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

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

Регистрация: Jun 2013
Сообщений: 12
По умолчанию изменение свойств мувиклипа не из главного класса

на рабочей области есть спрайт Fon.
єсть главный класс А, из него вызывается функция в классе В в которой присваиваю Fon.visible значение true
1120: Обращение несуществующего свойства Fon.
понимаю что скорее всего неправильно доступаюсь к спрайту, но никак не пойму как правильно

Старый 12.12.2013, 06:32
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 2  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
для этого нужно в класс B передать ссылку на Fon, когда создаете класс B:

Код AS3:
//в главном классе передаем ссылку на фон внутрь класса B
var b:B = new B(Fon);
 
//в классе B 
private var _fon:Fon;
//конструктор
public function B(fon:Fon){
//сохраняем ссылку на фон
     _fon = fon;
 
}
// функция для того чтобы фон исчез
public function hideFon():void{
   //по сохраненной ссылке делаем фон невидимым
    _fon.visible = false;
}


Последний раз редактировалось Isfet; 12.12.2013 в 07:13.
Старый 15.12.2013, 02:36
NazNaz вне форума Посмотреть профиль Отправить личное сообщение для NazNaz Найти все сообщения от NazNaz
  № 3  
Ответить с цитированием
NazNaz

Регистрация: Jun 2013
Сообщений: 12
1046: Тип не найден или не является константой времени компиляции: Fon
ругается на:
Код AS3:
public function B(fon:Fon){
что может быть не так?

Старый 15.12.2013, 02:46
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 4  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Вот что говорит справка
Цитата:
1046 Тип не найден или не является константой периода компиляции: %s.
Класс, использованный в качестве объявления типа, неизвестен или является выражением, значения которого во время выполнения отличались. Убедитесь в том, что вы импортируете верный класс и что место расположения его пакета не изменилось. Также убедитесь в том, что пакет, содержащий код (не импортированный класс), определен верно (например, проверьте, не использовали ли вы синтаксис пакета ActionScript 2.0 вместо ActionScript 3.0).
Это также может иметь место при обращении к классу, который не определен в используемом пространстве имен или не объявлен как public:

public class Foo{}
Если используется Flex™ Builder™ 2 и класс содержится в библиотеке, то в проекте необходимо указать путь к данному классу.
Скорее всего вы не импортировали класс Fon в классе B.

Старый 15.12.2013, 03:00
NazNaz вне форума Посмотреть профиль Отправить личное сообщение для NazNaz Найти все сообщения от NazNaz
  № 5  
Ответить с цитированием
NazNaz

Регистрация: Jun 2013
Сообщений: 12
alexandrratush , Fon ето название мувиклипа, есть главный класс А который я импортировал

Старый 15.12.2013, 03:25
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 6  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
А класс В?
Если вы передаете в него ссылку на Fon, то в классе B нужно импортировать Fon.
Лучше покажите код класса В, так будет быстрее.

Старый 15.12.2013, 03:37
NazNaz вне форума Посмотреть профиль Отправить личное сообщение для NazNaz Найти все сообщения от NazNaz
  № 7  
Ответить с цитированием
NazNaz

Регистрация: Jun 2013
Сообщений: 12
я чет запутался...делал так, как в примере выше
Код AS3:
package {
	import flash.display.Sprite;
	import А;
public class В extends Sprite  {
		private var _Fon:Fon;
 
		public function В (fon:Fon) {
			_Fon = fon;
      _Fon.visible=true;
		}
}

Старый 15.12.2013, 12:19
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 8  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Вам нужно связать ваш мувик Fon с классом ActionScript, сделать это можно в:
Цитата:
библиотеке->ваш мувик->свойства->поставить галочку Экспорт для ActionScript и в первый кадр.

Старый 15.12.2013, 14:52
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Зачем? Без этого visible не доступно что ли?
Код AS3:
public function В (fon:DisplayObject) {
fon.visible = true;
}
К чему импортировать все кастомное, тем более если это просто подкласс мувиков в IDE, не имеющий вообще никаких особенностей, кроме изображения/анимации? Зачем жестко связывать все классы там, где в этом нет необходимости?
__________________
Reality.getBounds(this);

Старый 15.12.2013, 14:57
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 10  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Wolsh да вы правы, я это упустил из виду. Запутался немного с этими классами А и В.

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

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

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


 


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


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