it leader

1차함수


x가 a부터 b까지 변할 때

y가 c부터 d까지 변한다



y = (d-c) / (b-a) *( x-a ) +c



마우스 움직이에 따라 이미지가 스크롤 되는 예제


var img:MovieClip = img_mc;


img.addEventListener(Event.ENTER_FRAME, onEnter);


function onEnter ( e: Event ) : void

{

//마우스X 가 0 ~ 450으로 이동할 때

//imgX 는 0~-350으로 이동한다.


var tx: Number = (-350 - 0 ) / ( -450 - 0 ) * (mouseX - 0 )+ 0;

img.x = img.x + 0.4 * (tx - img.x);


//마우스Y가 0~ 350으로 이동할 때

//img.y 는 0~ -150으로 이동한다/


var ty :Number= (-150 - 0 ) / (-350 - 0 ) * ( mouseY - 0 ) + 0;

img.y = img.y + 0.4(ty- img.y);







trace( stage.width ) ; //화면에 배치한 이미지의 사이즈


trace ( stage.stageWidth );  //화면의 width 사이즈

trace ( stage.stageHeight);  //화면의 height 사이즈



위의 것들을 위 코드에 대입하면 아래와 같다.



var img:MovieClip = img_mc;


img.addEventListener(Event.ENTER_FRAME, onEnter);


function onEnter ( e: Event ) : void

{

//마우스X 가 0 ~ stage.stageWidth

//imgX 는 0~ ( stage.stageWidth - img.width )으로 이동한다.


var tx: Number = ( stage.stageWidth - img.width - 0 ) / ( stage.stageWidth - 0 ) * (mouseX - 0 )+ 0;

img.x = img.x + 0.4 * (tx - img.x);


//마우스Y가 0~ stage.stageHeight

//img.y 는 0~ ( stage.stageHeight - img.height ) 으로 이동한다/


var ty :Number= ( stage.stageHeight - img.height - 0 ) / ( stage.stageHeight - 0 ) * ( mouseY - 0 ) + 0;

img.y = img.y + 0.4(ty- img.y);






trace( red_mc.x);

trace( red_mc.blue_mc.x);


x는 무비클립의 가로 위치

x는 자신을 포함하는 부모무비클립의 중심점을 기준으로 !! 떨어진 거리


무비클립의 좌표는 부모 무비클립의 위치가 변하더라도 자신은 변하지 않는다.






profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!