![]() |
Праздничный эффект фейерверка отрисовывающего число
Привет,
У нас на работе небольшая дата - 12 лет совместной жизни :D Надо на сайт чё-нить повесить праздничное! Мысль - число 12 отрисовывается фейерверком! Тоесть, на заднем плане раз в 5с пуляет фейерверк, после его залпа остаётся число 12, остальные искры затухают. Желательно, чтобы фейерверк был программным - рандомным... Кто-нить видел что-нибудь подобное в примерах? Или подскажите как это можно сделать? |
Вопрос - можно ли сделать Tint программно???
|
Можно ли для мувиклипа mc1 ("mc" + i) объявить новую переменную, которая будет хранить его координату mc1Y=100, так:
"mc" + i + "Y" = 100; Или как правильно во flash имя составлять? |
И как потом эту функцию вызывать?
setProperty("mc" + i, _y, ("mc" + i + "Y") + 10; Так можно или надо иначе? |
http://flasher.ru/forum/showthread.php?t=73208
ТО что тебе доктор прописал |
Блин, нет у меня сейчас Flash8! Есть только Flash6(mx)! А надо прямь ща забацать эффектик!
Я выше задал пару простых вопросов по названию переменных - ответте на них, пожалуйста! |
ты на C++ программирешь?
Код:
mc1.y = 100; |
логику скрипта я представляю, я не втыкаю в "упрощённо улучшенный язык программирования ActionScript"
mc1.y=100; - не в нашу степь, тк: 1. нет никакого mc1, есть ("mc" + i)! 2. если я правильно понимаю, этот код создаёт переменную y внутри mc1? Не хотелось бы лезть во внутрь клипов, тк потом ещё придётся писать скрипт узнающий их имя... Нужно для мувиклипа mc1 ("mc" + i) объявить новую переменную, которая будет хранить его координату mcY1=100, можно сделать так?: Цитата:
Цитата:
|
хм, лучше промолчу. всего наилучшего =)
|
типа очень умный и очень модный?
вот те сцена (тля, загрузка файлов на форуме не работает! :mad: ), в ней есть три динамических текстовых поля, которые несут переменные: y; mc1y; mcy1; клип mc1 внутри которого переменная y; твой код ( mc1.y=100; ) передаёт 100 переменной y внутри клипа mc1, а я спросил, чтобы 100 передавалось переменной mc1y или mcy1, созданной из mcy и счётчика i ("mcy" + i)... Ты мне присоветовал фигню какую-то, теперь выпендриваешься... ум за разум зашёл??? |
нет просто я уже писал ответ, от перемены слагаемых, сумма не изменяеться, известен тебе 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 и будут ездить по оси у отражаясь от границ флешки |
нде...
Ты уж мне поверь, я сам разберусь с тем, о чём не спросил! в прошлом постинге я написал конкретный код, где именно в коде ошибка??? |
ошибки кругом ..когда тебе говрят как вызывать.. так и делай...
duplicateMovieClip("mc", "mc"+i, this.getNextHighestDepth()); вызывается 3 параметрами не 2 .. это что трудно понять если ты такой умный.. почему такой... администрация закройте данный топик.. дальнейшее обсуждение бессмысленно |
Это всё??? А зачем тогда ты эти килатонны текста писал??? :)
Ну лана, ещё вопрос - писать вначале this - это обязательно или рекомендуется? или вообще как к этому относиться? |
топик закрыт, причина - автору был дан ответ раз 10, он лениться вдуматься.
|
| Часовой пояс GMT +4, время: 03:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.