Actionscript Movieclip исчезают - PullRequest
       2

Actionscript Movieclip исчезают

0 голосов
/ 11 ноября 2010

В данный момент я борюсь с чем-то довольно простым во флэш-памяти.

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

Если я исчезну из верхнего мувиклипа, я не ожидаю никаких изменений, но по какой-то причине я вижу, что исчезновение происходит.

Этонапример, ActionScript самостоятельно затухает в суб-видеоклипах.

Кто-нибудь знает, как обойти это?Я вообще не хочу видеть никакого затухания.

Редактировать:

Кажется, людям трудно понять, с чем у меня проблемы.Вот действительно простой пример в коде:

var format:TextFormat = new TextFormat();
format.size = 100;
format.color = 0xFFFFFF;

// create a red square with text inside
var x:MovieClip = new MovieClip();
x.graphics.beginFill(0xCC0000);
x.graphics.drawRect(0, 0, 400, 400);
x.graphics.endFill();
var x_txt:TextField = new TextField();
x_txt.text = "hello";
x_txt.width = 500;
x_txt.setTextFormat(format);
x.addChild(x_txt);
addChild(x);


// create a red square with text inside
var y:MovieClip = new MovieClip();
y.graphics.beginFill(0xCC0000);
y.graphics.drawRect(0, 0, 400, 400);
y.graphics.endFill();
var y_txt:TextField = new TextField();
y_txt.text = "hello";
y_txt.width = 500;
y_txt.setTextFormat(format);
y.addChild(y_txt);
addChild(y);

y.alpha = 0.5;

Насколько я могу судить, нет никакого смысла в том, что отображаемый текст не должен быть чисто белым.

Вместо этого он выглядит каквыцветший белый.http://www.mikeefranklin.co.uk/Test2.swf

Редактировать 2:

I've decided to grab the bitmap data and add that instead. it's not ideal, but does what I was looking for.

var format:TextFormat = new TextFormat();
format.size = 100;
format.color = 0xFFFFFF;


// create a red square with text inside
var x:MovieClip = new MovieClip();
x.graphics.beginFill(0xCC0000);
x.graphics.drawRect(0, 0, 400, 400);
x.graphics.endFill();
var x_txt:TextField = new TextField();
x_txt.text = "hello";
x_txt.width = 500;
x_txt.setTextFormat(format);
x.addChild(x_txt);


var xbmpd:BitmapData = new BitmapData(x.width, x.height);
xbmpd.draw(x);
addChild(new Bitmap(xbmpd));


// create a red square with text inside
var y:MovieClip = new MovieClip();
y.graphics.beginFill(0xCC0000);
y.graphics.drawRect(0, 0, 400, 400);
y.graphics.endFill();
var y_txt:TextField = new TextField();
y_txt.text = "hello";
y_txt.width = 500;
y_txt.setTextFormat(format);

y.addChild(y_txt);

var ybmpd:BitmapData = new BitmapData(y.width, y.height);
ybmpd.draw(y);
addChild(new Bitmap(ybmpd));


y.alpha = 0.5;

Редактировать 3:

Установка blendMode в BlendMode. Кажется, что слойвместо этого делайте работу, что приятно.

Ответы [ 3 ]

1 голос
/ 11 ноября 2010

Если вы только хотели, чтобы этот верхний фрагмент ролика исчезал без слоя прозрачности поверх нижнего фрагмента ролика, вы можете просто изменить blendMode на Overlay, прежде чем применять альфа.

y.blendMode = BlendMode.OVERLAY;у альфа = 0,5;

Неважно, кажется, вы нашли его xD

0 голосов
/ 11 ноября 2010

Проблема в том, что в MovieClip есть два объекта. Вы должны понимать, как flash обрабатывает альфа-прозрачность для MC. У каждого ребенка в y есть aplha 0.5. что означает, что вы увидите немного красного через привет y. и этот красный покрывает привет х.

Вы можете установить видимость красной формы по y на false. тогда вы не увидите исчезновение.

0 голосов
/ 11 ноября 2010

Вы создаете два отдельных мувиклипа или дважды используете одну и ту же ссылку? У мувиклипа может быть только один родитель, поэтому если вы делаете это так:

container.addChild (тс); container.addChild (тс);

Будет существовать только один мувиклип. Это может объяснить, почему вы видите замирание, потому что за мувиклипом, за которым вы замираете, нет видеоклипа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...