Показать сообщение отдельно
Старый 14.12.2008, 01:36
r4v3r вне форума Посмотреть профиль Отправить личное сообщение для r4v3r Найти все сообщения от r4v3r
  № 1  
Ответить с цитированием
r4v3r
 
Аватар для r4v3r

Регистрация: Dec 2008
Адрес: Апатиты
Сообщений: 13
По умолчанию отдельное управление клипом

только не пинайте, просто пытаюсь разобратся в as3.
в общем есть базовый класс Root, в нем создаются объекты класса Ball. в классе Болл есть функция двигающая эти кружки вниз, при этом если круг вышел за определенную точку, то он перемещается наверх.
по идее если достигнута крайняя точка, то наверх должен перемещатся только один круг, а на деле перемещаются все вместе

Root.as
Код AS3:
package {
	import flash.display.MovieClip;
	import Ball;
 
	public class Root extends MovieClip {
 
		private var ball:Ball;
 
		function Root() {
			var num:uint = Math.random() * 20 + 30;
			for (var i:uint = 1; i < num; i++) {
				ball = new Ball(2);
				addChild(ball);
			}
		}
	}
}
Ball.as

Код AS3:
package {
	import flash.display.*;
	import flash.events.Event;
 
	class Ball extends MovieClip {
 
		private var ball:Shape;
 
		function Ball(radius:Number) {
			ball = new Shape();
			ball.graphics.beginFill(0xFF6666);
			var bx:uint = Math.random() * 550;
			var by:uint = Math.random() * 100;
			ball.graphics.drawCircle(bx, -by, radius);
			ball.graphics.endFill();			
			addChild(ball);
 
			addEventListener(Event.ENTER_FRAME, moveBall);
		}
 
		private function moveBall(event:Event):void {
			y += height;
			if (y > 400) {
				y = 0;
			}
		}
	}
}