Показать сообщение отдельно
Старый 14.12.2008, 10:19
ZlPredator вне форума Посмотреть профиль Отправить личное сообщение для ZlPredator Найти все сообщения от ZlPredator
  № 3  
Ответить с цитированием
ZlPredator

Регистрация: Nov 2008
Сообщений: 65
Потому что у Вас все клипы начинают с координат (0,0). Вы задаёте координаты вложенным фигурам а не клипам.

И вообще, лучше так не писать. Если вам необходимо что-то рисовать - рисуёте прямо у клипа, зачем для этого создавать Shape. Если Вам не нужны кадры анимации, то используйте Sprite, а не MovieClip (или тот же Shape, если нету вложенных клипов).

Так должно работать:

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


Последний раз редактировалось ZlPredator; 14.12.2008 в 10:21.