<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.flasia.com &#187; ActionScript 2.0</title>
	<atom:link href="http://blog.flasia.com/archives/category/actionscript2/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.flasia.com</link>
	<description>[object MainTimeline]</description>
	<lastBuildDate>Thu, 02 Jun 2011 10:51:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[AS 2.0] LoadVars 클래스의 onLoad 와 onData</title>
		<link>http://blog.flasia.com/archives/58</link>
		<comments>http://blog.flasia.com/archives/58#comments</comments>
		<pubDate>Thu, 20 Nov 2008 04:41:48 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[ActionScript 2.0]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[LoadVars]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=58</guid>
		<description><![CDATA[LoadVars.onLoad() 메서드와 LoadVars.onData() 메서드의 차이점을 알아보자.

예를 들어, data.txt의 내용이 다음과 같을 때

&#038;mydata=A+B-C*D/ [...]]]></description>
			<content:encoded><![CDATA[<p>LoadVars.onLoad() 메서드와 LoadVars.onData() 메서드의 차이점을 알아보자.<br />
<span id="more-58"></span><br />
예를 들어, data.txt의 내용이 다음과 같을 때</p>
<pre class="brush:as3">
&#038;mydata=A+B-C*D/E&#038;</pre>
<pre class="brush:as3">
var myLoader:LoadVars = new LoadVars();
myLoader.onLoad = function (success:Boolean):Void {
    if (success) {
		trace(" ----- load success ----- ");
		for(var property in this){
			trace(property + ", Type=" + typeof this[property] + ", Value=" + this[property]);
		}
    } else {
		trace(" ----- load fail ----- ");

    }
}

myLoader.load("data.txt");

// Output
// ----- load success -----
//mydata, Type=string, Value=A B-C*D/E
//onLoad, Type=function, Value=[type Function]</pre>
<p>결과를 보면 &#8220;+&#8221; 가 빈칸으로 나온다.</p>
<pre class="brush:as3">
var myLoader:LoadVars = new LoadVars();
myLoader.onData = function (src:String):Void {
    if (src != undefined) {
		trace(" ----- load success ----- ");
        trace(src);
    } else {
       trace(" ----- load fail ----- ");
    }
}

myLoader.load("data.txt");

// Output
// ----- load success -----
//&#038;mydata=A+B-C*D/E&#038;</pre>
<p>결과를 보면 모든 데이터를 정상적으로 불러온다. </p>
<p>이 처럼 LoadVars.onLoad() 메서드에서만 &#8220;+&#8221;값이 빈칸으로 나오는 이유는 LoadVars.onLoad() 메서드는 읽어온 변수를 우선 파싱한 뒤, LoadVars 객체 인스턴스에 변수를 만들기 때문이다~</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/58/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS 2.0] 단독 조건 연산자 (if문을간단하게)</title>
		<link>http://blog.flasia.com/archives/55</link>
		<comments>http://blog.flasia.com/archives/55#comments</comments>
		<pubDate>Sat, 15 Nov 2008 04:32:24 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[ActionScript 2.0]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=55</guid>
		<description><![CDATA[간단한 조건문일 경우 단독 조건 연산자를&#8230;
(조건) ? 참일 경우 : 거짓일 경우; 

var myNum:Number = 0;
(myNum > 0) ? trace("myNum > 0")  [...]]]></description>
			<content:encoded><![CDATA[<p>간단한 조건문일 경우 단독 조건 연산자를&#8230;<br />
(조건) ? 참일 경우 : 거짓일 경우; </p>
<pre class="brush:as3">
var myNum:Number = 0;
(myNum > 0) ? trace("myNum > 0") : trace("myNum <= 0");
//Output
//myNum <= 0</pre>
<p><span id="more-55"></span><br />
<strong>조건 연산자 및 대체 구문</strong><br />
단축키를 선호하는 경우 "조건 표현식"이라고도 하는 조건 연산자(?:)를 사용할 수 있습니다. 조건 연산자는 간단한 if..else 문을 한 줄 코드로 변환합니다. 연산자를 사용하면 더 적은 분량의 코드로도 동일한 작업을 수행할 수 있지만 ActionScript를 읽기는 더 어려워집니다.</p>
<p>다음 조건은 긴 코드로 작성되어 numTwo 변수가 0보다 큰지 확인한 다음 numOne/numTwo 결과나 carrot의 문자열을 반환합니다. </p>
<pre class="brush:as3">
var numOne:Number = 8;
var numTwo:Number = 5;
if (numTwo > 0) {
  trace(numOne / numTwo); // 1.6
} else {
  trace("carrot");
}</pre>
<p>조건 표현식을 사용할 경우 다음 형식으로 같은 코드를 작성할 수 있습니다. </p>
<pre class="brush:as3">
var numOne:Number = 8;
var numTwo:Number = 0;
trace((numTwo > 0) ? numOne/numTwo : "carrot");</pre>
<p>이와 같이 짧아진 구문의 경우 가독성이 낮아지므로 권장되는 방법이 아닙니다. 조건 연산자를 사용해야 하는 경우 물음표(?) 앞의 선행 조건을 괄호 안에 넣으십시오. 그러면 ActionScript의 가독성을 높일 수 있습니다. 다음 코드는 가독성이 향상된 ActionScript의 예제입니다. </p>
<pre class="brush:as3">
var numOne:Number;
(numOne >= 5) ? numOne : -numOne;</pre>
<p>다음 예제에서와 같이 부울 값을 반환하는 조건문을 작성할 수 있습니다. </p>
<pre class="brush:as3">if (cartArr.length > 0) {
  return true;
} else {
  return false;
}</pre>
<p>앞의 코드와 비교해 볼 때 다음 예제에서와 같이 ActionScript를 사용하는 것이 더 좋습니다.</p>
<pre class="brush:as3">
return (cartArr.length > 0);</pre>
<p>두 번째 코드는 보다 짧고 계산할 표현식이 적습니다. 이 코드는 읽고 이해하기가 더 쉽습니다.</p>
<p>복 잡한 조건을 작성하는 경우 괄호[()]를 사용하여 조건을 그룹화하는 것이 좋습니다. 괄호를 사용하지 않으면 제작자 또는 ActionScript를 사용하는 다른 사람이 실행할 때 연산자 우선 순위 오류가 발생할 수 있습니다. 연산자 우선 순위에 대한 자세한 내용은 연산자 우선 순위와 연산 순서를 참조하십시오.</p>
<p>예를 들어, 다음 코드에서는 조건 앞뒤에 괄호를 사용하지 않았습니다. </p>
<pre class="brush:as3">
if (fruit == "apple" &#038;&#038; veggie == "leek") {}</pre>
<p>다음 코드에서는 조건 앞뒤에 괄호를 추가했습니다. </p>
<pre class="brush:as3">
if ((fruit == "apple") &#038;&#038; (veggie == "leek")) {}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/55/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS 2.0] swf파일이 들어있는 페이지의 URL알아내기</title>
		<link>http://blog.flasia.com/archives/50</link>
		<comments>http://blog.flasia.com/archives/50#comments</comments>
		<pubDate>Fri, 07 Nov 2008 04:21:40 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[ActionScript 2.0]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[ExternalInterface]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=50</guid>
		<description><![CDATA[ExternalInterface을 이용하면 현재 swf파일이 들어있는 페이지의 URL을 알아낼 수 있다.

import flash.external.*;

if (ExternalInterface.av [...]]]></description>
			<content:encoded><![CDATA[<p>ExternalInterface을 이용하면 현재 swf파일이 들어있는 페이지의 URL을 알아낼 수 있다.</p>
<pre class="brush:as3">
import flash.external.*;

if (ExternalInterface.available) {
    var rel:String = String(ExternalInterface.call("location.href.replace"));
    trace(rel);
    textOutput.text = "This Page URL is : " + rel;
}
else{
    trace("NULL");
    textOutput.text = "This Page URL is : undefined";
}</pre>
<p><span id="more-50"></span><br />
이것을 split();를 사용해서 배열에 저장하고 배열을 이용하면 원하는 조건을 찾을 수 있다. </p>
<pre class="brush:as3">
import flash.external.*;

if (ExternalInterface.available) {
    var rel:String = String(ExternalInterface.call("location.href.replace"));
    var rel_array:Array = new Array();
    rel_array = rel.split(".");
    for(var i=0; i<rel_array.length; i++){
        trace(rel_array[i]);
        if(rel_array[i] == "flasia"){
            textOutput.text = " == FLASIA domain == ";
        }
        else{
            textOutput.text = " == ????? == ";
        }
    }
}
else{
    trace("NULL");
    textOutput.text = "This Page URL is : undefined";
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/50/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS 2.0] 이미지로드 후 이미지 정보 가져오기</title>
		<link>http://blog.flasia.com/archives/48</link>
		<comments>http://blog.flasia.com/archives/48#comments</comments>
		<pubDate>Thu, 30 Oct 2008 04:19:38 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[ActionScript 2.0]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=48</guid>
		<description><![CDATA[
var img_loader:Object = new Object();
img_loader.onLoadInit = function(target_mc:MovieClip){
    trace(target_mc._name + " Width = " + target_mc._width);
    trace(target_mc._name + " Height = " + target_mc._height);
}

var img_mcl:MovieClipLoader = new MovieClipLoader();
img_mcl.addListener(img_loader);

this.createEmptyMovieClip("mc", this.getNextHighestDepth());

var img_url:String = "photo.jpg";

img_mcl.loadClip(img_url, mc);

//---------- Output ----------
//mc Width = 152
//mc Height = 114
]]></description>
			<content:encoded><![CDATA[<pre class="brush:as3">
var img_loader:Object = new Object();
img_loader.onLoadInit = function(target_mc:MovieClip){
    trace(target_mc._name + " Width = " + target_mc._width);
    trace(target_mc._name + " Height = " + target_mc._height);
}

var img_mcl:MovieClipLoader = new MovieClipLoader();
img_mcl.addListener(img_loader);

this.createEmptyMovieClip("mc", this.getNextHighestDepth());

var img_url:String = "photo.jpg";

img_mcl.loadClip(img_url, mc);

//---------- Output ----------
//mc Width = 152
//mc Height = 114</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/48/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS 2.0] 선택 및 삭제 샘플</title>
		<link>http://blog.flasia.com/archives/38</link>
		<comments>http://blog.flasia.com/archives/38#comments</comments>
		<pubDate>Mon, 27 Oct 2008 02:43:16 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[ActionScript 2.0]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=38</guid>
		<description><![CDATA[다수의 무비클립이나 버튼을 선택 하거나 선택해제 한 뒤, 선택된 무비클립이나 버튼의 값(혹은 변수)만 뽑아내려는 경우.



//Create TextField / TextFormat Setting
 [...]]]></description>
			<content:encoded><![CDATA[<p>다수의 무비클립이나 버튼을 선택 하거나 선택해제 한 뒤, 선택된 무비클립이나 버튼의 값(혹은 변수)만 뽑아내려는 경우.<br />
<object width="550" height="80" data="http://blog.flasia.com/wp-content/uploads/2009/01/overlapping.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="wmode" value="window" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/01/overlapping.swf" /></object><br />
<span id="more-38"></span></p>
<pre class="brush:as3">
//Create TextField / TextFormat Setting
this.createTextField("SearchItem",this.getNextHighestDepth(),10,10,520,18);
SearchItem.border = true;
SearchItem.borderColor = 0x666666;

var myformat:TextFormat = new TextFormat();
myformat.font = "Verdana";
myformat.size = 9;
myformat.color = 0x999999;
myformat.letterSpacing = 0;

SearchItem.text = "Not Selected";
SearchItem.setTextFormat(myformat);

var BoxNumber:Number = 12;

var ItemArray:Array = new Array();
for (var i = 0; i <= BoxNumber; i++) {
    ItemArray[i] = i;

    this["NowSelectedBox" + i] = "off";
}

var ItemArraySelected:Array = new Array();

var SendURL:String = "http://www.domain.com/send.php?";

//Event Function (onLoad, EnterFrame, Over, Out, Click)
function BoxLoad(who) {
    who.stop();
}

function BoxEnterFrame(who) {
    var NumOfName:Number = who._name.substr(3, 2);

    if (this["NowSelectedBox" + NumOfName] == "off") {
        who.prevFrame();
    }
    else if (this["NowSelectedBox" + NumOfName] == "on") {
        who.nextFrame();
    }
}

function BoxOver(who) {
    var NumOfName:Number = who._name.substr(3, 2);

    if (this["NowSelectedBox" + NumOfName] == "off") {
        who.onEnterFrame = function() {
            if (who._currentframe != who._totalframes) {
                who.nextFrame();
            }
            else {
                who.gotoAndStop(who._totalframes);
                delete this.onEnterFrame;
            }
        };
    }
}

function BoxOut(who) {
    var NumOfName:Number = who._name.substr(3, 2);

    if (this["NowSelectedBox" + NumOfName] == "off") {
        who.onEnterFrame = function() {
            if (who._currentframe != 1) {
                who.prevFrame();
            }
            else {
                who.gotoAndStop(1);
                delete this.onEnterFrame;
            }
        };
    }
}

function BoxClick(who) {
    var NumOfName:Number = who._name.substr(3, 2);

    if (this["NowSelectedBox" + NumOfName] == "off") {
        this["NowSelectedBox" + NumOfName] = "on";
        if (ItemArray[NumOfName] != "") {
            _root.ItemArraySelected.push(ItemArray[NumOfName]);
            _root.SearchItem.text = _root.SendURL + "area=" + _root.ItemArraySelected.join("&#038;");
            SearchItem.setTextFormat(myformat);
        }
    }
    else if (this["NowSelectedBox" + NumOfName] == "on") {
        this["NowSelectedBox" + NumOfName] = "off";
        if (ItemArray[NumOfName] != "") {
            for (var i:Number = 0; i < ItemArraySelected.length; i++) {
                if (ItemArraySelected[i] == ItemArray[NumOfName]) {
                    ItemArraySelected.splice(i,1);
                    i =- i;

                    _root.SearchItem.text = _root.SendURL + "area=" + _root.ItemArraySelected.join("&#038;");
                    SearchItem.setTextFormat(myformat);
                }
            }
        }
    }
}

//Event Setting
for (var i = 0; i <= BoxNumber; i++) {
    _root.attachMovie("Box","Box" + i,this.getNextHighestDepth());
    _root["Box" + i]._x = (i * 40) + 12;
    _root["Box" + i]._y = 40;
    _root["Box" + i].TextNum.text = i;

    _root["Box" + i].onEnterFrame = function() {
        BoxEnterFrame(this);
    };
    _root["Box" + i].onRollOver = function() {
        BoxOver(this);
    };
    _root["Box" + i].onRollOut = function() {
        BoxOut(this);
    };
    _root["Box" + i].onRelease = function() {
        BoxClick(this);
    };
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/38/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS 2.0] for..in 구문을 이용해서 속성값 확인</title>
		<link>http://blog.flasia.com/archives/33</link>
		<comments>http://blog.flasia.com/archives/33#comments</comments>
		<pubDate>Wed, 22 Oct 2008 02:17:39 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[ActionScript 2.0]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=33</guid>
		<description><![CDATA[AS 2.0에서 for..in 구문을 이용해서 모든 속성값을 확인하는 방법.


//CheckProperty.as
class CheckProperty{

    //Constructor
    function CheckProperty(){
        trace("===== CheckProperty Constructor Load Success =====");
    }

    function startCheckProperty(){
        for(var property in arguments[0]){
    [...]]]></description>
			<content:encoded><![CDATA[<p>AS 2.0에서 for..in 구문을 이용해서 모든 속성값을 확인하는 방법.<br />
<span id="more-33"></span></p>
<pre class="brush:as3">
//CheckProperty.as
class CheckProperty{

    //Constructor
    function CheckProperty(){
        trace("===== CheckProperty Constructor Load Success =====");
    }

    function startCheckProperty(){
        for(var property in arguments[0]){
            trace(property + " : (" + typeof arguments[0][property] + ") ==> " + arguments[0][property]);
        }
    }
}</pre>
<pre class="brush:as3">
//CheckProperty.fla
var myCheckProperty:CheckProperty = new CheckProperty();
myCheckProperty.startCheckProperty(this);

//Output
//===== CheckProperty Constructor Load Success =====
//myCheckProperty : (object) ==> [object Object]
//$version : (string) ==> WIN 9,0,45,0</pre>
<pre class="brush:as3">
Ball = function(){
 this.radius = arguments[0];
 this.color = arguments[1];
 this.xPosition = arguments[2];
 this.yPosition = arguments[3];
}

myBall = new Ball(10, 0xFF0000, 50, 15);
for(var property in myBall){
 trace(property + " : (" + typeof myBall[property] + ") ==> " + myBall[property]);
}

// ---------- 결과 값 ----------
// yPosition : (number) ==> 15
// xPosition : (number) ==> 59
// color : (number) ==> 16711680
// radius : (number) ==> 10  </pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/33/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS 2.0] Elastic의 기본</title>
		<link>http://blog.flasia.com/archives/31</link>
		<comments>http://blog.flasia.com/archives/31#comments</comments>
		<pubDate>Sun, 19 Oct 2008 02:14:10 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[ActionScript 2.0]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Elastic]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=31</guid>
		<description><![CDATA[
var SpeedX:Number = 0.2;  //탄성움직임의 속도
var TargetX:Number = 100;  //탄성움직임 목표값

obj._x = obj._x + SpeedX*(Targe [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush:as3">
var SpeedX:Number = 0.2;  //탄성움직임의 속도
var TargetX:Number = 100;  //탄성움직임 목표값

obj._x = obj._x + SpeedX*(TargetX - obj._x);</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/31/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

