2012-03-15 6 views
3

나는 웹에서 찾은 기능을 이해하려고 시도하고 있습니다. 기능이 무엇인지 알 수 있습니다. 컴퓨터의 웹캠에 대한 정보를 얻고 textArea에 게시하십시오.기능을 이해하려고 시도 중입니다.

하지만 개별 라인은 약간 혼동 스럽습니다.

어떤 도움이 필요합니까?

감사

private var camera:Camera; 
private function list_change(evt:ListEvent):void { 
var tList:List = evt.currentTarget as List; 
var cameraName:String = tList.selectedIndex.toString(); 
camera = Camera.getCamera(cameraName); 
textArea.text = ObjectUtil.toString(camera); 
} 

답변

7
private var camera:Camera; 

이 줄은 클래스 형 카메라의 변수를 만듭니다. 변수의 인스턴스를 작성하지 않습니다.

private function list_change(evt:ListEvent):void { 

이 줄은 표준 기능 표제입니다. 인수는 ListEvent이므로이 함수는 아마도 이벤트 처리기로 작성된 것으로 생각됩니다. 함수의 이름 때문에 목록에서 변경 이벤트를 수신하는 것이 가장 좋습니다.

var tList:List = evt.currentTarget as List; 

이 줄은이 처리기를 실행시킨 이벤트를 전달한 목록에 대한 참조를 만듭니다.

var cameraName:String = tList.selectedIndex.toString(); 

이 줄은 selectedIndex를 문자열로 변환합니다. 인덱스를 문자열로 변환하는 것은 다소 이상합니다. 일부 값과 반대입니다. 그러나 그 다음 줄에 보이는 할 이유 ..

camera = Camera.getCamera(cameraName); 

이 실제로 (1 행에서 다시 정의) 및 카메라 변수가 카메라의 인스턴스를 얻는 것을 사용한다. "cameraName"을 사용하면이 변경 이벤트를 전달한 목록에 시스템에서 사용할 수있는 카메라 목록이 포함되어 있다고 생각하게됩니다.

textArea.text = ObjectUtil.toString(camera); 

카메라 객체를 문자열로 변환하고 텍스트 영역에 표시합니다. 일반적으로 귀중한 데이터를 제공하지 않으므로이 작업을 시도하지 마십시오. 기본 개체는 문자열을 [개체 개체] 또는 유사한 것으로 표시합니다. 아마도 카메라 객체는 커스텀 문자열 함수를 가지고있을 것입니다; 나는 그 경험이 없다. 일반적으로 객체의 속성에 액세스하여 유용한 정보를 얻고 객체 자체에서이 정보를 사용하려고합니다.

} 

이 줄은 기능의 끝입니다. 열린 대괄호는 함수 정의의 두 번째 코드 줄에 있습니다.

+0

대단히 감사합니다. 이것은 제가 생각해 왔던 다른 것을 이해하는 데 도움이 될 것입니다. – Dymond

관련 문제