CBoxMovieClip : Linkage의 Base Class가 flash.display.MovieClip인 상태

CBoxSprite : Linkage의 Base Class가 flash.display.Sprite인 상태

준비가 완료 되었습니다..테스트 코드는 아래와 같습니다..

var t:Number = getTimer();
//1차 테스트 - 비트맵으로 생성(비트맵데이터 참조)
/*var bd:BitmapData = new CBox(0,0);
for(var i:int = 0; i < 1000; i++){
 var bm:Bitmap = new Bitmap(bd);
 this.addChild(bm);
}*/

//2차 테스트 - 비트맵으로 생성(비트맵데이터 복제)
/*var bd:BitmapData = new CBox(0,0);
for(var i:int = 0; i < 1000; i++){
 var bm:Bitmap = new Bitmap(bd.clone());
 this.addChild(bm);
}*/

//3차 테스트 - Sprite로 생성
/*for(var i:int = 0; i < 1000; i++){
 var spr:Sprite = new CBoxSprite();
 this.addChild(spr);
}*/

//4차 테스트 - MovieClip을 Sprite형으로 생성
/*for(var i:int = 0; i < 1000; i++){
 var spr:Sprite = new CBoxMovieClip();
 this.addChild(spr);
}*/

//5차 테스트 - MovieClip을 MovieClip형으로 생성
/*for(var i:int = 0; i < 1000; i++){
 var spr:MovieClip = new CBoxMovieClip();
 this.addChild(spr);
}*/

trace(getTimer() - t);

결과는 아래와 같습니다..

테스트 유형
SWF 용량
생성 시간(ms)
메모리 사용량
기본 컴파일(이미지 생성 없음)
25.9KB
0
0(기준량)
비트맵으로 생성(비트맵데이터 참조)
26.0KB
10
548864
비트맵으로 생성(비트맵데이터 복제)
26.0KB
743
1839104
Sprite로 생성
26.0KB
6602
2785280
MovieClip을 Sprite형으로 생성
26.0KB
7631
2801664
MovieClip을 MovieClip형으로 생성
26.0KB
6769
2801664

결과에서 보듯이 비트맵데이터를 참조하는 형태(1차 테스트)가 가장 좋은 퍼포먼스를 보였습니다.. : )

출처 : http://labs.apollocation.co.kr/technologies/flash/flash.php?menu=1

'etc > old' 카테고리의 다른 글

event bubbling  (0) 2008.05.07
배열의 shift(), unshift() 활용  (0) 2008.05.07
스크립트를 통한 컴퓨터 재부팅하기  (0) 2008.05.02
Shape을 이용한 토글 버튼 만들기  (0) 2008.05.02
동적으로 버튼 만들기  (0) 2008.04.30

시작 - 실행 - cmd
커맨드 창을 띄워서

종료
shutdown -s (default 30초)
30초 후에 컴퓨터 종료
shoutdown -s -t 60
60초후, 즉 1분뒤에 컴퓨터 종료
이렇게 시간을 원하는데로 초로 적으면 원하는 시간에 컴퓨터를 종료시킬 수 있다.

재부팅
shoutdown -r
shoutdown -r -t 60
이것도 마찬가지로 원하는 시간에 재부팅 가능

취소
shoutdown -a
종료 또는 재부팅 명령을 취소 할 수 있다.

원격 데스크톱으로 접속하여서 컴퓨터 종료할때 유용하게 사용 가능
예시)
restart.bat
==> shutdown -r -t 1
실행시 1초뒤에 컴퓨터 재부팅 됨.

'etc > old' 카테고리의 다른 글

배열의 shift(), unshift() 활용  (0) 2008.05.07
Bitmap 처리속도  (0) 2008.05.02
Shape을 이용한 토글 버튼 만들기  (0) 2008.05.02
동적으로 버튼 만들기  (0) 2008.04.30
Flash Video Sample - Display Object  (0) 2008.04.30

[Flash] http://wonsama.tistory.com/attachment/ck010000000000.swf




1. Sprite를 상속받아 buttonMode를 설정
  <accessor name="buttonMode" access="readwrite" type="Boolean" declaredBy="flash.display::Sprite"/>

2. EventDispatcher에 선언된 addEventListener을 통하여 마우스 클릭 이벤트 등록
<method name="addEventListener" declaredBy="flash.events::EventDispatcher" returnType="void">

