Здраствуйте.
Пишу арканоид. Пробую использовать классы.
Не получается из одного класса отслеживать что происходит в другом.
Поясню.
Пока самое начало - у меня класса всего три: Main, Ball и Platform.
в Main.as просто добавляется на сцену фон и запускаются (наверное тут другое слово правильнее) остальные два класса.

Код AS3:
private function createScene():void
{
var back_game:MovieClip = new Back_mc(); addChild(back_game);
addChild ( new Platform() );
addChild ( new Ball() );
}
В Platform.as добавляется на сцену платформа для отбивания шарика и привязывается к мышке.

Код AS3:
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
public class Platform extends Sprite
{
private var platform:MovieClip;
public function Platform()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
createPlatform();
stage.addEventListener(MouseEvent.MOUSE_MOVE, platformMouseMove);
this.addEventListener(Event.ENTER_FRAME, platformKeyboardMove);
}
private function createPlatform():void
{
platform = new Platform_mc();
addChild(platform);
platform.x = 300;
platform.y = 445;
}
// двигаем платформу вслед за мышкой
public function platformMouseMove(e:MouseEvent):void
{
platform.x = mouseX - 50;
if (platform.x < 10) { platform.x = 10 }
if (platform.x + 100 > 630) { platform.x = 630 - 100}
}
}
}
И в классе Ball.as всё что связано с шариком. Отскоки его от стен и взаимодействие с платформой.
Вот у меня как раз не получается взаимодействовать с платформой. (см. закомменченную строку в самом низу - это то, как я себе это представлял)

Код AS3:
package
{
import flash.display.*;
import flash.events.Event;
public class Ball extends Sprite
{
private var ball:MovieClip;
private var speedX:int = 3;
private var speedY:int = -3;
public function Ball()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
createBall();
addEventListener(Event.ENTER_FRAME, moveBall);
}
// создаём ball
private function createBall():void
{
ball = new Ball_mc();
addChild(ball);
ball.x = 320;
ball.y = 400;
}
private function moveBall(e:Event = null):void
{
ball.x += speedX;
ball.y += speedY;
// Столкновение со стенкой
if (((ball.x + 4) > 630) || ((ball.x - 4) < 10) )
speedX = - speedX;
if (((ball.y + 4) > 470) || ((ball.y - 4) < 50) )
speedY = - speedY;
// Столкновение с platform
//if (ball.hitTestObject(platform)) speedY = - speedY;
}
}
}
Как же мне увидеть в классе Ball, что мой шарик столкнулся с платформой?