Созданный эффект Flash, появляющийся поверх объектов верхних слоев - PullRequest
1 голос
/ 27 мая 2011

Я создал эффект «снег» с помощью связанного урока, в основном он манипулирует экземпляром объекта на холсте и вызывает скрипт в действиях при загрузке анимации.

Однако я не могу заставить сгенерированный снег показываться позади любых других объектов на холсте.

http://www.kirupa.com/developer/mx/snow.htm

enter image description here

Вы можете видеть из изображения слои RedBox и Border над слоем SnowFlakes, я хочу, чтобы они были впереди. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 31 мая 2011

В ActionScript 2.0 вы можете посмотреть код глубины для movieClips, единственный, который я знаю по макушке, это movieClip.swapDepth(mc2); Вы можете сделать mc2 самым высоким (самым верхним) мувиклипом во всей анимации. но я уверен, что в Google вы найдете некоторый код глубины для ActionScript 2.0, где вы можете поместить его поверх, не меняя его глубину чем-то другим.

0 голосов
/ 27 мая 2011

FlashList Flash работает как массив без пустых значений. Если у вас есть 10 различных экранных объектов в списке отображения, каждый из них будет заполнять позицию индекса 0-9. 0 будет занимать самый нижний слой, до 9, который, как представляется, будет плавать над всем остальным.

Итак, чтобы ваш слой SnowFlakes был размещен под всем остальным, вам нужно убедиться, что он имеет индекс 0 или, по крайней мере, ниже всего остального, в данном случае ваш redbox и border.

Как объекты "снежный фальшивка" добавляются в список отображения? Убедитесь, что хлопья добавляются к правильному объекту отображения:

var flake:SnowFlake = new SnowFlake();
SnowFlakeLayer.addChild(flake); 

и этот объект находится на правом слое

addChildAt(SnowFlakeLayer,0);

Я не смотрел учебник, и вы не опубликовали никакого кода, но я думаю, вы неправильно добавляете хлопья в SnowFlakeLayer. Предполагая, что все остальное правильно выложено, это ваша проблема.

...