Скачать 1.52 Mb.
|
Типы данных ActionScriptНа этом уроке по ActionScript мы рассмотрим 5 вопросов:
ActionScript 3 – это язык программирования, который требует обязательной записи типа данных ActionScript при создании переменных. Это значит, что он распознает какой тип данных присвоен переменной и Вы должны следовать этому подходу, программируя на этом языке. Типы данных. Общая информацияЯзыки программирования, базы данных и другие компьютерные программы должны различать типы данных с которыми они работают. Если тип данных не определен программой, то в таком случае компьютер обычно делает ошибку (в работе с AS3 наиболее часто используемый способ проверки — метод trace ActionScript). Например, если у Вас на компьютере установлена операционная система Microsoft Windows, и Вы сохранили серию файлов с именами начинающимися с цифры, то они будут отсортированы некорректно. После файла с именем 1.png последует 10.png, а не 2.png. Это происходит потому, что Windows воспринимает имена файлов не как цифры, а как буквы. Т.е. имена файлов по своему типу являются строками, а не числами. В этом случае каждая буква и цифра (которая в данном случае не является числом!) имеет свой номер в общем ряду всех букв и цифр. Поэтому все имена файлов, начинающиеся с 1 (1, 11, 15, 124, 10345 и т.д.) всегда будут показываться раньше чем файлы начинающиеся с цифры 2. Подобные проблемы могут быть легко решены при помощи типов данных. Если мы можем сообщить программе, что определенная часть кода по своему типу является числом, то и программа будет обрабатывать его соответствующим образом: сортировать, производить необходимые математические операции и пр. О типах данных в ActionScriptОсновные типы данных ActionscriptСуществует 3 основных типа данных ActionScript: Null, void и Object. Null (ноль) может иметь единственное значение – отсутствие значения. Это означает, что у переменной нет значения. При этом, заметьте, что null – это не 0 и не пустая строка, т.к. последние имеют определенное значение. Подобно типу данных Null, void (неопределенный) имеет единственное значение: undefined (значение не определено). Чаще всего Вы будете встречаться с данным типом, работая с функциями, которые не возвращают никакого значения. Мы обсудим этот вопрос в деталях в соответствующем уроке. Тип данных Object (объект) включает в себя все экземпляры всех классов, в том числе и уже встроенных в ActionScript. Во время наших уроков Вы увидите множество примеров когда будут создаваться экземпляры именно таких объектов. В дополнение к вышеперечисленным основным типам данных Actionscript, распознается как тип данных любой класс, как изначально встроенный в него, так и созданный Вами. Поэтому, как будет показано далее, Вы можете присваивать переменным такие типы данных как String, Number, Array и т.д. Это в свою очередь означает, Вы создаете переменные, являющиеся экземплярами классов String, Number и Array соответственно. Простые типы данныхПеременной может быть присвоен простой тип данных. В AS3 (ActionScript 3) – это String (строка), Boolean (булевый тип), Number (число), int (целое число) и uint (положительное целое число). Строки (strings) – это буквы, слова, предложения, куски текста, которые могут содержать в себе как буквы так и цифры и пробелы. Строки всегда беруться в кавычки! Это их особенность и отличие от других типов данных при записи. Как объединять строки будет рассказано в отдельном уроке «Объединение (конкатенация) строк». Булевый тип данный (boolean) назван так в честь физика Джоржа Буля. Переменной такого типа может быть присвоено только два значения: либо true (1) либо false (0). Как и в других языках программирования в ActionScript значение true будет соответствовать любому числу отличному от нуля, любой непустой строке. Тип данных Number для работы с любыми числовыми значениями (не строками!). Он содержит в себе 2 подтипа: int (integer) – целое число, которое может как положительным так и отрицательным, и uint (unsigned integer) – только положительное целое число, 0 включительно. Сложные типы данныхИногда Вам будет необходимо сохранить в переменной несколько значений, т.е. не одно. Это можно сделать с помощью сложных типов данных. Один из примеров такого типа – Array (массив), работу с которым мы рассмотрим в серии уроков «Создание массива ActionScript», «Добавление и удаление элементов в массив ActionScript» и др. Декларация типа данныхНазначение типа данных ActionScript переменной происходит во время декларации этой переменной. После имени переменной Вы ставите двоеточие и сразу после пишите тип данных. В большинстве случаев в АctionScript (но не всегда) типом данных будет являться какой-либо класс и поэтому его имя должно начинаться с заглавной буквы. Например, Вы решили создать переменную myName и присвоить ей тип данных String. В результате у Вас должно получиться следующее: var myName:String; Нетипизированные данныеВ определенных ситуациях Вам будет необходимо избежать типизации значения переменной. Сделать это просто: не присваивайте никакой тип данных. Как в следующем примере: var myData; Однако, поступая так Вы можете оставить других программистов, которые возможно будут работать с Вашим кодом, в недоумении: сделали ли Вы это умышленно или это ошибка. Поэтому, если Вы действительно хотите не присваивать переменной никакой тип, то Вы должны записать это с помощью звездочки * (астериск). Например: var myData:*; Оба примера вверху будут работать одинаково. Здесь еще раз хотелось бы напомнить, что нетипизированные данные должны использоваться только когда это абсолютно необходимо! Переменнные, которым присвоен определенный тип данных должны содержать в себе только данные этого типа. Поэтому если Вы будете следовать этому правилу, в дальнейшем Вам будет легко избежать ошибок в коде и исправлять их если таковые возникнут. Каждый раз Вы будете получать сообщение об ошибке с указание номера строки, что очень легко исправить. Если же какая-либо переменная нетипизирована, то сообщения не поступит, но программа работать не будет. Найти где ошибка будет очень сложно. Изменение типа данныхЕсли Вам нужно изменить тип данных Actionscript переменной, то это можно сделать с помощью метода называемого кастингом (casting). Вы просто записываете новый тип данных, а затем в скобках имя переменной. Например: var myName:String = "Valeriy"; Boolean(myName); В этом примере переменной myName назначен тип данных String и присвоено значение Valeriy. Затем мы меняем её тип на Boolean. Здесь важно отметить, что подобная операция по смене типа данных ActionScript не всегда бывает успешна. В показанном выше примере проблем с обработкой кода не будет. Теперь значение переменной myName будет соответствовать true. Мы уже знаем, что любая непустая строка будет приравниваться к true когда речь идет о булевом типе (boolean). Однако, следующий пример проиллюстрирует нам определенные трудности которые иногда возникают во время кастинга. var myName:String = "Valeriy"; Number(myName); После этой операции значение переменной myName будет равно NaN (Not a Number) – не число! Т.е. совсем не то, что мы ожидали. Это произошло потому, что строка, состоящая из букв не может быть преобразована в число. Обратная же операция возможна, потому что строки могут содержать в себе числа. var sum:Number = 356; String(sum); Тестирование на ошибки ActionScript На этом уроке ActionScript мы рассмотрим один вопрос:
Для того чтобы протестировать код на ошибки ActionScript Вы должны просмотреть Ваш flash-фильм при помощи Flash Player'a. Вы можете сделать это в любой момент, следуя той инструкции, которая описана ниже. Если Вы опытный flash-дизайнер, то Вы, наверняка, уже знакомы с возможностью быстрого просмотра ролика, нажав клавиши Ctrl + Enter. Ваш flash-фильм будет запущен непосредственно во Flash CS5, т.е. в интегрированной среде разработки (IDE). Если Ваш ActionScript-код содержит ошибки, то на панели компайлера (compiler) появится сообщение об ошибке ActionScript, в котором Вы увидите номер строки в коде где произошла ошибка и её краткое описание. Чтобы устранить ошибку Actionscript Вы должны:
В случае множественных ошибок во время тестирования, Вы должны устранять их последовательно, тестируя каждый раз после исправления очередной ошибки Actionscript, т.к. одна ошибка в коде может вызвать несколько сообщений. Если Ваш ActionScript-код содержит функцию trace, то вывод результата ее работы будет отображаться в Output panel (панель вывода). О функции trace мы поговорим подробнее в соответствующем уроке «Проверка переменных». При добавлении ActionScript-кода в Ваш проект Вы очень часто будете пользоватьсяпанелью Actions. Вы можете тестировать Ваш flash-фильм в любое время, даже тогда когда панель Actions открыта. Вы даже сможете тестировать его не сохраняя на жестком диске компьютера. Объединение (конкатенация) строк Этот урок ActionScript будет посвящен одному вопросу:
String – это тип данных ActionScript, который Вы будете использовать наиболее часто. Он предназначен для хранения текста и у Вас, наверняка, возникнут ситуации когда Вам нужно будет объединить несколько строк в одну переменную. Это действие называетсяконкатенацией (concatenation). Для целей объединения нескольких строк в одну в ActionScript используется символ "+". Например, если Вам необходимо объединить две переменные типа String в одну, одна из которых содержит имя, а другая фамилию, то Вы можете сделать это следующим образом: var fullName:String = firstName + lastName; Здесь необходимо заметить, что если, например, имя человека Петр, а фамилия Иванов, то в результате Вы получите ПетрИванов, т.е. слитное написание двух слов. Для решения этой проблемы Вы должны добавить символ пробела в кавычках " " между объединяемыми строками. var fullName:String = firstName + " " + lastName; В обоих предыдущих примерах была показана конкатенация в момент декларации переменной. Однако, Вы можете объединять строки в любой момент в процессе их использования, например, когда строка является аргументом в функции или свойством объекта. Объединение (конкатенация) строк Создайте переменную с типом данных String и присвойте ей значение. Создайте вторую переменную того же типа и также присвойте ей определенное значение. ***** Создайте третью переменную с типом данных String. Присвойте значение третьей переменной, объединяя первую и вторую переменные с помощью знака + и записью пробела в кавычках " " между ними. Вы осуществили объединение (конкатенацию) двух переменных в одну. Метод trace ActionScript На этом уроке об ActionScript 3 мы рассмотрим два вопроса:
Метод trace ActionScript К сожалению мы все склонны совершать ошибки, поэтому работая с кодом Вы будете тоже ошибаться. Неправильная запись имени переменной ActionScript или неправильное использование синтаксиса языка – это наиболее типичные ошибки, которые, к счастью,Flash Player помогает сразу выявить. Если подобное происходит, то в панели Compiler Errors Вы увидите соответствующе сообщение. Например: Гораздо труднее выявлять такие ошибки, которые называются логическими (logical errors). Логическая ошибка – это когда у Вас «грамматически» всё написано правильно, но существует ошибка в коде, заставляющая его работать неверно. Например, возможно Вы считаете, что переменной присвоено одно значение, тогда как, в действительности, оно другое. И когда Вы пытаетесь тестировать, проверяя именно это значение, то Вы получаете не то что ожидали. Существует специальный метод trace ActionScript, который также можно назвать функцией или командой, который помогает проверять значения любых переменных. Когда Вы делаете это во время тестирования своего flash-фильма, то они появляются в панели Output (панель вывода). Это тестирование делается именно для того чтобы быть уверенным, что все значения соответствуют ожидаемым. В ActionScript trace является глобальной функцией. Этот метод доступен Вам на любой стадии написания Вашего кода, поэтому Вы можете использовать его в любой момент. Всегда записывайте имя этого метода сторочными (маленькими) буквами и всегда помещайте значение, которое Вы собираетесь тестировать в скобки. Если Вы тестируете простой текст (не переменную типа String) – он должен быть в двойных кавычках " " , во всех остальных случаях кавычки не используются. Проверка переменных с помощью метода trace ActionScript Откройте панель Actions **** Создайте переменную.Присвойте переменной значение Наберите слово trace.Откройте скобки.Введите имя созданной переменной. Фильм начнет воспроизводиться во Flash Player'е. Панель Output откроется, отображая значение тестируемой переменной. Дополнительная информация В ActionScript trace – это очень хороший инструмент для проверки Вашего кода на ошибки, но в итоговой версии Вашего кода от него нужно будет избавиться, чтобы не вводить в замешательство Ваших пользователей. Чаще всего его просто удаляют или комментируют (в этом случае ActionScript не будет воспринимать его как код, который нужно отработать), но Вы также можете запретить Flash экспортировать метод trace во время публикации Вашего фильма. Для этого нужно сделать следующее:
В большинстве случаев Вы будете проверять значения существующих переменных с помощью метода trace ActionScript. Но Вы можете тестировать и обычный текст, поместив его в кавычки: trace ("Привет!"); |