Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Общие вопросы

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 07.11.2004, 16:14
Николай Садов вне форума Посмотреть профиль Отправить личное сообщение для Николай Садов Найти все сообщения от Николай Садов
  № 1  
Николай Садов
 
Аватар для Николай Садов

Регистрация: Jun 2004
Сообщений: 110
Question Помогите пожалуйста

ЭкшнСкрипт не хочет меня понимать

Я хочу добавить в массив следующий элемент

(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!!!!!!

Отчего это????

Спасибо.

Старый 07.11.2004, 16:22
Sh@man вне форума Посмотреть профиль Отправить личное сообщение для Sh@man Найти все сообщения от Sh@man
  № 2  
Sh@man
 
Аватар для Sh@man

Регистрация: Mar 2002
Сообщений: 840
Отправить сообщение для Sh@man с помощью AIM Отправить сообщение для Sh@man с помощью Skype™
что у тебя y0 и какие значения в массиве y_arr ?
__________________
www.maxshaman.com

Старый 07.11.2004, 16:34
Николай Садов вне форума Посмотреть профиль Отправить личное сообщение для Николай Садов Найти все сообщения от Николай Садов
  № 3  
Николай Садов
 
Аватар для Николай Садов

Регистрация: Jun 2004
Сообщений: 110
y0 = 300;


y_arr[0] = 3;
< trace(y_arr[0]) точно выдаёт 3>

А shag=10;

Старый 07.11.2004, 16:47
Sh@man вне форума Посмотреть профиль Отправить личное сообщение для Sh@man Найти все сообщения от Sh@man
  № 4  
Sh@man
 
Аватар для Sh@man

Регистрация: Mar 2002
Сообщений: 840
Отправить сообщение для Sh@man с помощью AIM Отправить сообщение для Sh@man с помощью Skype™
вот так все работает

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

Старый 07.11.2004, 17:41
Николай Садов вне форума Посмотреть профиль Отправить личное сообщение для Николай Садов Найти все сообщения от Николай Садов
  № 5  
Николай Садов
 
Аватар для Николай Садов

Регистрация: Jun 2004
Сообщений: 110
Дело в том, что я не могу сразу задать y0 и массив y_arr, так как они создаються из данных которые закачивабтся из текстовика....
Спасибо, я попробую всё же как-нибудь всё галадить используя твою помощь.

Старый 07.11.2004, 17:48
Николай Садов вне форума Посмотреть профиль Отправить личное сообщение для Николай Садов Найти все сообщения от Николай Садов
  № 6  
Николай Садов
 
Аватар для Николай Садов

Регистрация: Jun 2004
Сообщений: 110
///я тут подумал....
А ведь может быть такое что флеш воспринимает "3" как стринг(в трэйс выводит же), и потому не хочет умножать его на 10?
Если так, то какая функция переводит стринг на намбер???

Старый 07.11.2004, 18:02
Sh@man вне форума Посмотреть профиль Отправить личное сообщение для Sh@man Найти все сообщения от Sh@man
  № 7  
Sh@man
 
Аватар для Sh@man

Регистрация: Mar 2002
Сообщений: 840
Отправить сообщение для Sh@man с помощью AIM Отправить сообщение для Sh@man с помощью Skype™
Возможно массив инициализируется до того как все данные из файла загружены. В этом случае обрабатывай функцию onLoad() объекта LoadVars, если ты его используешь для загрузки переменных. Флешу все равно строка это или число, т.к. строгой типизации данных нет. Попробуй конечно функцию Number(expression) для перевода строки в число, но врядли поможет. Видимо надо пересмотреть организацию самого флеш-клипа.
__________________
www.maxshaman.com

Старый 07.11.2004, 19:43
Николай Садов вне форума Посмотреть профиль Отправить личное сообщение для Николай Садов Найти все сообщения от Николай Садов
  № 8  
Николай Садов
 
Аватар для Николай Садов

Регистрация: 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.
Старый 07.11.2004, 21:00
Николай Садов вне форума Посмотреть профиль Отправить личное сообщение для Николай Садов Найти все сообщения от Николай Садов
  № 9  
Николай Садов
 
Аватар для Николай Садов

Регистрация: 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]));
}

Старый 07.11.2004, 21:01
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 10  
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Не может при загрузке данных получаться вместо числа объект.

Играй с typeof, ты, видимо, что-то не то ему подставляешь, т.к. typeof массива как раз даст тебе object, а

Код:
var arr = ["1", "a"];
trace(typeof arr[1]);
трассирует string 1000 раз из 1000 попыток.

Создать новую тему   Часовой пояс GMT +4, время: 21:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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