'Flash/AS2.0'에 해당되는 글 27건

  1. Adapter
  2. SimpleButtonHandler //2007/03/18 13:22
  3. 한글 워드랩 메쏘드 //2007/03/10 17:49
  4. loadBitmap() //2007/03/01 22:52
  5. Stage //2007/02/12 18:37
  6. AS2와 AS3간의 LocalConnection
  7. filter(GlowFilter)를 입힌 무비클립의 좌표이동 (06.12.31) 1
  8. printJob (06.12.28)
  9. projecter(exe) 2byte 경로명 문제 (06.12.8)
  10. onUnLoad를 적용한 swf(06.10.23)
  11. accessibility (06.10.20)
  12. 마스크가 씌워진 무비클립안에서의 마스크(06.10.18)

Adapter

/**
 * Adapter 
 *
 * @author: http://www.flash8corders.com, themagu edit by showjean
 * @version: 0.0.0
 * @date: 
 *
 * @comment: Delegate의 확장형, 파라메터를 전달할 수 있다.
 */
class com.showjean.utils.Adapter {
	//edited 07.07.01 by showjean
	public static function wrap(target:Object, func:Function):Function {
		var adapter:Function = function ():Object {
			var self:Function = arguments.callee;
			var target:Object = self.target;
			var param:Array = arguments.concat(self.param);
			return self.func.apply(target, param);
		};
		adapter.target = arguments.shift();
		adapter.func = arguments.shift();
		adapter.param = arguments;
		return adapter;
	}
}

'Flash > AS2.0' 카테고리의 다른 글

XMLNE  (0) 2012.06.05
XMLLoaderNE  (0) 2012.06.05
SimpleButtonHandler //2007/03/18 13:22  (0) 2012.06.05
한글 워드랩 메쏘드 //2007/03/10 17:49  (0) 2012.06.05
loadBitmap() //2007/03/01 22:52  (0) 2012.06.05
import mx.transitions.BroadcasterMX;
import com.showjean.utils.Adapter;
class SimpleButtonHandler {
 // 
 public var addListener:Function;
 public var removeListener:Function;
 public var broadcastMessage:Function;
 ///*
 public var onPress:Function;
 public var onRelease:Function;
 public var onReleaseOutside:Function;
 public var onRollOver:Function;
 public var onRollOut:Function;
 public var onDragOut:Function;
 public var onDragOver:Function;
 //*/
 //
 public function SimpleButtonHandler(mc:MovieClip) {
  mc.gotoAndStop(1);
  BroadcasterMX.initialize(this);
  this.addListener(this);
  initialize(mc);
 }
 private function initialize(_mc:MovieClip):Void {
  _mc.onPress = Adapter.wrap(this, sendEvent, "onPress", _mc);
  _mc.onRelease = Adapter.wrap(this, sendEvent, "onRelease", _mc);
  _mc.onReleaseOutside = Adapter.wrap(this, sendEvent, "onReleaseOutside", _mc);
  _mc.onRollOver = Adapter.wrap(this, sendEvent, "onRollOver", _mc);
  _mc.onRollOut = Adapter.wrap(this, sendEvent, "onRollOut", _mc);
  _mc.onDragOut = Adapter.wrap(this, sendEvent, "onDragOut", _mc);
  _mc.onDragOver = Adapter.wrap(this, sendEvent, "onDragOver", _mc);
 }
 private function sendEvent(evt:String, _mc:MovieClip):Void {
  switch (evt) {
  case "onRollOver" :
   _mc.gotoAndStop(2);
   break;
  case "onRollOut" :
   _mc.gotoAndStop(1);
   break;
  }
  this.broadcastMessage(evt, _mc);
 }
}


- 모든 버튼에 동일한 액션을 주고 싶을 때 이용할 수 있는 심플버튼핸들러

- 위 예제처럼 롤오버와, 롤아웃시에 액션을 모든 버튼에 추가할 수 있다.


- 사용법

