мувиклип странно перепродает - PullRequest
0 голосов
/ 31 августа 2011
var pic0ldr:Loader = new Loader();
var thumb0Req:URLRequest = new URLRequest("0.jpg");
pic0ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, function(evt:Event){onComplete(evt, "stgW","stgH")});
pic0ldr.load(thumb0Req);

function onComplete(event:Event,stgW,stgH):void {
this[stgW] = event.target.content.width;
this[stgH] = event.target.content.height;
placeem("stgW","stgH");
}

function placeem(stgW,stgH):void {

leftmask_mc.height = this["stgH"];
leftmask_mc.width = this["stgW"];
pic0ldr.y = -this["stgH"];
pic0ldr.x = -this["stgW"];

trace(leftmask_mc.width,leftmask_mc.height,pic0ldr.height,pic0ldr.width);//500 707 707 500


leftmask_mc.addChild(pic0ldr);  //strange resize

leftmask_mc.height = this["stgH"];//
leftmask_mc.width = this["stgW"]; // normal again, without 569.25 845.55 707 500

trace(leftmask_mc.width,leftmask_mc.height,pic0ldr.height,pic0ldr.width);
}

Вы можете задаться вопросом, зачем мне нужны данные ширины и высоты для изменения размера моего видеоклипа, но я загружаю много фотографий, и мне нужно получить максимальную высоту и ширину

Ответы [ 2 ]

0 голосов
/ 01 сентября 2011

На самом деле понятия не имею, что вы спрашиваете в своем вопросе.Но я скажу вам, ваш пример кода ужасен, вы повсеместно используете функции и даже используете безымянные функции.

leftmask_mc.height = this["stgH"];
leftmask_mc.width = this["stgW"];
pic0ldr.y = -this["stgH"];
pic0ldr.x = -this["stgW"];

trace(leftmask_mc.width,leftmask_mc.height,pic0ldr.height,pic0ldr.width);//500 707 707 500

// this is your problem when you pic0ldr, pic0ldr is is set to a NEGATIVE X and Y Which will cause leftmask to resize that amount
leftmask_mc.addChild(pic0ldr);  //strange resize

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

0 голосов
/ 01 сентября 2011

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

Если вы устанавливаете ширину и высоту мувиклипа, как ваш leftmask_mcв другой пропорции, чем изначально, он будет искажен.Любой дочерний элемент, который вы добавляете в этот MovieClip, также будет искажаться таким же образом, поскольку он становится частью этого MovieClip.

Кроме того, если leftmask_mc предназначен для использования в качестве маски, вы, вероятно, не хотитедобавить загруженное изображение как дочерний элемент leftmask_mc.Если вы хотите, чтобы leftmask_mc маскировал изображение, вам следует вместо этого установить для свойства .mask изображения (или объекта DisplayObject, содержащего изображение) значение leftmask_mc.

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