2011-08-31 4 views
0
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); 
} 

내 무비 클립의 크기를 조정 폭과 높이 데이터가 필요하지만 많은 사진을로드하고 내가해야 어려운 최대 높이와 ​​폭무비 클립의 스케일 이상하게

답변

0

비트를 얻기 위해 왜 당신이 궁금 할 것 귀하의 질문은, 당신이 실제로 하나 물어 보지 않기 때문에, 문제는 이것이라고 생각합니다 :

MovieClip의 너비와 높이를 leftmask_mc와 같이 원래 비율보다 높게 설정하면 비뚤어진. 해당 MovieClip에 추가 한 모든 자식은 동일한 방식으로 왜곡됩니다. 해당 자식이 해당 MovieClip의 일부가되므로

또한 leftmask_mc를 마스크로 사용하려는 경우로드 된 이미지를 leftmask_mc의 자식으로 추가하지 않으려 고합니다. leftmask_mc에서 이미지를 마스크하려면 이미지 (또는 이미지가 포함 된 DisplayObject)의 .mask 속성을 leftmask_mc로 설정해야합니다.

+0

코드 주석에, 내가로 사용하려면 '돈되는 내 질문 마스크. 내가하는 일은 mc 크기를 그림의 크기로 설정하고 addChild를 사용하여 mc 크기로 설정하는 것입니다.하지만 mc를 정의한 후에도 크기가 커지면됩니다. 다시 정의한 후 다시 정상입니다. 비율의 너비/높이에 관해서는 나는 그런 경우가 아니라고 생각한다. 사진의 너비가 아니라 다른 너비와 높이에 동일한 픽셀을 추가했다. – TasostheGreat

+0

OK. 당신이하고 싶은 것을 결정하는 것이 조금 어렵다. 그리고 작동하지 않는 것은 생각한다. 그러나 나는 그것을 다시 시도 할 것이다. 원하는 것은 단순히 leftmask_mc를로드 된 이미지의 홀더로 사용하는 것이다. 높이와 너비를 이미지와 동일하게 설정해야합니다. 이미지를 자식으로 추가하면 leftmask_mc가 자동으로 이미지의 크기 (내용의 크기)를 차지합니다. –

0

질문에 무엇을 묻고 있는지 전혀 모릅니다.
하지만 코드 샘플은 끔찍합니다. 함수와 이름이없는 함수를 사용하여 모든 곳에서 사용할 수 있습니다.

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 

은 다시 당신은 당신의 질문을 바꾸어 말하다하고 우리가 그것을 이해할 수있는 지점으로 읽기 그래서 코드를 재 작업 할 필요가

관련 문제