PDA

Просмотр полной версии : Праздничный эффект фейерверка отрисовывающего число


c++
15.12.2005, 14:44
Привет,


У нас на работе небольшая дата - 12 лет совместной жизни :D
Надо на сайт чё-нить повесить праздничное!

Мысль - число 12 отрисовывается фейерверком!

Тоесть, на заднем плане раз в 5с пуляет фейерверк, после его залпа остаётся число 12, остальные искры затухают.

Желательно, чтобы фейерверк был программным - рандомным...

Кто-нить видел что-нибудь подобное в примерах?
Или подскажите как это можно сделать?

c++
15.12.2005, 14:57
Вопрос - можно ли сделать Tint программно???

c++
15.12.2005, 15:12
Можно ли для мувиклипа mc1 ("mc" + i) объявить новую переменную, которая будет хранить его координату mc1Y=100, так:
"mc" + i + "Y" = 100;

Или как правильно во flash имя составлять?

c++
15.12.2005, 15:48
И как потом эту функцию вызывать?

setProperty("mc" + i, _y, ("mc" + i + "Y") + 10;

Так можно или надо иначе?

Badim
15.12.2005, 17:49
http://flasher.ru/forum/showthread.php?t=73208
ТО что тебе доктор прописал

c++
18.12.2005, 14:03
Блин, нет у меня сейчас Flash8! Есть только Flash6(mx)! А надо прямь ща забацать эффектик!

Я выше задал пару простых вопросов по названию переменных - ответте на них, пожалуйста!

Nirth
18.12.2005, 15:21
ты на C++ программирешь?

mc1.y = 100;


В том топике нету кода для flash mx, но методика отрабатываеться. просто в твоем случае, вместо bitmapData и пикселей в ней нужно юзать мувиклипы на сцене.

c++
18.12.2005, 17:32
логику скрипта я представляю, я не втыкаю в "упрощённо улучшенный язык программирования ActionScript"

mc1.y=100; - не в нашу степь, тк:
1. нет никакого mc1, есть ("mc" + i)!
2. если я правильно понимаю, этот код создаёт переменную y внутри mc1? Не хотелось бы лезть во внутрь клипов, тк потом ещё придётся писать скрипт узнающий их имя...

Нужно для мувиклипа mc1 ("mc" + i) объявить новую переменную, которая будет хранить его координату mcY1=100, можно сделать так?:
"mcY" + i = 100;

а потом вызвать так:
setProperty("mc" + i, _y, ("mcY" + i) + 10);

Или как правильно синтаксис написать???

Nirth
18.12.2005, 17:36
хм, лучше промолчу. всего наилучшего =)

c++
18.12.2005, 17:37
типа очень умный и очень модный?

вот те сцена (тля, загрузка файлов на форуме не работает! :mad: ), в ней есть три динамических текстовых поля, которые несут переменные:
y;
mc1y;
mcy1;
клип mc1 внутри которого переменная y;

твой код ( mc1.y=100; ) передаёт 100 переменной y внутри клипа mc1, а я спросил, чтобы 100 передавалось переменной mc1y или mcy1, созданной из mcy и счётчика i ("mcy" + i)...

Ты мне присоветовал фигню какую-то, теперь выпендриваешься... ум за разум зашёл???

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
нде...

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

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

Andromed
18.12.2005, 19:56
ошибки кругом ..когда тебе говрят как вызывать.. так и делай...
duplicateMovieClip("mc", "mc"+i, this.getNextHighestDepth());
вызывается 3 параметрами не 2 .. это что трудно понять если ты такой умный.. почему такой...

администрация закройте данный топик.. дальнейшее обсуждение бессмысленно

c++
18.12.2005, 20:22
Это всё??? А зачем тогда ты эти килатонны текста писал??? :)

Ну лана, ещё вопрос - писать вначале this - это обязательно или рекомендуется? или вообще как к этому относиться?

Nirth
18.12.2005, 20:23
топик закрыт, причина - автору был дан ответ раз 10, он лениться вдуматься.