![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2004
Сообщений: 110
|
ЭкшнСкрипт не хочет меня понимать
Я хочу добавить в массив следующий элемент (x_pos - массив) x_pos.push(y0-(y_arr[0]*shag)); Причём если перед этой коммандой написать trace(y0); trace(y_arr[0]); trace(shag); Каждую отдельно взятую переменную он видит, но в таком виде x_pos.push(y0-(y_arr[0]*shag)); выдаёт NaN Бред какой-то... Тоже получается my_var=y0-(y_arr[0]*shag); trace (my_var); NaN!!!!!! Отчего это???? Спасибо. |
|
|||||
|
что у тебя y0 и какие значения в массиве y_arr ?
__________________
www.maxshaman.com |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 110
|
y0 = 300;
y_arr[0] = 3; < trace(y_arr[0]) точно выдаёт 3> А shag=10; |
|
|||||
|
вот так все работает
var x_pos_array = new Array() var y_arr = new Array(1,2,3,4) trace(y_arr[0]*10) var y0 = 300 var shag = 10 x_pos_array.push(y0-(y_arr[0]*shag)); trace(x_pos_array)
__________________
www.maxshaman.com |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 110
|
Дело в том, что я не могу сразу задать y0 и массив y_arr, так как они создаються из данных которые закачивабтся из текстовика....
Спасибо, я попробую всё же как-нибудь всё галадить используя твою помощь. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 110
|
///я тут подумал....
А ведь может быть такое что флеш воспринимает "3" как стринг(в трэйс выводит же), и потому не хочет умножать его на 10? Если так, то какая функция переводит стринг на намбер??? |
|
|||||
|
Возможно массив инициализируется до того как все данные из файла загружены. В этом случае обрабатывай функцию onLoad() объекта LoadVars, если ты его используешь для загрузки переменных. Флешу все равно строка это или число, т.к. строгой типизации данных нет. Попробуй конечно функцию Number(expression) для перевода строки в число, но врядли поможет. Видимо надо пересмотреть организацию самого флеш-клипа.
__________________
www.maxshaman.com |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 110
|
С Лоад Варсом() всё ок.
И проблема действительно в типе trace(y_arr[0]); Выдаёт Object Если я делаю так: for(i=0; i<y_arr.length; i++) { Number(y_arr[i]); } Но, это не работает. Обжект как был так и остался.... Как мне из обжекта сделать намбер, как? (А флеш мувик нормально организован, всё логично до этого момента) Последний раз редактировалось Николай Садов; 07.11.2004 в 19:45. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 110
|
В общем мне удалось решить задачку...
Если кому интересно... x_arr.toString(); //Сперва привёл исходные массивы в строки y_arr.toString(); x_arr2 = new Array(); .\\создал два новых массива y_arr2 = new Array(); for(i=0;i<x_arr.length;i++) { x_arr2.push(parseFloat(x_arr[i])); \\позапихивал туда строки которые с помощью функции ПарсФлоат преобразовал в цифры y_arr2.push(parseFloat(x_arr[i])); } |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Не может при загрузке данных получаться вместо числа объект.
Играй с typeof, ты, видимо, что-то не то ему подставляешь, т.к. typeof массива как раз даст тебе object, а трассирует string 1000 раз из 1000 попыток. |
![]() |
Часовой пояс GMT +4, время: 22:52. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|