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

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

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

Регистрация: Feb 2011
Сообщений: 100
Attention Как обратится к объекту на сцене, который сделан в редакторе

Дело происходит в Flash CS5. Добавляю на сцену во второй кадр символ CarClip, пишу ему имя _carClip, ставлю в опциях "импорт в скрипт", "импорт во второй кадр". В коде пытаюсь присвоить ссылку на него в поле одного из классов, конкретно код такой:
Код AS3:
class Game extends MovieClip {
 
    public var carClip: CarClip;
 
    public function Game() {
 
        this.carClip = _carClip;      //_carClip это имя объекта на сцене, который мы по идее видим
 
    }
}
Но флеш ругается при компилировании, пишет что он не знает про _carClip.
Для полноты картины надо добавить, что Game я создаю тоже во 2-м кадре, вот код главного класса документа:
Код AS3:
class Main extends MovieClip {
 
    public function start(): void {
 
        gotoAndStop(2);
        new Game();
 
    }
}
Помогите пожалуйста. Да, есть ещё один вопрос по поводу всех этих имён. Я хочу, чтобы у меня поле в классе Game называлось так же, как и объект на сцене, т.е. carClip на сцене и в классе поле такое же:
Код AS3:
class Game extends MovieClip {
 
    public var carClip: CarClip;
 
    public function Game() {
 
        this.carClip = carClip;      //carClip это внешний объект
 
    }
}
Но при таком написании флеш считает carClip внутренним полем объекта и присваивает его сам себе. Есть возможность как-то указать что это внешний объект?

Старый 17.02.2011, 01:59
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 2  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
1. В настройках AS3 снимите галку "Automatically declare stage instances", и никогда больше не ставьте. В будущем избавит от подобных проблем.
2. Метод Main.start() не выполнится автоматически. Вы наверняка хотели сделать его конструктором и назвать Main.
3. Прочтите документацию по DisplayObjectContainer.getChildByName
4. Почитайте про области видимости переменных в AS3

После этого вы поймете, что нужно исправить, и почему сейчас флэш так себя ведет.
__________________
тонкий тролль, осеянный благодатью

Старый 17.02.2011, 13:22
botbot вне форума Посмотреть профиль Отправить личное сообщение для botbot Найти все сообщения от botbot
  № 3  
Ответить с цитированием
botbot

Регистрация: Feb 2011
Сообщений: 100
Цитата:
Сообщение от GAIKER Посмотреть сообщение
2. Метод Main.start() не выполнится автоматически. Вы наверняка хотели сделать его конструктором и назвать Main.
Ну про это вопроса небыло, я просто только кусок класса привёл, чтобы в лишнем коде не пришлось разбираться, там start() во 2-м кадре вызываться должен. По остальным ответам - спасибо, ушёл разбираться!

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
1. В настройках AS3 снимите галку "Automatically declare stage instances", и никогда больше не ставьте. В будущем избавит от подобных проблем.
Я, наоборот, всегда ставлю если нужно получить swc/swf ресурсов.
__________________
Отряд Котовскага

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

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

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


 


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


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