'분류 전체보기'에 해당되는 글 134건

  1. setNewTextFormat , setTextFormat //2007/03/20 00:35
  2. crossdomain //2007/03/18 14:44
  3. Event
  4. XMLNE
  5. XMLLoaderNE
  6. Adapter
  7. SimpleButtonHandler //2007/03/18 13:22
  8. 한글 워드랩 메쏘드 //2007/03/10 17:49
  9. loadBitmap() //2007/03/01 22:52
  10. Stage //2007/02/12 18:37
  11. AS2와 AS3간의 LocalConnection
  12. filter(GlowFilter)를 입힌 무비클립의 좌표이동 (06.12.31) 1
  13. printJob (06.12.28)
  14. projecter(exe) 2byte 경로명 문제 (06.12.8)
  15. onUnLoad를 적용한 swf(06.10.23)

setNewTextFormat 은 텍스트포멧 설정 후에 텍스트를 입력해야한다. 이전에 입력된 텍스트에는 적용이되지 않는다.

setTextFormat 은 설정 전 텍스트가 입력되어 있어야한다. 이후에 텍스트가 입력되면 텍스트포멧은 사라진다.

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

Flash 8 | FlashPlayer 8 로컬 보안 해법 //2007/03/22 14:53  (1) 2012.06.05
playheadUpdate //2007/03/21 10:09  (1) 2012.06.05
crossdomain //2007/03/18 14:44  (0) 2012.06.05
Event  (0) 2012.06.05
XMLNE  (0) 2012.06.05

crossdomain //2007/03/18 14:44

크로스 도메인 설정에

- 영향이 있는 파일 : php/asp 등 웹언어, swf, xml, txt

- 영향이 없는 파일 : 이미지파일, flv파일

 

(이미지 파일은 다른 도메인일 경우 로드는 되지만, BitmapData draw는 되지 않는다)

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

playheadUpdate //2007/03/21 10:09  (1) 2012.06.05
setNewTextFormat , setTextFormat //2007/03/20 00:35  (0) 2012.06.05
Event  (0) 2012.06.05
XMLNE  (0) 2012.06.05
XMLLoaderNE  (0) 2012.06.05

Event

class com.showjean.Event {
	public static function get COMPLETE():String {	return "complete";	}
	public static function get ERROR():String 	{	return "error";	}
	public static function get START():String 	{	return "start";	}
	public static function get PROGRESS():String {	return "progress";	}
	public static function get INIT():String {	return "init";	}
}

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

setNewTextFormat , setTextFormat //2007/03/20 00:35  (0) 2012.06.05
crossdomain //2007/03/18 14:44  (0) 2012.06.05
XMLNE  (0) 2012.06.05
XMLLoaderNE  (0) 2012.06.05
Adapter  (0) 2012.06.05

XMLNE

/*
 * XMLNE 
 *
 * @author: showjean in http://showjean.com/works
 * @version: 1.0.0
 * @date: 2008.7.11.
 *
 * @comment: XML의 각 노드의 속성과 노드밸류를 Object형태로 반환
 
 var xml:XML = new XML('
 
	
		
			showjean
		
		
			qwer
		
		
			1111
		
	

');
 
 
 var obj:Object = XMLNE.create(xml.firstChild);
 
 obj.attributes.text -> "abcd"
 obj.test[0].attributes.name -> "dododo"
 obj.test[0].unit[0].value -> "showjean"
 obj.test[0].unit[0].attributes.type -> "string"
 
 * 
 */
class com.showjean.XMLNE { 

	public static function create(xml:XMLNode):Object {
		var x:XMLNE = new XMLNE();
		return x.adapt(xml);
	}
	private function adapt(xml:XMLNode):Object {
		var obj:Object = new Object();

		// 속성 저장/
		for (var name in xml.attributes) {
			obj.attributes = xml.attributes;
			break;
		}
		for (var currentNode:XMLNode = xml.firstChild; currentNode != null; currentNode=currentNode.nextSibling) {
			var name:String = currentNode.nodeName;
			if (currentNode.nodeType == 1) {
				if (obj[name] == undefined) {
					obj[name] = new Array();
				}
				obj[name].push(arguments.callee(currentNode));
			} else if (currentNode.nodeType == 3) {
				obj["value"] = currentNode.nodeValue;
			}
		}
		return obj;
	}
}

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

crossdomain //2007/03/18 14:44  (0) 2012.06.05
Event  (0) 2012.06.05
XMLLoaderNE  (0) 2012.06.05
Adapter  (0) 2012.06.05
SimpleButtonHandler //2007/03/18 13:22  (0) 2012.06.05

XMLLoaderNE

/*
* XMLLoaderNE
*
* @author: showjean in http://showjean.com/works
* @version: 1.0.0
* @date: 2008.11.25.
*
* @comment: event - 
*/
import mx.events.EventDispatcher;
import com.showjean.utils.Adapter;
import com.showjean.Event;
class com.showjean.net.XMLLoaderNE extends EventDispatcher {
	private var _interval:Number;
	private var _xml:XML;
	//
	public function XMLLoaderNE() {
	}
	//로드 진행을 알리는 메소드. 
	private function checkProgress():Void {
		var l:Number = _xml.getBytesLoaded();
		if (l>0) {
			dispatchEvent({type:Event.PROGRESS, bytesLoaded:l, bytesTotal:_xml.getBytesTotal()});
		}
	}
	private function callProgressor():Void {
		clearInterval(_interval);
		_interval = _global.setInterval(this, "checkProgress", 30);
	}
	public function load(tar:String):Void {
		_xml = new XML();
		_xml.ignoreWhite = true;
		_xml.load(tar);
		callProgressor();
		_xml.onLoad = Adapter.wrap(this, __xmlLoaded, tar);
	}
	private function __xmlLoaded(suc:Boolean, tar:String):Void {
		clearInterval(_interval);
		if (suc) {
			//trace("XML loaded");
			checkProgress();
			dispatchEvent({type:Event.COMPLETE, data:_xml, url:tar});
		} else {
			//trace("XML load failed");
			dispatchEvent({type:Event.ERROR, data:_xml, url:tar});
		}
	}
}



- 사용법

System.useCodepage = true;
import com.showjean.net.XMLLoaderNE;
import com.showjean.Event;
import com.showjean.utils.Adapter;
import com.showjean.XMLNE;


var lv = new XMLLoaderNE();
lv.load("test.xml");
lv.addEventListener(Event.COMPLETE,this);
lv.addEventListener(Event.PROGRESS,this);
var obj:Object;
function complete(evt:Object):Void {
	trace(evt.data);
	obj = XMLNE.create(evt.target.firstChild);
	trace(obj.attributes.text);// -> "abcd"
	trace(obj.test[0].attributes.name);// -> "dododo"
	trace(obj.test[0].unit[0].value);// -> "showjean"
	trace(obj.test[0].unit[0].attributes.type);// -> "string"
}
function progress(evt:Object):Void {
	//trace(evt.target.getBytesLoaded());
}


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

Event  (0) 2012.06.05
XMLNE  (0) 2012.06.05
Adapter  (0) 2012.06.05
SimpleButtonHandler //2007/03/18 13:22  (0) 2012.06.05
한글 워드랩 메쏘드 //2007/03/10 17:49  (0) 2012.06.05

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를 각각의 무비클립에 로드하면 이상없음.