3. Array의 reverse와 addChild, removeChild를 이용하여 버튼 등록 해지 작업을 한다.

조금씩 배워가는 느낌? ㅡ,.ㅡ; 아직은 갈길이 멀다...

응용을 하면... Shape대신 무비 클립을 넣어 줘도 될듯 ... 그럼 좀더 화려해 지겠죠 크..

[참조]

  <method name="swapChildren" declaredBy="flash.display::DisplayObjectContainer" returnType="void">
    <parameter index="1" type="flash.display::DisplayObject" optional="false"/>
    <parameter index="2" type="flash.display::DisplayObject" optional="false"/>
  </method>

swapChildren 을 이용하여도 토글 느낌을 줄수 있다.
물론 swapChildren을 이용하려면 2개의 버튼은 동일 위치 동일 크기로 있어야 하며
디스플레이 오브젝트에 포함이 되어 있어야 한다는것을 잊음 안된다.

'etc > old' 카테고리의 다른 글

Bitmap 처리속도  (0) 2008.05.02
스크립트를 통한 컴퓨터 재부팅하기  (0) 2008.05.02
동적으로 버튼 만들기  (0) 2008.04.30
Flash Video Sample - Display Object  (0) 2008.04.30
Bitmap Filter 사용예시  (0) 2008.04.30
▶ test.fla에서 작업을 한다고 가정.

1. 버튼에 사용할 4개의 무비클립을 만를어 준다. (마우스 다운, 히트, 평상시, 오버)

사용자 삽입 이미지



















2. 라이브러리 창에서 조금전 생성한 무비클립선택이후 Linkage를 선택하여
Linkage를 아래와 같이 선택한 다음, 클래스 명을 위와 동일하게 바꿔준다.
사용자 삽입 이미지















3. MixButton.as 코딩
SimpleButton을 상속받은 MixButton 클래스를 코딩한다.


4. test.fla 코딩



변영하여 다양한 형태로 발전시켜주길 바랍니다. ㅋㅋ
초보의 손길이 묻어난 동적 버튼 생성이라 나름대로 풋풋하죠...;;
잘 봐주길..

'etc > old' 카테고리의 다른 글

스크립트를 통한 컴퓨터 재부팅하기  (0) 2008.05.02
Shape을 이용한 토글 버튼 만들기  (0) 2008.05.02
Flash Video Sample - Display Object  (0) 2008.04.30
Bitmap Filter 사용예시  (0) 2008.04.30
Bitmap 간단 사용 예시  (0) 2008.04.30

[Flash] http://wonsama.tistory.com/attachment/ek040000000001.swf


[Flash] http://wonsama.tistory.com/attachment/gk010000000002.swf



왠지 FMS(Flash Media Server)를 사용했을때보단 끈기는 듯한 느낌이 드네여 ;;
FMS사용했을땐 거의 로컬에서 재생한듯한 느낌 들던데...음...
뭔가 다른 것이 있나 ;;

'etc > old' 카테고리의 다른 글

Shape을 이용한 토글 버튼 만들기  (0) 2008.05.02
동적으로 버튼 만들기  (0) 2008.04.30
Bitmap Filter 사용예시  (0) 2008.04.30
Bitmap 간단 사용 예시  (0) 2008.04.30
Definition fl.controls:Button could not be found.  (0) 2008.04.28

'etc > old' 카테고리의 다른 글

동적으로 버튼 만들기  (0) 2008.04.30
Flash Video Sample - Display Object  (0) 2008.04.30
Bitmap 간단 사용 예시  (0) 2008.04.30
Definition fl.controls:Button could not be found.  (0) 2008.04.28
인터페이스 구현 예제  (0) 2008.04.25

[Flash] http://wonsama.tistory.com/attachment/fk100000000000.swf



[결과]
[object MainTimeline] : instance1
[object Stage] : root1
[object Stage] : root1
[object Stage] : instance1


'etc > old' 카테고리의 다른 글

Flash Video Sample - Display Object  (0) 2008.04.30
Bitmap Filter 사용예시  (0) 2008.04.30
Definition fl.controls:Button could not be found.  (0) 2008.04.28
인터페이스 구현 예제  (0) 2008.04.25
Factory 공법  (1) 2008.04.24
import fl.controls.Button;
var btn:Button = new Button();
this.addChild(btn);

