![]() |
нет просто я уже писал ответ, от перемены слагаемых, сумма не изменяеться, известен тебе i или нет, через setProperty или человеческими способами результат будет один, я написал наиболее гуманный, ты начинаешь наворачивать. удачи и всего наилучшего =)
|
Ты выпендриваешься, причем совершенно без повода
Я задал вопрос, хочешь помочь - ну так ответь чтобы понятно было, а не выпендривайся! ps перечитай мой предыдущий постинг |
ты чето совсем запутася в том чего хочешь... если тебе нужно сохранить новую переменную в твой созданный объект сделай так
eval("mc"+i).moyaPeremennaya=100; или this["mc"+i].moyaPeremennaya=100; набери eval нажми F1, от setProperty стараются избавлятся..он в 5 версии рулил, при использовании wiizarda создания скриптов если ты пишешь на с++ то то что тебе писали выше тебе ближе всего |
..................................
Да эт не я путаюсь, а вы никак понять не хотите! Мне надо сохранить значение 100 в переменной вида mcY1, образованной значением счётчика i ("mcY" + i), вопрос можно ли, блин, писать код: "mcY" + i = 100 ; и потом: ("mc" + i)._y= "mcY" + i ; ??? (в данный момент чёто не работает) |
то что ты пишешь говрит о следующем ()синтаксис естественно ен правильно
какомтоу объекту 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 если ты опять ниего не понял смени ник... |
Да ёпт, ЭТО ТЫ НИЧЕГО ПОНЯТЬ НЕ МОЖЕШЬ!!!
Какого хрена вы мне тычите в объект mc, если я ясно назвал переменную mcy1 !!!! Ни в какие объекты лазить НЕ НАДО!!!! Прямь тут надо создать переменную соответствующую номеру счётчика!!! Ну чё такого непонятного?!?!?! Короче, я так понял в AS можно просто в скобочки квадратные брать и ок? типа: ["mcY" + i] = 100; потом вызываем: ["mc" + i]._y= ["mcY" + i]; Так можно? |
странный у тебя подход к программированию зачем счетчик называть mcY1 не понятно... и вообще смысл всего того что ты делаешь, в любом случае то что ты спрашиваешь перед скобками в начале тебе не плохо указывать путь к объекту где ты ищещь сам объект
например если ты точно знаешь что у тебя объект в руте пиши _root["mc"+i]; если у тебя обект находится в текущем мувеклипе то всетаки оставь this это правильно, если ты код пишешь в свойствах др объекта скажем у тебя есть объект MCMain рядом искомые объекты а ты описываешь свойство MCMain.onInterFrame=function() { // то this будет MCMain а не его родитель, тогда можно воспользоваться _parent["mc"+i] } пробуй... но очень странное ты заеял.. тебе уже двое говрят что ты деаешь чтото не то, а ты продолжаешь утверждать что ты лучший прогер на свете и ни кто не хочет понять как тебе плохо живется в упрощенном языке ActionScript когда ты привык к таким сложным струкурам.. Если ты делаешь счетчик один на всех то нахрена его описывать через i а если у тебя счетчик для каждого свой что мешает положить его в нутрь смого объекта а не гдето на переферии ведь это именно его счетчик и тебе не нужно будет ломать голову как и где его вызывать ?.... |
ээххх...
задача - создать 30 дублированных клипов, для каждого клипа создаётся одна новая переменная с рандомным значением, в другом кадре созданные клипы двигаются в соот. со значением переменной, скрипт выглядит так?: Код:
for(i=1;i<30;i++){Код:
for(i=1;i<30;i++){ |
ты вообще хелп читаешь как функции вызываются... параметры какие ?
создай обект на сцене дай ему 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 и будут ездить по оси у отражаясь от границ флешки |
нде...
Ты уж мне поверь, я сам разберусь с тем, о чём не спросил! в прошлом постинге я написал конкретный код, где именно в коде ошибка??? |
| Часовой пояс GMT +4, время: 20:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.