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는 자신을 포함하는 부모무비클립의 중심점을 기준으로 !! 떨어진 거리
※무비클립의 좌표는 부모 무비클립의 위치가 변하더라도 자신은 변하지 않는다.
'코딩공부 > Action Script 3.0' 카테고리의 다른 글
Event에 대해서 ( e.currentTarget 관련 예제 ) (0) | 2015.02.13 |
---|---|
충돌 테스트 hitTestObject, hitTestPoint 예제 (0) | 2015.02.13 |
슬라이드 메뉴 만들기 예제 (0) | 2015.02.12 |
객체 구조 적용 방법 (0) | 2015.02.12 |
객체의 부드러운 운동 | 마우스를 따라다니는 객체 예제 (0) | 2015.02.12 |