PDA

Просмотр полной версии : Как прописать новому клипу AS-код?


billion
19.04.2006, 17:18
создаю через цикл новые клипы
aaa1
aaa2
aaa3

нужно так же через цикл прописать каждому из них свой код с меняющимися циклически переменными.

например для первого из них:

on (rollOver) {
startDrag("_root.aaa1.commm1", true);
_root.aaa1._alpha = 100;
_root.aaa1.commm1._visible = 1;
}

как это сделать?

xcho_
19.04.2006, 17:22
смотря какой код тебе нужен..например, если тебе надо координаты им прописать,то:

for(i=1;i<=3:i++){
with(_root["aaa"+i]){
_x=10*i;
_y=10*i;
}}


или если нажать надо,то : _root["aaa"+i].onPress = function() ...

billion
19.04.2006, 17:31
попробовал.... вот результат...

Mouse events are permitted only for button instances on (rollOver) {
что за чушь??? с оригиналом !клипа! работает, а вот его копиям не хочет прописывать...

причём duplicateMovieClip стоит за долго до while

xcho_
19.04.2006, 17:41
а где собственно ты пишешь on (rollOver) ??
почему бы не воспользоваться таким: _root["aaa"+i].onPress = function() ,
легче и проще в употреблении))

billion
19.04.2006, 17:54
сделал функцию:

function visin (nnn) {
trace(nnn);
}

вот так прописал в цикле
for (count=0;count<3;count++) {
_root.xxx["boxx"+count].onRollOver = visin(count);
}

так он мне сразу все три значения в дебаг выдал! без обработки события onRollOver. закрыв лог навожу мышку на клип и ничего не происходит.

чего это он? ведь ясно прописал по событию делать.

Reijii
19.04.2006, 17:56
function visin(nnn)
{
trace(nnn);
}
for (count = 0; count < 3; count++)
{
_root.xxx["boxx" + count].onRollOver = function()
{
visin(count);
}
}

billion
19.04.2006, 18:24
наверно устал уже, плохо соображать стал.
сделал как вы написали
kol = 3;
function visin(nnn){
trace(nnn);
}
for (count=0;count<kol;count++) {
_root.xxx["boxx"+count].onRollOver = function () {visin(count)}
}

трэйс при наведении на любой из трёх объектов "boxx" выдаёт цифру 3
пробовал распространить эти строки на весь руут клип и зациклить его. не получается....

Reijii
19.04.2006, 18:27
function visin(nnn)
{
trace(nnn);
}
for (count = 0; count < 3; count++)
{
_root.xxx["boxx" + count].count = count;
_root.xxx["boxx" + count].onRollOver = function()
{
visin(this.count);
}
}

billion
20.04.2006, 08:41
всё получилось! большое спасибо!