Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Срочно нужна помощь!! (http://www.flasher.ru/forum/showthread.php?t=123384)

ALEX666 01.04.2009 04:34

Срочно нужна помощь!!
 
Хочу создать массив, содержащий функции, вызываемые в случайном порядке. Но как только я объявляю массив(не в методе-конструкторе), одна из функций, принадлежащих ему, вызывается..причём ПОЧТИ всегда. Хотя нигде о ней больше не упоминается в коде.. Всё работало до появления этого массива, так что ошибок других нет...А когда Массив объвлен в функции, то при её вызове выполняются все находящиеся в нём функции.
В этом случае функция 4 вызывается:
Код AS3:

public class Klad extends MovieClip{
private var Moves:Array=[Move1(),Move2(),Move3(),Move4(),Move5(),Move6()];
 public function Klad(){
...
}
}


А здесь все в одно время:
Код AS3:

public class Klad extends MovieClip{
public function Klad(){
Massiv();
}
private function Massiv():void{
            var Moves:Array=[Move1(),Move2(),Move3(),Move4(),Move5(),Move6()];
}
}


Lecosson 01.04.2009 05:15

Ну да, правильно. Ведь в массив в данном слуае помещаются не функции, а значения, которые они возвращают.
Например, если сделать так, что будет в массиве?
Код AS3:

function mult(a:Number,b:Number):Number {return(a*b));
var a:Array=[mult(2,2), mult(3,3)];

Там будут числа 4 и 9, а не функции.
Думаю, ты добьешься своего, убрав скобки после имени функции.
Код AS3:

var Moves:Array=[Move1,Move2,Move3,Move4,Move5,Move6];

Ничего, что я на "ты"? :)

etc 01.04.2009 08:04

Название темы не отражает сути вопроса.
И да, «срочно» тут не работает.


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

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