PDA

Просмотр полной версии : Различия разных версий Macromedia Flash.


pistol
08.02.2008, 20:46
Здраствуйте. Я только начинаю изучать AS. Общие представления о программировании у меня есть: несколько лет программирую на PHP и сотоварищах. Думаю, изучение AS не займёт у меня много времени.

Скачал Macromedia Flash MX 6 и Macromedia Flash Professional 8. Сейчас изучаю книгу Д.Гурский "Action Script 2.0. Программирование во Flash MX 2004". Получилось сделать "прыгающий мячик". Дальше начались некоторые проблемы. В частности, такой пример:
var arr:Array=new Array(1,2,3,4,5);
trace(arr);
работает в 8 версии, а в 6 выводит undefined. Код ввожу прямо в клип. Хотелось-бы спросить у вас, в чём природа данного явления? В разных версиях различный синтаксис? В одной - AS2, в другой AS3? Тогда как будет выглядить такой пример в AS3? Возможно, дадите ссылку на описание различий разных версий AS.

Я знаю, мой вопрос не раз задавался на форуме, но на все мои запросы поиск не дал результатов.

iNils
08.02.2008, 20:57
Flash MX работает только с AS1. Он не поддерживает типизацию, поэтому :Array в вашем примеры создает проблему.
Flash 8 работает как с AS2, так и с AS1.
А AS3 только начиная с Flash 9, но для этого у нас отдельный раздел.

pistol
08.02.2008, 21:05
Спасибо. var arr=new Array(1,2,3,4,5); работает на ура :)

У меня еще такой вопрос. Например, в PHP есть функция array_rand($array, 1); Она возвратит 1 случайный элемент массива array. А как такое сделать в AS2? Там существует такая же функция? Или это делается с помощью каких-то действий с обьектами?

iNils
08.02.2008, 21:08
вот так
arr[Math.floor (Math.random () * arr.length)]
Список доступных методов для каждого класса есть в хелпе.

pistol
08.02.2008, 21:15
вот так
arr[Math.floor (Math.random () * arr.length)]


Ух-ты, красивый язык :). Math.floor, arr.length... Длинно, но универсальней и красивей, чем тысячи функций процедурного PHP.

CrazyFlasher
08.02.2008, 21:19
если вы только начинаете учить АС, и собираетесь развиваться дальше чем баннера, то советую начинать сразу с АС3 и с основ объектно-ориентированного программирования.

pistol
08.02.2008, 21:33
CrazyFlasher
Книг вот только нет хороших (для русскоязычных чайников). Гурского читаю, ну очень понятно всё написано. Как напишу сетевую игрулину из одной из последних глав, буду мучать документацию, пусть даже англоязычную по AC3.