Аргументы в AS3 - PullRequest
       23

Аргументы в AS3

0 голосов
/ 08 февраля 2010

Есть ли аргументы, которые работают большую часть времени в AS3? Я хочу, чтобы настройка кода работала большую часть времени. Есть предложения?

Книги разбивают его на части, но не показывают, как программисты пришли к своим выводам. Это может превратиться в вопрос для обсуждения, но если есть секрет, который я хочу узнать.

ЧТО Я ПОСЛЕ
- структура аргумента - изучить процесс выполнения вызовов функций
- расширить переменные за пределы моих «20 ​​строк кода»
- систематически управлять переменными, событиями и функциями

2 примера, которые делают то же самое, но структурированы по-разному"go figure"

//Example #1 "move the ball"
addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true);

function onLoop(evt:Event):void{
ball1.x += 5; 
 }


    //Example #1 "move the ball" 
    function moveBall(e:Event):void {
    ball2.x += 5;
    }
    ball2.addEventListener(Event.ENTER_FRAME,moveBall);

Аргумент if ... else "шариковая петля"

//growing collection of arguments
addEventListener(Event.ENTER_FRAME,myEnterFrame);
    function myEnterFrame(event:Event) {
    if (ball.x>800) {
    ball.x=-160;
    } else {
    ball.x+=5;
    }
    }

РАЗЛИЧНЫЙ СПОСОБ ЭТОГО ДЕЛАТЬ "от Adobe livingocs"

EQUIVILANT BOOLEANS
var flag:Boolean = true;
var flag:Boolean = new Boolean(true);
var flag:Boolean = Boolean(true);

EQUIVILANT STRINGS
var str:String = new String("foo");
var str:String = "foo";
var str:String = String("foo");

COMMENT
функциональный стиль, такой как лямбда-исчисление, был бы хорошим примером «больше математики, меньше синтаксиса и структуры классов»

СЛУШАТЕЛИ СОБЫТИЙ
http://www.adobe.com/devnet/actionscript/articles/event_handling_as3.html

Ответы [ 2 ]

0 голосов
/ 09 февраля 2010

На самом деле, многие разработчики предпочитают устанавливать для useWeakReference значение true, что требует подключения всех пяти аргументов к прослушивателям событий. Причина в том, что таким образом слушатель не содержит ссылку на цель, которая могла бы предотвратить сборку мусора - это техника управления памятью. Большинство действительно хороших разработчиков AS3 скажут вам всегда использовать все пять аргументов, просто чтобы добраться до этой точки.

Кроме того, вообще говоря, лучше использовать литерал, когда это возможно. «текст» вместо новой строки («текст»), истина вместо нового логического (истина). Сложные причины, но есть ваш короткий ответ.

Ответы на многие из этих вопросов можно найти здесь , который является документом, который пытается стандартизировать соглашения о кодировании AS3. Стоит перечитать!

0 голосов
/ 08 февраля 2010

Я бы посоветовал вам ознакомиться с обработчиками событий на сайте Adobe. http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000139.html

С сайта, вот определение функции addEventListener:

function addEventListener(eventName:String, 
                        listener:Object,
                        useCapture:Boolean=false,
                        priority:Integer=0,
                        useWeakReference:Boolean=false):Boolean;

Последние три аргумента имеют значения по умолчанию (false, 0, false), поэтому их можно не указывать при вызове функции. Первые два аргумента всегда обязательны.

Я думаю, что на остальную часть вашего вопроса лучше всего ответить, изучив объектно-ориентированное программирование в AS3. Вот один гид: http://www.adobe.com/devnet/actionscript/articles/oop_as3.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...