2012-03-15 2 views
3

Im пытается подстроить функцию, которую я нашел в Интернете. Знаю, что делает функция, Она получает информацию о веб-камере на вашем компьютере и размещает ее на текстовой странице,Попытка понять функцию

Но отдельная строка немного сбита с толку.

Любая помощь?

Благодаря

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; 

Эта строка создает переменную типа класса 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), и на самом деле получает экземпляр камеры. Он использует «имя камеры», из-за чего я считаю, что список, отправивший это событие изменения, содержит список камер, доступных в системе.

textArea.text = ObjectUtil.toString(camera); 

Это преобразует объект камеры в строку и отображает ее в текстовой области. Обычно вы не пытаетесь сделать это, поскольку не предоставляют никаких ценных данных. Объект по умолчанию будет отображать строки как [Объект объекта] или что-то подобное. Возможно, объект камеры имеет собственную строковую функцию; У меня нет опыта с этим. Обычно вы хотите получить доступ к свойствам объекта, чтобы получить полезную информацию, а не попробовать это на самом объекте.

} 

Эта линия является концом функции. Открытая скобка находилась во второй строке кода в определении функции.

+0

Большое спасибо. Это поможет мне понять другую вещь, о которой я думал – Dymond

Смежные вопросы