Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Различия разных версий Macromedia Flash. (http://www.flasher.ru/forum/showthread.php?t=107769)

pistol 08.02.2008 20:46

Различия разных версий Macromedia Flash.
 
Здраствуйте. Я только начинаю изучать 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

Цитата:

Сообщение от iNils
вот так
Код:

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.


Часовой пояс GMT +4, время: 09:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.