Центр ролика по точке - PullRequest
       10

Центр ролика по точке

1 голос
/ 04 марта 2010

Я динамически загружаю видеоклипы (SWFS) в прикрепленные клипы (из библиотеки). Загруженные фильмы не все имеют центральные точки, это означает, что их точка регистрации не находится непосредственно в его центре. Это создает проблему, когда я загружаю их в прикрепленные клипы, потому что они не центрируются на прикрепленных клипах, что я и хочу, чтобы они делали. Есть ли способ центрировать видеоклип по ширине и высоте вместо точки регистрации?

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 05 марта 2010

Используйте getBounds.

var bounds:Rectangle = loadedClip.getBounds(loadedClip);

bounds.x и bounds.y будут {0,0} для выравниваемого по левому краю мувиклипа. Любое другое значение говорит вам, насколько это не в центре.

Если загруженный клип загруженClip, а его родительский объект - containerClip, будет работать следующее.

loadedClip.x = (container.width - loadedClip.width)/2 - loadedClip.getBounds(loadedClip).x;
loadedClip.y = (container.height - loadedClip.height)/2 - loadedClip.getBounds(loadedClip).y;

Если клипы, задействованные в этом, были масштабированы, то вы должны отрегулировать масштабирование следующим образом:

loadedClip.x = (container.width - loadedClip.width) / 2 - (loadedClip.getBounds(loadedClip).x * loadedClip.scaleX);
loadedClip.y = (container.height - loadedClip.height) / 2 - (loadedClip.getBounds(loadedClip).y * loadedClip.scaleY);

Надеюсь, это поможет.

0 голосов
/ 05 марта 2010

Когда загрузка завершится, вы можете получить ширину и высоту загруженных фильмов и соответственно отрегулировать положение x & y:

function onLoadComplete(){
 loadedmc._x = loadedmc._width/2 * -1;
 loadedmc._y = loadedmc._height/2 * -1;
}
0 голосов
/ 04 марта 2010

Вы можете просто изменить точку регистрации MC для центрирования, используя этот класс: Динамическая регистрация мувиклипа с AS2

...