Показать сообщение отдельно
Старый 17.04.2013, 16:39
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 1  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
Question Способы обращение к мувиклипу изнутри его таймлайна

Всем привет. Очередной нуб-вопрос "на понимание".

Есть однофреймовый проект. Есть мувиклип шарика (имя экземпляра circle1_mc).
Внутри мувиклипа два слоя, на первом слое такой код:

Код AS3:
stop();
 
import flash.events.Event;
 
addEventListener(Event.ENTER_FRAME, onEnter);
 
function onEnter(e:Event):void
{
	x++;
	y++;
}
Он работает, шарик летит по диагонали.

Однако возникают некоторые общие вопросы...

1. Почему мы нигде не обьявляем x и y, и при этом никакой ошибки "я не знаю что такое x" нет?
Могу предположить, что эти строки автоматически переводятся в this.x++ и this.y++, однако почему, например функция onEnter не закрывает видимость этих переменных от самого мувика? То есть функция могла бы "рассуждать" так: есть локальные переменные, они не объявлены, ничего не знаю - ошибка.

2. Можно ли как-то более явно указать эти координаты?
Я попробовал так:
Код AS3:
circle1_mc.x++;
circle1_mc.y++;
и так:
Код AS3:
stage.circle1_mc.x++;
stage.circle1_mc.x++;
но такие варианты как раз и не работают, возникают ошибки типа такой:
Цитата:
1119: Access of possibly undefined property circle1_mc through a reference with static type flash.display:Stage.
То есть, я догадываюсь, что надо как-то сначала указать стэйдж, но каким образом это сделать грамотно в AS3 не прибегая к внешним класс-файлам? И сколько есть способов такого обращения?

P.S. C классами мне покамест не очень комфортно, хотелось бы также узнать базовые вещи фрэймового кодинга.