이런 구문을 액션스크립트에서 작성한 다음 실행하면....

1172: Definition fl.controls:Button could not be found.

이런 에러가 발생하는 것을 볼 수 있다.

------------------------------------------------------------------------------------------------
해결 방법

컴포넌트 창을 열은 이후, 내 라이브러리로 드래그 한다음 실행하면 됩니다.
(드레그시 라이브러리에 Component Assets 폴더가 생성된 것을 볼 수 있음)

플래시에서는 컴포넌트라는게 swc라는 이름으로 이미 컴파일이 된 상태의 객체이며, 컴포넌트 같은 경우는 라이브러리에 올려둔 swc 내부의 객체들을 참조하기 때문에 swc가 없으면 아예 돌지 않습니다.

실제로 구현할 경우에는 해당 스킨을 커스터 마이즈 하여 사용합니다.
자세한 것은 플레시 컴포넌트 만들기를 참조.

'etc > old' 카테고리의 다른 글

Bitmap Filter 사용예시  (0) 2008.04.30
Bitmap 간단 사용 예시  (0) 2008.04.30
인터페이스 구현 예제  (0) 2008.04.25
Factory 공법  (1) 2008.04.24
[XOR 사용] 초간단 암호화 복호화  (0) 2008.04.24
------------------------------------------
Movable.as
------------------------------------------
package
{
 public interface Movable{
  function _start():void;
  function _pause():void;
  function _stop():void;  
 }
}
------------------------------------------
Plane.as
------------------------------------------
package{
 public class Plane implements Movable{
  public function _start():void{
   trace("plane_start");
  };
  public function _pause():void{
   trace("plane_pause");  
  };
  public function _stop():void{
   trace("plane_stop");
  };  
 }
}
------------------------------------------
Car.as
------------------------------------------
package{
 public class Car implements Movable{
  public function _start():void{
   trace("car_start");
  };
  public function _pause():void{
   trace("car_pause");  
  };
  public function _stop():void{
   trace("car_stop");
  };  
 }
}
------------------------------------------
test.fla
------------------------------------------
import Movable;
import Car;
var go1:Movable = new Car();
var go2:Movable = new Plane();
go1._start();
go2._start();
------------------------------------------
결과
------------------------------------------
car_start
plane_start
------------------------------------------
장점

var go1:Movable = getObject(); 로 구현하면...
go1._start(); 이런식으로 명명하였다면...

getObject()의 리턴값에 따라 _start()의 메소드가 비행기, 차의 오브젝트에 메소드가 될 수 있다.
그러므로 프로그래머 입장에서 볼때는 확장성이 그만큼 커진다고 볼 수 있다.


중요한 내용이므로 다시한번 봐야 할텐데... 맨날 뭐 절차적 코딩하다가 OOP형태의 프로그래밍 하려니깐 힘드네;;

'etc > old' 카테고리의 다른 글

Bitmap 간단 사용 예시  (0) 2008.04.30
Definition fl.controls:Button could not be found.  (0) 2008.04.28
Factory 공법  (1) 2008.04.24
[XOR 사용] 초간단 암호화 복호화  (0) 2008.04.24
GOP : Group of pictures  (0) 2008.04.23

============================================================
Test.as
============================================================
package{
 public class Test{
  protected var _myAge:int;
 
  public function getAge():Number{
   return _myAge;
  }
  public function setAge(m:Number):void{
   _myAge=m;
  }
  public function getTest2():Test2{
   return new Test2();
  }
 }
}


internal class Test2{
 internal var t2:int=3;
 public function getT2():int{
  return t2;
 }
}
============================================================
Test2.fla
============================================================
import Test;

var m:Test = new Test();

//var t2:Test2 = m.getTest2();     //주석 제거시 에러 발생

trace(m.getTest2().getT2());      // 에러가 발생하지 않는다.

============================================================
var t2:Test2 = m.getTest2();  에서 에러가 발생하는 이유

Test2는 internal 형으로 선언되었기 때문에 Test2.fla에서 Test2의 형태를 확인할 수 없다.

하지만 m.getTest2().getT2());  처럼 선언한 다음 바로 접근한 경우는

내부에서 접근한 형태이기 때문에 바로 사용이 가능하다

이처럼 사용하도록 만든 것이 바로 Factory 공법이다.
============================================================

+ Recent posts