var sbh:SimpleButtonHandler = new SimpleButtonHandler(test_btn);
sbh.onRollOver = function(){ //actions };
sbh.onRollOut = function(){ //actions };
sbh.onPress = function(){ //actions };


'Flash > AS2.0' 카테고리의 다른 글

XMLLoaderNE  (0) 2012.06.05
Adapter  (0) 2012.06.05
한글 워드랩 메쏘드 //2007/03/10 17:49  (0) 2012.06.05
loadBitmap() //2007/03/01 22:52  (0) 2012.06.05
Stage //2007/02/12 18:37  (0) 2012.06.05
//한글 워드랩 메쏘드, rts는 초기값 ""이나 undefined으로 시작
//TextField는 single line이어야 한다.
//** 약간의 오차가 있을 수 있다.
//TextField에는 setNewTextField가 설정되어 있어야 정상작동된다.(setTextField X)
function returnString(st:TextField, limit:Number, rts:String):String {
	st.autoSize = true;
	var wid:Number = st._width;
	//trace("width : " + wid);
	var str:String = st.text;
	var rtStr:String = rts == undefined ? "" : rts;
	//문장 길이가 제한보다 길면 잘라냄
	if (wid > limit) {
		var len:Number = str.length;
		var newLen:Number = Math.floor(len * (limit / wid));
		var cutLen:Number = len - newLen;
		//잘라낸 앞/뒤 문장
		var nstr:String = str.substr(0, newLen);
		var tstr:String = str.substr(-cutLen, cutLen);
		//trace("before - " + [nstr, tstr]);
		//앞문장의 끝이나, 뒷문장의 처음이 공백이 아니면 앞문장의 마지막
		//공백까지 다시 잘라냄
		if (tstr.charAt(0) != " " && nstr.charAt(newLen - 1) != " ") {
			var arr:Array = nstr.split(" ");
			//공백이 없으면 그냥 자른 상태로 패스
			if (arr.length == 1) {
			} else {
				tstr = arr.pop() + tstr;
				nstr = arr.join(" ");
				//trace("after - " + [nstr, tstr]);
			}
			//줄의 처음 공백 제거
		} else if (tstr.charAt(0) == " ") {
			tstr = tstr.slice(1);
			//줄의 마지막 공백 제거
		} else if (nstr.charAt(newLen - 1) == " ") {
			nstr = nstr.slice(0, newLen - 1);
		}
		rtStr += nstr + "\n";
		st.text = tstr;
		//뒷문장을 다시 처리
		return arguments.callee(st, limit, rtStr);
	} else {
		return rtStr + str;
	}
}


'Flash > AS2.0' 카테고리의 다른 글

Adapter  (0) 2012.06.05
SimpleButtonHandler //2007/03/18 13:22  (0) 2012.06.05
loadBitmap() //2007/03/01 22:52  (0) 2012.06.05
Stage //2007/02/12 18:37  (0) 2012.06.05
AS2와 AS3간의 LocalConnection  (0) 2012.06.05

라이브러리의 비트맵(이미지)를 propertise에서 압축하면(기본값) BitmapData.loadBitmap(linkage)를 할 때, width 1pixel이 늘어난다. (185pixel)

압축을 하지 않으면 (loseless) 해결되지만, 컴파일된 swf파일의 용량 차이가 크게 난다.

 

비트맵을 바로 로드하지 않고, 무비클립으로 한번 변환한후 라이브러리에 등록해서 사용하면 문제가 나타나지 않는다.

 

왜 이럴까?

Stage //2007/02/12 18:37

Stage

 

- 특정 html안에서 Stage.width와 Stage.height가 제대로 작동되지 않는다. 코딩상의 문제일까?

AS2와 AS3간의 LocalConnection

 

- 2에서 보내고 3에서 받을 때 가능

- 2에서 BitmapData를 3으로 전달하여 이미지로 생성해보려고 시도했지만, 데이터전달이 되지 않음(null).

- 파라미터의 허용 크기는 40kb

filter(GlowFilter)를 입힌 무비클립의 좌표이동 (06.12.31)

 

- GlowFilter필터(다른 필터는 아직 모른다..)를 적용한 무비클립은 좌표이동시 1pixel단위로만 이동이 가능하다.

- 일반 무비클립은 0.5픽셀씩 이동

'Flash > AS2.0' 카테고리의 다른 글

Stage //2007/02/12 18:37  (0) 2012.06.05
AS2와 AS3간의 LocalConnection  (0) 2012.06.05
printJob (06.12.28)  (0) 2012.06.05
projecter(exe) 2byte 경로명 문제 (06.12.8)  (0) 2012.06.05
onUnLoad를 적용한 swf(06.10.23)  (0) 2012.06.05

printJob (06.12.28)

printJob (06.12.28)

 

- printJob은 마스크가 적용된다.

- printJob은 무비클립전체가 아니라 0,0을 기준으로 인쇄한다.

projecter(exe)파일 2byte 경로명 문제 (06.12.8)

 

- exe로 생성하면 swf, flv 파일의 경로명에 2byte문자가 포함되어 있을때 해당 파일을 로드하지 못한다.

 

- 경로명 가장 앞에 '/'를 붙이면 swf파일은 이와 관계없이 로드가 가능하지만 flv파일은 여전히 로드가 안된다.

(flash8, FLVplayBack 사용시)

onUnLoad를 적용한 swf(06.10.23) - 리퀴드브레인 LG C1 Express Dual

 

- onUnLoad를 적용한 swf를 같은 무비클립에 연속로드시에는 IE와 SA플레이어에서 (테스트무비는 이상없음)

MovieClipLoader의 onLoadInit가 제대로 작동하지 않는다.

 

- 각각의 swf를 각각의 무비클립에 로드하면 이상없음.

accessibility (06.10.20)

accessibility (06.10.20)

 

- 시각 장애인에게는 모션이나 그래픽은 불필요하다

- 판독기(WindowEyes)가 액션스크립트로 적용된 부분을 알아채지 못한다

  (텍스트 필드는 별도 설정없이 읽는다)

- 최대한 텍스트를 살려서 만든다.

 

* Accessibility.isActive():Boolean 이용

 -> true = 텍스트로 구성

 -> false = 그래픽으로 구성

 

* WindowEyes - 스테이지에 직접위치시킨 무비클립안의 텍스트필드는 외부(_root)의 텍스트 필드와 닿아야만 인식.

 (Accessibility.isActive() 확인 이후에 생성(런타임 생성?)된 텍스트필드는 정상인식)

마스크가 씌워진 무비클립안에서의 마스크(06.10.18)

 

- 일반 마스크는 가능

 

블러를 적용한 (cacheAsBitmap=true)마스크는 불가능