2012-05-22 2 views
1

나는 영화 클립을 자주 크기 조절하고 크기에 따라 특정 위치의 화면에 배치해야합니다.as3 크기 조정/크기 조정 된 너비와 높이 - movieClip/mc가 있습니까?

일단 크기가 조절되면 동영상 클립의 너비와 높이를 어떻게 얻을 수 있습니까?

trace(my_mc.width); /// would equal 333 

/// This code makes my movie clip fit in the correct proportions. 
my_mc.height = stage.stageHeight; 
my_mc.scaleX = my_mc.scaleY; 

/// Its been resized! 
trace(my_mc.width); /// STILL equals 333 

..

모든 아이디어를 어떻게 새로운 폭과 높이를 얻는 방법?

+0

붙여 넣기 Flash에서이 코드 폭 변화를 보여줍니다 -이 실제 코드는? –

+0

아니요. 그러나 너비는이 코드로 변경됩니다. 높이와 너비가 모두 동일합니다. 나는 수학을하지 않았다. 그것은 훌륭한 스마트 비트 오버플로 (Smart Overflower)의 훌륭한 코드 비트입니다. –

+0

감사합니다. \'Papa \'저는 flash dev을 시작한 이래로'stage.stageWidth'와'stage.stageHeight'를 찾고있었습니다. * upvoted * – Bitterblue

답변

1

아마 스테이지 스케일링 문제가 있습니다. 당신이 스테이지 크기에 의존하는 경우

설정 :

import flash.display.StageAlign; 
import flash.display.StageScaleMode; 

stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 

귀하의 제공 예를 들어 문제를 캡슐화하지 않습니다. 그것은 예상대로 작동합니다. 당신이 프레임 기반의 애니메이션을하고 있다면 가능한 또한

size scale

, 당신의 추적 문의 타이밍이다. 아마도 당신은 당신이 기대하는 라이프 사이클과 같은 크기의 인공물을보고있을 것입니다.

+0

고맙다 Jason, 나는 당신의 코드를 시도했다. 추적 값은 여전히 ​​동일합니다. –

+0

실제 구현으로 질문을 업데이트하면 근본 원인을 찾아내는 데 도움이됩니다. 플래시 좌표계가 빠르게 복잡해질 수 있습니다. –

+0

그것을 알아 냈습니다. 또는 훌륭한 해결 방법. 나는 이것이 많은 사람들을 돕기를 바랍니다. 나는이 년 전에 발견했으면 좋겠다. –

-1

모든 노력에 감사드립니다. 나는 대답을 찾았다! :)


import flash.display.MovieClip; 

/// My stage is 500 by 500. 
/// My Image or movieClip is 446 by 688. 
/// I am calling it my_mc. 
trace(my_mc.width + " by " + my_mc.height); /// OUTPUT: 446 by 688 

// I want the height to match the height of my stage but keep the same 
// proportions. So I use the code below. WORKS GREAT! 
my_mc.height = stage.stageHeight; 
my_mc.scaleX = my_mc.scaleY; 

// But if I want to trace the width and the height it will still be the same. 
trace(my_mc.width + " by " + my_mc.height); /// OUTPUT: 446 by 688. 


///So I make a NEW movieClip below after I scaled it. 
var NewMC:MovieClip = my_mc as MovieClip; 

/// NOW WHEN I TRACE IT... :) 
trace(NewMC.width + " by " + NewMC.height); /// 324.1 by 500 

// YES!!! I can't believe I figured this out on my own! Woo hoo! :) 
+0

그건 전혀 말이되지 않습니다. var NewMC : MovieClip = my_mc는 새 MovieClip을 만들지 않습니다.이 인스턴스는 동일한 인스턴스에 대한 참조이지만 인스턴스 이름 및 변수 범위에 문제가 있음을 나타냅니다. –

관련 문제