Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Праздничный эффект фейерверка отрисовывающего число (http://www.flasher.ru/forum/showthread.php?t=73207)

Nirth 18.12.2005 18:00

нет просто я уже писал ответ, от перемены слагаемых, сумма не изменяеться, известен тебе i или нет, через setProperty или человеческими способами результат будет один, я написал наиболее гуманный, ты начинаешь наворачивать. удачи и всего наилучшего =)

c++ 18.12.2005 18:09

Ты выпендриваешься, причем совершенно без повода

Я задал вопрос, хочешь помочь - ну так ответь чтобы понятно было, а не выпендривайся!

ps перечитай мой предыдущий постинг

Andromed 18.12.2005 18:40

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

eval("mc"+i).moyaPeremennaya=100;
или
this["mc"+i].moyaPeremennaya=100;
набери eval нажми F1,

от setProperty стараются избавлятся..он в 5 версии рулил, при использовании wiizarda создания скриптов если ты пишешь на с++ то то что тебе писали выше тебе ближе всего

c++ 18.12.2005 18:59

..................................

Да эт не я путаюсь, а вы никак понять не хотите!

Мне надо сохранить значение 100 в переменной вида mcY1, образованной значением счётчика i ("mcY" + i), вопрос можно ли, блин, писать код:

"mcY" + i = 100 ;

и потом:
("mc" + i)._y= "mcY" + i ;

???

(в данный момент чёто не работает)

Andromed 18.12.2005 19:14

то что ты пишешь говрит о следующем ()синтаксис естественно ен правильно

какомтоу объекту mcYN ты приравниваешь значение 100
потом совсем другому объекту точнее его позиции У ты присваеваешь значение друго объекта. на сколько я понял ты хочешь создать объекты внутри него сохранить переменную и потом использовать это свойствоо это делается так

создай новый проект в первом кадре пишешь
for (var i = 0; i<10; i++) {
this.createEmptyMovieClip("mc"+i, this.getNextHighestDepth());
this["mc"+i].dy = random(100);
//или
eval("mc"+i).dx = random(100);
//..........................
this["mc"+i]._y += this["mc"+i].dy;
//или
eval("mc"+i)._x += eval("mc"+i).dx;
//а лучше так
var Obj = this["mc"+i];
trace(Obj._x+" "+Obj._y);
}

а еще лучше так


for (var i = 0; i<10; i++) {
var Obj = this.createEmptyMovieClip("mc"+i, this.getNextHighestDepth());
Obj.dy = random(100);
Obj.dx = random(100);
Obj._y += Obj.dy;
Obj._x += Obj.dx;
trace(Obj._x+" "+Obj._y);
}

но не все функции как createEmptyMovieClip возвращают объект например duplicateMovieClip
если ты опять ниего не понял смени ник...

c++ 18.12.2005 19:22

Да ёпт, ЭТО ТЫ НИЧЕГО ПОНЯТЬ НЕ МОЖЕШЬ!!!

Какого хрена вы мне тычите в объект mc, если я ясно назвал переменную mcy1 !!!!

Ни в какие объекты лазить НЕ НАДО!!!!

Прямь тут надо создать переменную соответствующую номеру счётчика!!!

Ну чё такого непонятного?!?!?!

Короче, я так понял в AS можно просто в скобочки квадратные брать и ок? типа:
["mcY" + i] = 100;

потом вызываем:
["mc" + i]._y= ["mcY" + i];

Так можно?

Andromed 18.12.2005 19:29

странный у тебя подход к программированию зачем счетчик называть mcY1 не понятно... и вообще смысл всего того что ты делаешь, в любом случае то что ты спрашиваешь перед скобками в начале тебе не плохо указывать путь к объекту где ты ищещь сам объект
например если ты точно знаешь что у тебя объект в руте пиши
_root["mc"+i];
если у тебя обект находится в текущем мувеклипе то всетаки оставь
this это правильно, если ты код пишешь в свойствах др объекта
скажем у тебя есть объект MCMain рядом искомые объекты а ты описываешь свойство
MCMain.onInterFrame=function() {
// то this будет MCMain а не его родитель, тогда можно воспользоваться
_parent["mc"+i]
}
пробуй... но очень странное ты заеял.. тебе уже двое говрят что ты деаешь чтото не то, а ты продолжаешь утверждать что ты лучший прогер на свете и ни кто не хочет понять как тебе плохо живется в упрощенном языке ActionScript когда ты привык к таким сложным струкурам.. Если ты делаешь счетчик один на всех то нахрена его описывать через i а если у тебя счетчик для каждого свой что мешает положить его в нутрь смого объекта а не гдето на переферии ведь это именно его счетчик и тебе не нужно будет ломать голову как и где его вызывать ?....

c++ 18.12.2005 19:38

ээххх...

задача - создать 30 дублированных клипов, для каждого клипа создаётся одна новая переменная с рандомным значением, в другом кадре созданные клипы двигаются в соот. со значением переменной, скрипт выглядит так?:

Код:

for(i=1;i<30;i++){
        duplicateMovieClip(m,"mc" + i);
        ["mcY" + i] = Math.random(100)-50;
}

другой кадр
Код:

for(i=1;i<30;i++){
        ["mc" + i]._y = ["mcY" + i];
}

Всё верно?

Andromed 18.12.2005 19:49

ты вообще хелп читаешь как функции вызываются... параметры какие ?

создай обект на сцене дай ему instance name mc и код пишешь на слое

var Num = 30;
for (i=0; i<Num; i++) {
duplicateMovieClip("mc", "mc"+i, this.getNextHighestDepth());
var obj = this["mc"+i];
obj._x = random(Stage.width);
obj.dy = Math.random(100)-50;
obj.onEnterFrame = function() {
this._y += this.dy;
if (this._y>Stage.height) {
this._y = Stage.height;
this.dy *= -1;
}
if (this._y<0) {
this._y = 0;
this.dy *= -1;
}
};
}

все объекты разместятся случайным образом по оси y и будут ездить по оси у отражаясь от границ флешки

c++ 18.12.2005 19:54

нде...

Ты уж мне поверь, я сам разберусь с тем, о чём не спросил!

в прошлом постинге я написал конкретный код, где именно в коде ошибка???


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

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