컴덱스메뉴 액션 스크립트
Stage.scaleMode = "Show all";
function FNstart() {
VRnum = 7;
//메뉴의 겟수(최소 2부터~10까지)
VRmainDepths = 100;
//오버한 메뉴가 언제나 최상위에 오게 하기위한 기본 심도
rid = Math.PI/(VRnum/2);
//한개의 메뉴가 가지는 위치각
VRmainX = Stage.width/2;
//화면의 가로 사이즈/2(중점의 가로 좌표)
VRmainY = Stage.height/2;
//화면의 세로 사이즈/2(중점의 세로 좌표)
VRinRange = 100;
//화면 중앙으로 부터 메뉴가 위치할수 있는 최소 영역(-100, + 100 총 300의 거리)
VRoutRange = 150;
//화면 중앙으로 부터 메뉴가 위치할수 있는 최대 영역(-150, + 150 총 400의 거리)
VRdist = 15;
//감속 계수(유효범위 5~30)
VRvist = 1.25;
//탄성 계수(유효범위 1.1~1.5)
VRmeddle = 10;
//앞, 뒤 메뉴에 대한 간섭 수치(클수록 간섭이 적어짐)
VRmag = 40;
//드레그 되는 메뉴가 마우스에서 떨어질 감도 설정(작을수록 쉽게 떨어짐)
VRnowDrag = -1;
//현재 드레그 되는 메뉴를 없음(-1)으로 설정
VRrandomValue = 10;
//메뉴의 렌덤한 이동을 위한 기준값(작아질수록 자주 움직임)
for (var i = 0; i<=VRnum-1; i++) {
MCmenu.duplicateMovieClip("MCmenu"+i, i+10);
MCline.duplicateMovieClip("MCline"+i, i);
}
ARmPosX = new Array();
//기준 x위치값을 저장하는 배열
ARmPosY = new Array();
//기준 y위치값을 저장하는 배열
ARrNum = new Array();
//숫자 로테이션을 저장하는 배열(앞);
ARpNum = new Array();
//숫자 로테이션을 저장하는 배열(뒤);
ARrNum.push(VRnum-1);
for (var i = 0; i<=VRnum-2; i++) {
ARrNum.push(i);
ARpNum.push(i+1);
}
ARpNum.push(0);
var tempX, tempY, TranA, TranB;
for (var i = 0; i<=VRnum-1; i++) {
TranA = i+Math.random();
TranB = FNrandom(VRoutRange-VRinRange)+VRinRange;
tempX = -Math.cos(rid*TranA)*TranB;
tempY = -Math.sin(rid*TranA)*TranB;
_root["MCmenu"+i]._x = ARmPosX[i]=Math.floor(tempX+VRmainX);
_root["MCmenu"+i]._y = ARmPosY[i]=Math.floor(tempY+VRmainY);
}
setInterval(FNmainIT, 1000/60);
}
function FNmainIT() {
//메인 인터벌
if (_xmouse>VRprevMouseX+VRmag
|| _xmouse<VRprevMouseX-VRmag
|| _ymouse>VRprevMouseY+VRmag
|| _ymouse<VRprevMouseY-VRmag) {
//메뉴가 마우스에서 떨어질지를 검사하는 부분
stopDrag();
VRnowDrag = -1;
}
VRprevMouseX = _xmouse;
VRprevMouseY = _ymouse;
if (FNrandom(VRrandomValue) == 2) {
//메뉴중 한개를 랜덤한 위치로 이동시킨다.
var tempX, tempY, TranA, TranB, i, TxMeddle, TyMeddle;
i = FNrandom(VRnum)-1;
if (i != VRnowDrag) {
TranA = i+Math.random();
TranB = FNrandom(VRoutRange-VRinRange)+VRinRange;
tempX = -Math.cos(rid*TranA)*TranB;
tempY = -Math.sin(rid*TranA)*TranB;
TxMeddle = (ARmPosX[i]-Math.floor(tempX+VRmainX))/VRmeddle;
TyMeddle = (ARmPosY[i]-Math.floor(tempY+VRmainY))/VRmeddle;
ARmPosX[ARrNum[i]] -= TxMeddle;
ARmPosY[ARrNum[i]] -= TyMeddle;
ARmPosX[ARpNum[i]] -= TxMeddle;
ARmPosY[ARpNum[i]] -= TyMeddle;
ARmPosX[i] = Math.floor(tempX+VRmainX);
ARmPosY[i] = Math.floor(tempY+VRmainY);
}
}
if (VRnowDrag != -1) {
if (VRisUpdate) {
VRpPosX = ARmPosX[ARrNum[VRnowDrag]];
VRpPosY = ARmPosY[ARrNum[VRnowDrag]];
VRrPosX = ARmPosX[ARpNum[VRnowDrag]];
VRrPosY = ARmPosY[ARpNum[VRnowDrag]];
VRisUPdate = false;
}
TxMeddle = (ARmPosX[VRnowDrag]-Math.floor(_xmouse))/VRmeddle;
TyMeddle = (ARmPosY[VRnowDrag]-Math.floor(_ymouse))/VRmeddle;
ARmPosX[ARrNum[VRnowDrag]] = VRpPosX-TxMeddle;
ARmPosY[ARrNum[VRnowDrag]] = VRpPosY-TyMeddle;
ARmPosX[ARpNum[VRnowDrag]] = VRrPosX-TxMeddle;
ARmPosY[ARpNum[VRnowDrag]] = VRrPosY-TyMeddle;
}
//각 메뉴들의 이동
for (var i = 0; i<=VRnum-1; i++) {
var Tname = eval("MCmenu"+i);
if (i != VRnowDrag) {
_root["VRprevX"+i] = (ARmPosX[i]-Tname._x)/VRdist+_root["VRprevX"+i]/VRvist;
_root["VRprevY"+i] = (ARmPosY[i]-Tname._y)/VRdist+_root["VRprevY"+i]/VRvist;
Tname._x += _root["VRprevX"+i];
Tname._y += _root["VRprevY"+i];
}
/*선그리기 - MCline 위로 이동 ㅡ,ㅡ;
_root["MCline"+i]._x = Tname._x;
_root["MCline"+i]._y = Tname._y;
_root["MCline"+i]._xscale = _root["MCmenu"+ARrNum[i]]._x-Tname._x;
_root["MCline"+i]._yscale = _root["MCmenu"+ARrNum[i]]._y-Tname._y;
*/
}
}
//랜덤 값을 구하는 함수 시작
function FNrandom(num) {
var rndNum = Math.random()*num;
rndNum = Math.ceil(rndNum);
return (rndNum);
}
function FNaction(num){
switch (num){
case "0" : trace("++System msg : MCmenu0 release");
// getURL("http://www.samsungelectronics.com/comdex/", "_blank")
break;
case "1" : trace("++System msg : MCmenu1 release");
//여기에 액션을 넣으세요.
break;
case "2" : trace("++System msg : MCmenu2 release");
//여기에 액션을 넣으세요.
break;
case "3" : trace("++System msg : MCmenu3 release");
//여기에 액션을 넣으세요.
break;
case "4" : trace("++System msg : MCmenu4 release");
//여기에 액션을 넣으세요.
break;
case "5" : trace("++System msg : MCmenu5 release");
//여기에 액션을 넣으세요.
break;
case "6" : trace("++System msg : MCmenu6 release");
//여기에 액션을 넣으세요.
break;
}
}
FNstart();
작성자 : 최고의하루
등록날짜 : 2009.02.10 09:34
Stage.scaleMode = "Show all";
function FNstart() {
VRnum = 7;
//메뉴의 겟수(최소 2부터~10까지)
VRmainDepths = 100;
//오버한 메뉴가 언제나 최상위에 오게 하기위한 기본 심도
rid = Math.PI/(VRnum/2);
//한개의 메뉴가 가지는 위치각
VRmainX = Stage.width/2;
//화면의 가로 사이즈/2(중점의 가로 좌표)
VRmainY = Stage.height/2;
//화면의 세로 사이즈/2(중점의 세로 좌표)
VRinRange = 100;
//화면 중앙으로 부터 메뉴가 위치할수 있는 최소 영역(-100, + 100 총 300의 거리)
VRoutRange = 150;
//화면 중앙으로 부터 메뉴가 위치할수 있는 최대 영역(-150, + 150 총 400의 거리)
VRdist = 15;
//감속 계수(유효범위 5~30)
VRvist = 1.25;
//탄성 계수(유효범위 1.1~1.5)
VRmeddle = 10;
//앞, 뒤 메뉴에 대한 간섭 수치(클수록 간섭이 적어짐)
VRmag = 40;
//드레그 되는 메뉴가 마우스에서 떨어질 감도 설정(작을수록 쉽게 떨어짐)
VRnowDrag = -1;
//현재 드레그 되는 메뉴를 없음(-1)으로 설정
VRrandomValue = 10;
//메뉴의 렌덤한 이동을 위한 기준값(작아질수록 자주 움직임)
for (var i = 0; i<=VRnum-1; i++) {
MCmenu.duplicateMovieClip("MCmenu"+i, i+10);
MCline.duplicateMovieClip("MCline"+i, i);
}
ARmPosX = new Array();
//기준 x위치값을 저장하는 배열
ARmPosY = new Array();
//기준 y위치값을 저장하는 배열
ARrNum = new Array();
//숫자 로테이션을 저장하는 배열(앞);
ARpNum = new Array();
//숫자 로테이션을 저장하는 배열(뒤);
ARrNum.push(VRnum-1);
for (var i = 0; i<=VRnum-2; i++) {
ARrNum.push(i);
ARpNum.push(i+1);
}
ARpNum.push(0);
var tempX, tempY, TranA, TranB;
for (var i = 0; i<=VRnum-1; i++) {
TranA = i+Math.random();
TranB = FNrandom(VRoutRange-VRinRange)+VRinRange;
tempX = -Math.cos(rid*TranA)*TranB;
tempY = -Math.sin(rid*TranA)*TranB;
_root["MCmenu"+i]._x = ARmPosX[i]=Math.floor(tempX+VRmainX);
_root["MCmenu"+i]._y = ARmPosY[i]=Math.floor(tempY+VRmainY);
}
setInterval(FNmainIT, 1000/60);
}
function FNmainIT() {
//메인 인터벌
if (_xmouse>VRprevMouseX+VRmag
|| _xmouse<VRprevMouseX-VRmag
|| _ymouse>VRprevMouseY+VRmag
|| _ymouse<VRprevMouseY-VRmag) {
//메뉴가 마우스에서 떨어질지를 검사하는 부분
stopDrag();
VRnowDrag = -1;
}
VRprevMouseX = _xmouse;
VRprevMouseY = _ymouse;
if (FNrandom(VRrandomValue) == 2) {
//메뉴중 한개를 랜덤한 위치로 이동시킨다.
var tempX, tempY, TranA, TranB, i, TxMeddle, TyMeddle;
i = FNrandom(VRnum)-1;
if (i != VRnowDrag) {
TranA = i+Math.random();
TranB = FNrandom(VRoutRange-VRinRange)+VRinRange;
tempX = -Math.cos(rid*TranA)*TranB;
tempY = -Math.sin(rid*TranA)*TranB;
TxMeddle = (ARmPosX[i]-Math.floor(tempX+VRmainX))/VRmeddle;
TyMeddle = (ARmPosY[i]-Math.floor(tempY+VRmainY))/VRmeddle;
ARmPosX[ARrNum[i]] -= TxMeddle;
ARmPosY[ARrNum[i]] -= TyMeddle;
ARmPosX[ARpNum[i]] -= TxMeddle;
ARmPosY[ARpNum[i]] -= TyMeddle;
ARmPosX[i] = Math.floor(tempX+VRmainX);
ARmPosY[i] = Math.floor(tempY+VRmainY);
}
}
if (VRnowDrag != -1) {
if (VRisUpdate) {
VRpPosX = ARmPosX[ARrNum[VRnowDrag]];
VRpPosY = ARmPosY[ARrNum[VRnowDrag]];
VRrPosX = ARmPosX[ARpNum[VRnowDrag]];
VRrPosY = ARmPosY[ARpNum[VRnowDrag]];
VRisUPdate = false;
}
TxMeddle = (ARmPosX[VRnowDrag]-Math.floor(_xmouse))/VRmeddle;
TyMeddle = (ARmPosY[VRnowDrag]-Math.floor(_ymouse))/VRmeddle;
ARmPosX[ARrNum[VRnowDrag]] = VRpPosX-TxMeddle;
ARmPosY[ARrNum[VRnowDrag]] = VRpPosY-TyMeddle;
ARmPosX[ARpNum[VRnowDrag]] = VRrPosX-TxMeddle;
ARmPosY[ARpNum[VRnowDrag]] = VRrPosY-TyMeddle;
}
//각 메뉴들의 이동
for (var i = 0; i<=VRnum-1; i++) {
var Tname = eval("MCmenu"+i);
if (i != VRnowDrag) {
_root["VRprevX"+i] = (ARmPosX[i]-Tname._x)/VRdist+_root["VRprevX"+i]/VRvist;
_root["VRprevY"+i] = (ARmPosY[i]-Tname._y)/VRdist+_root["VRprevY"+i]/VRvist;
Tname._x += _root["VRprevX"+i];
Tname._y += _root["VRprevY"+i];
}
/*선그리기 - MCline 위로 이동 ㅡ,ㅡ;
_root["MCline"+i]._x = Tname._x;
_root["MCline"+i]._y = Tname._y;
_root["MCline"+i]._xscale = _root["MCmenu"+ARrNum[i]]._x-Tname._x;
_root["MCline"+i]._yscale = _root["MCmenu"+ARrNum[i]]._y-Tname._y;
*/
}
}
//랜덤 값을 구하는 함수 시작
function FNrandom(num) {
var rndNum = Math.random()*num;
rndNum = Math.ceil(rndNum);
return (rndNum);
}
function FNaction(num){
switch (num){
case "0" : trace("++System msg : MCmenu0 release");
// getURL("http://www.samsungelectronics.com/comdex/", "_blank")
break;
case "1" : trace("++System msg : MCmenu1 release");
//여기에 액션을 넣으세요.
break;
case "2" : trace("++System msg : MCmenu2 release");
//여기에 액션을 넣으세요.
break;
case "3" : trace("++System msg : MCmenu3 release");
//여기에 액션을 넣으세요.
break;
case "4" : trace("++System msg : MCmenu4 release");
//여기에 액션을 넣으세요.
break;
case "5" : trace("++System msg : MCmenu5 release");
//여기에 액션을 넣으세요.
break;
case "6" : trace("++System msg : MCmenu6 release");
//여기에 액션을 넣으세요.
break;
}
}
FNstart();
[출처] 락
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
☞자세히보기 |
|
|