AS3.0 Cookbook/비디오2008. 9. 20. 19:28

비디오 객체는 사용자 PC의 카메라에서 퐐영된 정보를 받을 수 있다. 서버에서 전송되는 영상의 데이터를 attachNetStream()를 이용하여 읽는다면 PC카메라의 영상은 attachCamera()를 사용하여 전송되는 영상을 읽어 화면에 보여주게 된다. 따라서 attachCamera()에  Camera의 Delegator를 설정하면 된다.

Posted by 버터백통
AS3.0 Cookbook/XML2008. 9. 20. 18:58

XML에 html문법이나 자바스크립트를 설정하고 싶으면 <![CDATA[[코드]]> 노드를 사용한다.
<![CDATA[코드]]>노드는 XML 파서에 의해 해석하지 말고 그대로 브라우저에 출력하라는 명령문으로 html의 링크나 자바스크립트 명령문을 설정하여 이를 호출하여 사용할 수 있다.

var data2:XML =  
<test>
          <![CDATA[<a href="htttp://www.daum.net">다음</a>]]>
            </test>

var data3:XML =  
<test>
          <![CDATA[<a href="javascript:alert('test')">얼랏</a>]]>
         </test >

또는 자바스크립트인 경우 직접 함수를 선언할 수 있다.
var alert:XML =  
<alert>
       <![CDATA[
        function alertFunc(str)
        {
            alert(str);
        }
       ]]>
</alert>











Posted by 버터백통
AS3.0 Cookbook/XML2008. 9. 20. 18:49

XML데이터의 노드를 찾기 위해서는 Xpath나 서술필터링을 사용하여 노드 데이터로 접근한다.
Xpath는 계층구조의 트리형태로 접근하여 노드나 값을 접근하고 서술 필터링은 조건식을 사용하여 노드나 값에 접근한다.

var data1:XML =  <foods>
          <fruits>
           <fruit color="red">
            <name>Apple</name>
           </fruit>
           <fruit color="orange">
            <name>Orange</name>
           </fruit>
           <fruit color="green">
            <name>WaterMelone</name>
           </fruit>
           <servings>3</servings>
          </fruits>
          <vegetables>
           <vegetable color="red">
            <name>토마토</name>
           </vegetable>
           <vegetable color="brown">
            <name>감자</name>
           </vegetable>
           <vegetable color="green">
            <name>양파</name>
           </vegetable>
           <servings>2</servings>
           <vegetable color="green">
            <name>멜론</name>
           </vegetable>
           <servings>2</servings>
          </vegetables>
         </foods>;

[ Xpath방식  ]
- 계층(트리)구조식로 데이터 접근

var fruitsList:XMLList    = data1.fruits.fruit;
trace("******** fruitsList ******** \n " , fruitsList )

<fruit color="red">
  <name>Apple</name>
</fruit>
<fruit color="orange">
  <name>Orange</name>
</fruit>
<fruit color="green">
  <name>WaterMelone</name>
</fruit>

var apple:XML      = data1.fruits.fruit[0];
trace("******** apple ******** \n " , apple )

<fruit color="red">
  <name>Apple</name>
</fruit>


var vegetableList:XMLList   = data1..vegetable;
trace("******** vegetableList ******** \n " , vegetableList )

<vegetable color="red">
  <name>토마토</name>
</vegetable>
<vegetable color="brown">
  <name>감자</name>
</vegetable>
<vegetable color="green">
  <name>양파</name>
</vegetable>
<vegetable color="green">
  <name>멜론</name>
</vegetable>


var servings:XMLList    = data1.*.servings;
trace("******** servings ******** \n " , servings )

<servings>3</servings>
<servings>2</servings>
<servings>2</servings>

var color:XMLList     = data1.fruits.fruit.@color;
trace("******** color ******** \n " , color )

redorangegreen

[ 서술 필터링 ]
- 서술필터링은 조건형식으로 사용, 조건에 맞는 속성/노드를 선택 


trace("******** fruit red color ******** \n " , data1..fruit.(@color == "red") ); 
<fruit color="red">
  <name>Apple</name>
</fruit>

trace("******** vegetable green color ******** \n " , data1..vegetable.(@color == "green") ); 
<vegetable color="green">
  <name>양파</name>
</vegetable>
<vegetable color="green">
  <name>멜론</name>
</vegetable>

trace("******** 사과의 컬러 속성 ******** \n " , data1..fruit.(name=="Apple").@color) 
red


* 첫문자 모음 출력
trace("******** 모음 출력 ******** \n " , data1..fruit.(/^[aeiouAEIOU].*/.test(name) ) ) 
<fruit color="red">
  <name>Apple</name>
</fruit>
<fruit color="orange">
  <name>Orange</name>
</fruit>
Posted by 버터백통