Форум 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)
-   -   Как правильно задать переменную "Объекта" к которому обращаешься? (http://www.flasher.ru/forum/showthread.php?t=97233)

DJ_ManiaC 16.06.2007 13:23

Как правильно задать переменную "Объекта" к которому обращаешься?
 
Собственно проблемма вот в чём. Делаю функцию.
Код:

SdvigRazdela = 0;
CelsWidth = 13;
Layer = 1;
Coordinats = function() {
Layer = Layer + 1;
CelsX = target._x + target._width;
attachMovie("Cels", target, Layer, {_x: CelsX, _y: SdvigRazdela, _width:(CelsWidth*Kwidth)})
trace(target);
}

Потом просто в ручную указываю для нескольких элементов данные друг за другом такого вида:
Код:

target = BottonCels;
Kwidth = 2;
Coordinats = function();

В задумке конечно хочу сделать чтоб это делала другая функция обрабатывая XML файл, но пока так нужно эту доделать.
И дальше trace выводит что переменная target не обозначена (NaN).
Как её правильно задать в данном контексте?
Конечно моя проблемма до обидного проста, но раньше как то не сталкивался с подобным.

etc 16.06.2007 13:49

Во-первых, это число или мувиклип?
Во-вторых, что это за ужасные названия «SdvigRazdela»? Помесь французкого с нижегородским?

DJ_ManiaC 16.06.2007 13:53

target - это мувиклип... Извиняйте за мой французский :rolleyes: Это я для себя чтоб понятней было пока так переменную обозвал...

BigDan 16.06.2007 13:55

Возможно ты выполняешь над target математические действия.
Код:

target = my_mc;
trace(target);//_level0.my_mc
target = Math.sqrt(target);
trace(target);//NaN


DJ_ManiaC 16.06.2007 14:00

В том то и дело что никаких действий, после объявления значения переменной target, кроме как attachMovie(), targer._x и target._width ничего не делаю... Извиняюсь ошибся - trace пишет "undefined".
Весь мой запускаемый код выглядит так:
Код:

SdvigRazdela = 0
CelsWidth = 13
Layer = 1
Coordinats = function() {
Layer = Layer + 1
CelsX = target._x + target._width
attachMovie("Cels", target, Layer, {_x: CelsX, _y: SdvigRazdela, _width:(CelsWidth*Kwidth)})
trace(target)
}
target = BottonNomer
Kwidth = 2
Coordinats();

target = Nomer
Kwidth = 2
Coordinats();

target = DateCels
Kwidth = 5
Coordinats();


BigDan 16.06.2007 14:02

поработай трейсом после каждого использования target

etc 16.06.2007 14:08

Вероятно, не совпадают области видимости первого и второго кода.

BigDan 16.06.2007 14:13

а зачем так парится? почему бы просто не передавать параметры функции?
Код:

function Coordinats(target:MovieClip,kWidth:Number){
 ...
}


DJ_ManiaC 16.06.2007 14:16

Короче я сам разобрался... Написал просто бредовую функцию и хочу чтоб она работала... У меня не атачится мувик потому что изначально мувика BottonCels не существует на сцене... Заработался млин... Сорри за беспокойство... И BigDan спасибо что подсказал про параметры функции... Хорошая идея которых у меня сегодня не много :) Я сегодня просто гоню... Может поспать нужно :)


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

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