플래시 액션스크립트 , 배열 splice 편 Flash Study

플래시에서 배열을 접하면서 느낀건 참 쉽다 였다^^;

api가 다수가 존재해 편하게 작업을 할 수있었다

그중에도 splice가 무척 맘에들어 정리 해 보았다.

var arr:Array = new Array();

 

arr 배열에 원소 입력: arr[i]=입력값;


ex) arr[0]=5; arr[1]=1;

 

trace( arr ); // 5 , 1

 

 

 

arr 배열에 원소 추가: arr.push( 해당 원소, ... );


ex) arr.push(1,2,3,4,5);

 

trace( arr ); // 1,2,3,4,5

 

arr 배열 특정번지 삭제: arr.splice(시작, 삭제할 개수, 삭제된 배열에 입력할 원소);

// var arr:Array=[1,2,3,4,5];


ex) arr.splice(1,1);

trace( arr ); // 1,3,4,5

ex) arr.splice(1,1,3,4);

 

trace( arr );// 1,3,4,3,4,5

ex) arr.splice(0,3);

 

trace( arr );//  4,5

 

//배열 원소 삭제: arr.splice(0);

 

액션으로 어설프지만 굳이 표현하자면

 

function usr_splice( arr : Array ){
 
 var temp_arr:Array = new Array(); 
 
 var splice_index:Array = new Array();
 
 var flag:Boolean = false;
 
 for( var i = 1 ; i < arguments.length; i ++ ){ //넘어오는 인자( arguments 는 삭제해야할 배열 인덱스이기에 배열에 저장해둔다
 
  splice_index.push( arguments[ i ] );
 
 }
 
 for( var  i = 0 ; i < arr.length ; i ++ ){ 
 
  flag = false;
 
  for(var j = 0 ; j < splice_index.length ; j ++ ){
 
     if( i == splice_index[ j ] ){
     
      flag = true;
 
      break;
 
     }
 
  }
  
  if( flag == false ){
   
    temp_arr.push( arr[ i ] );
 
  }
 
 }
 
 return temp_arr;
 
}

var test_arr:Array = ["가","나","다","자","아","라"];

 

trace( usr_splice( test_arr ,  0, 3 ,4 ) );//나 다 라


간단하게 DOS 배치 파일로 만들어본 작업 백업 시스템 Flash Study

작업을 하다보면 복원을 해야하는경우가 종종 있다~

그럴때 어디 까지 복원을 해야할지 난감할 경우가 있는데;;

 

이때 백업에 필요성을 절실 히 느끼게 된다;;

 

요즘 csv 서버 같은 ( 맞나?? ) FTP 를 이용 컴파일 하면 동시에 서버에 컴파일 순으로 소스랑 결과물을 업로드 하는 시스템을 많이

이용한다고 한다( 한번도 써본적은 없음 ㅋㅋ )

 

그래서 간단하게 bat 파일을 이용해서 로컬에서 하는 백업 시스템을 만들어 봤다.

 

@echo off

FOR /F "tokens=1-3 delims=: " %%i IN ('time /t') DO SET TIME=%%i-%%j-%%k

set dn=%date%(%TIME:~0,2%%TIME:~3,5%)
echo @아래부분에 경로를 현재 작업 폴더 경로로 변경하세요
set path=D:\크리스탈\uni_conver

md %date%

cd %date%

md %dn%

 

copy %path%\*.swf %dn%
copy %path%\*.fla %dn%
copy %path%\*.as %dn%


이 소스를 txt 파일에 넣은 후 txt 확장자를 bat 파일로 변경하면 된다.

컴파일 후 한번씩 눌러만 주면 날짜별로 폴더를 생성한후 시간별로 다시 폴더를 만들어 소스랑 결과물을 백업해준다.

아래 카피 부분에 원하는 파일 확장자들로 바꿔주면 ㅇㅋ

 

간단한 백업 시스템을 갖춰 보았다 ㅋ


미니 단어장 0.5

음 특별히 달라진거는 없고 단어장 을 업데이트 가능하게 바꿨다;;
그전에는 단어장을 재 업하고나면 url 이 바뀌어서 단어장 어플 역시 수정했어야 했는데

단어장을 업데이트 하는거로는 특별히 단어장 어플은 수정 하지 않게 바꾸었다 ㅋ

mini_dic0.5.exe

체력 게이지;; Flash Study

누가 요청을 하여서 만들어 보았는데 어설퍼 ㅋㅋ

위에서 아래로 내려가는 형태인데..

 

 

 

텍스트 필드에 값을 넣고 ok 를 누르면 게이지 변화는 형태를 볼 수 있다.

 

ok.onRelease = function(){
    delete guage.onEnterFrame;
    draw_guage( int(g_txt.text) ); 
}

function draw_guage( tx ){

//수치제한
 if( tx < 0 ){
  tx = 0;
 }else if( tx > 100 ){
  tx = 100;
 }

//게이지 크기 값 미리 계산
 var tt = ( tx / 100 ) * 249;

//부드러운 게이지 이동을 위한 엔터프레임
 guage.onEnterFrame = function(){  
  //아까 미리 계산한 크기로 부드러운 움직임 공식으로 마스크 높이 변화
  this.mask._height += 0.2 * ( tt - this.mask._height  );
  this.txt._y = this.mask._y - this.mask._height;
  this.txt.text = tx;
  if( Math.abs( this.mask._height - tt ) < 1 ){ //거진 값변화가 끝나는 시점에서 엔터프레임 삭제
   this.mask._height = tt;
   this.txt._y = this.mask._y- this.mask._height;
   this.txt.text = tx;
   delete this.onEnterFrame;
   
  }
  
 }
 
}

 

g.swf

간단한 마우스 좌표에 따라 움직이는 배경 Flash Study



우리 회사에 서 만드는 딕쏘라는 전자사전 이미지를 갖고 한번 만들어봤다.

마우스가 스테이지 안에서 움직일 때 ~  마우스의 좌표에 맞춰서 이미지가 스테이지안에서 움직이는 액션이다

bg_move.swf





일단 마우스가 움직여야 생기는 이벤트 이므로 onMouseMove 안에다
넣는게 합당할듯하다

_xmouse 가 스테이지의 왼쪽 끝으로 가면 이미지의 _x는 스테이지의 넓이 만큼 증가하고
 스테이지의 오른쪽 끝으로 가면 이미지의 _x 는 -스테이지의 넓이 만큼 감소한다.

1차방정식으로 풀게되면

bg ( 배경 무비클립 인스턴스 네임 )

bg._x =  ( (-bg._width+Stage.width)  * ( _xmouse /Stage.width ));

저 플래시에는 현재 _y 좌표도 같은 맥락으로 적용 해놓고 있다 ~


1 2 3