Просмотр полной версии : Помогите нубу. Мувики
Dominator
21.05.2006, 15:14
есть мувик с именем AZ. В нём мувик, допустим с именем PG.
Я делаю 10 копий мувика AZ.
И есть кнопка, при нажатии на которую устанавливается значение _alpha="30" для мувика PG. Другими словами, мне нужно, чтобы все мувики AZ стали _alpha="30"
пишу в кнопке
on (release) {
tellTarget ("_root.PG") {
setProperty("_root.PG", _alpha, "30");
}
}
но не работает (
Что делать ?
Ты же говорил PG находится в AZ, а пишешь _root.PG
Чтоб все мувики AZ имели _alpha=30 вот:
bnt.onRelease=function(){
for(i=1;i<11;i++){
_root["AZ"+i]._alpha=30;
}
}
Dominator
21.05.2006, 16:19
хм. Я немного по другому мыслил - если в мувике другой мувик станет прозрачным, то и все копии станут такими же)
У меня мало опыта в использовании АS, поэтому многого не знаю и делаю вслепую.
Кстати, когда ввожу твой код, выдаёт ошибку
Statement must appear within on handler
bnt.onRelease=function(){
:(
а всё разобрался . не хватает {}
...
и ВСЁ РАВНО не работает
во фрейме пишу
var u;
bnt.onRelease=function(){ {
for (u=1; u<4; u++) {
_root["az"+u]._alpha = "30";
}
}
}
есть кнопка с Inst.name bnt
есть 3 мувика с Inst.name az
и всё равно не работает(
в чём ошибка?
причём _alpha и с кавычками и без них не работает
--------------
всё... разобрался блин. Я и не подумал что надо к именам дописывать 1,2,3 и так далее
Dominator
21.05.2006, 18:26
теперь встречный вопрос ! Допустим мне надо поменять не alpha а brightness или rgb. как ето сделать?
Color.setRGB
Color.setTransform
Про СolorTransform умолчу...
Dominator
21.05.2006, 19:34
var u;
bnt.onRelease=function(){ {
for (u=1; u<7; u++) {
_root["az"+u].color.setRGB = "0xFFFFFF";
}
}
}
не работает. И ещё - что значит 0 перед FFFFFF ?
кстати,у тебя лишние фигурные скобки...
Dominator
21.05.2006, 21:13
уррряяяя... получилось. Теперь ещё вопрос. Как сделать чтобы все ети мувиклипы 1 секунду были допустим белые, а потом одну секунду нормального цвета, а потом опять белые и так далее? Тут мне хелп не поможет ибо я даже не представляю как ето происходит и с чего начать
getTimer(); или setInterval();
Dominator
22.05.2006, 17:01
решил понять что же такое сет интервал. Мучался мучался. Ничё не понял. Какие то count, в хелпе примеры какие то непонятные, для чего они. Я нуб) Обьясните пожалуйста как мне сделать ту ерунду которая описана выше? Или растолкуйте что значат все ети count, nember'ы и прочая дребедень, как ето всё зациклить и как ето работает ?
Заранее спасибо
Вот простой пример
f = function (arg) {
trace (arg);
_global.repeat++
if (repeat == 100) {
clearInterval (idInterval)
}
};
_global.repeat = 0;
_global.idInterval = setInterval (f, 500, "Я нуб");
f - это функция, которая будет вызываться каждые 500 миллисекунд, до 100 раз, в качестве аргумента передаем строку "Я нуб".
idInterval - это идентификатор интервала, который используется в clearInterval чтобы отменить интервал.
Dominator
22.05.2006, 17:49
ну уже чуть чуть понятнее. Но всё же - как с помощью етого скрипта периодически выполнять действие ? А то в каждом из примеров только строки и передают(
А _global.repeat++ чем не действие? :)
на еще один пример :)
f = function (arg) {
arg._x = Math.random () * 800;
arg._y = Math.random () * 600;
_global.repeat++;
if (repeat == 100) {
clearInterval (idInterval);
}
};
this.createEmptyMovieClip ("mc", 0);
mc.lineStyle (0, 0);
mc.lineTo (100, 0);
mc.lineTo (100, 100);
mc.lineTo (0, 100);
mc.lineTo (0, 0);
_global.repeat = 0;
_global.idInterval = setInterval (f, 100, mc);
Dominator
22.05.2006, 19:32
Ёлки палки ! Кошмар. Ну не получается, принцип работы данной штуковины я вроде понял уже, но загвоздка в другом
f = function (arg) {
arg.my.setRGB(0xFF0000);
_global.repeat++;
if (repeat == 100) {
clearInterval (idInterval);
}
};
_global.repeat = 0;
_global.idInterval = setInterval (f, 100, mc);
в другом фрейме прописано var my = new Color("mc");
ПочЕмУ флеш Не ХочЕт МенЯтЬ ЦвЕт ?!
f = function (arg) {
arg.setRGB (0xFF0000);
_global.repeat++;
if (repeat == 100) {
clearInterval (idInterval);
}
};
MovieClip.prototype.setRGB = function (clr) {
var clrMy = new Color (this);
clrMy.setRGB (clr);
};
_global.repeat = 0;
_global.idInterval = setInterval (f, 500, mc);
Dominator
22.05.2006, 20:55
пасиб. А как его зациклить ? :)
Dominator
22.05.2006, 21:03
ну, интервал) Надо чтобы цвет поменялся, а потом чтобы обратно стал каким был, потом опять поменялся, и так до бесконечности
ну, интервал) Надо чтобы цвет поменялся, а потом чтобы обратно стал каким был, потом опять поменялся, и так до бесконечности
f = function (arg) {
if (!arg.flag) {
arg.setRGB (0xFF0000);
} else {
arg.resetRGB ();
}
arg.flag = !arg.flag;
};
MovieClip.prototype.setRGB = function (clr) {
new Color (this).setRGB (clr);
};
MovieClip.prototype.resetRGB = function () {
new Color (this).setTransform ({ra:100, rb:0, ga:100, gb:0, ba:100, bb:00});
};
setInterval (f, 500, mc);
Dominator
22.05.2006, 21:19
ОГРОМНЕЙШЕЕ СПАСИБО ! До всего етого я бы в жизни не додумался
Dominator
22.05.2006, 21:36
эх. Но вот ещё вопрос.
всё ето дело выполняется для нескольких мувиков
весь етот большущий код который ты мне написал выполняется с
for (u=1; u<7; u++)
setInterval не понимает таких записей - setInterval(f,500,"mc"+u); ?? Или можно как нибудь по другому записать?
допустим у тебя два клипа mc1 и mc2, тогда надо сделать так
f = function (arg) {
for (var i = 0; i < arg.length; i++) {
if (!arg[i].flag) {
arg[i].setRGB (0xFF0000);
} else {
arg[i].resetRGB ();
}
arg[i].flag = !arg[i].flag;
}
};
MovieClip.prototype.setRGB = function (clr) {
new Color (this).setRGB (clr);
};
MovieClip.prototype.resetRGB = function () {
new Color (this).setTransform ({ra:100, rb:0, ga:100, gb:0, ba:100, bb:00});
};
setInterval (f, 500, [mc1, mc2]);
если их больше, то надо добваить остальные через запятую в то место что выделено белым
Dominator
22.05.2006, 21:49
о ! Спасибки, просто я без скобок пробовал и ничё не получилось. В любом случае ето удобнее чем писать
setInterval (f, 500, mc1);
setInterval (f, 500, mc2); и т.д.
Можно и без массива. Но тогда обработчик внутри функции будет другой. Но через массив на мой взгляд удобнее.
Dominator
23.05.2006, 17:43
ммммм....продолжаю тупить )
У меня есть кнопка bnt, и есть переменная PGv. В кадре var PGV = 0
в кнопке скрипт
on (press) {
if (PGv == 0) {
PGv = PGv+1;
} else {
PGv = PGvi-1;
}
}
в другом фрейме скрипт для мигания мувиков с условием
if (PGv == 0) {
bnt.onPress = function() {
*********скрипт************
} else {
иначе надо прекращать мигание. Каким скриптом ето делается ?
Dominator
24.05.2006, 00:02
on (release) {
if (PGv == 0) {
bnt.onPress = function() {
f = function (arg) { for (var i = 0; i<arg.length; i++) {if (!arg[i].flag) {arg[i].setRGB(0xFFFFFF);} else {arg[i].resetRGB();}arg[i].flag = !arg[i].flag;}};
MovieClip.prototype.setRGB = function(clr) {
new Color(this).setRGB(clr);
};
MovieClip.prototype.resetRGB = function() {
new Color(this).setTransform({ra:100, rb:0, ga:100, gb:0, ba:100, bb:00});
};
setInterval(f,500,[az1, az2, az3, az4,az5,az6]);
};
PGv = PGv+1;
} else {
PGv = PGv-1;
MovieClip.prototype.setRGB = function(clr) {
new Color(this).setRGB(clr);
arg[i].resetRGB(clr);
};
}
}
ето всё выполняется в кнопке. Все переменные прописаны
А теперь объясни, что хочешь этим получить. Только подробно-подробно.
Dominator
24.05.2006, 00:12
итак. Попытаюсь. Есть кнопка bnt. Есть несколько мувиклипов.
При нажатии на кнопку мувики должны мигать. Если они уже мигают - они должны остановиться. Но так чтобы при повторном нажатии на кнопку они замигали опять)
поэтому я ввожу переменную var PGv = 0
Если PGv = 0, то выполняется тот здоровенный скрипт с setInterval и setRGB , и PGv увеличивается на единицу.
Если PGv не равно 0, тогда мигание прекращается, а PGv уменьшается на единицу. То есть тут только два значения может быть у PGv.
Скрипт остановки мигания брал из логических рассуждений)
MovieClip.prototype.setRGB = function(clr) {
new Color(this).setRGB(clr);
};
я так понял clr - ето очистить?
1. Переименную кнопку с bnt на btn.
2. Убери с кнопки весь код
3. Успользуй это:
MovieClip.prototype.setRGB = function (clr) {
new Color (this).setRGB (clr);
};
MovieClip.prototype.resetRGB = function () {
new Color (this).setTransform ({ra:100, rb:0, ga:100, gb:0, ba:100, bb:0});
};
mix = function (arg) {
for (var i = 0; i < arg.length; i++) {
if (!arg[i].flag) {
arg[i].setRGB (0xFFFFFF);
} else {
arg[i].resetRGB ();
}
arg[i].flag = !arg[i].flag;
}
};
btn.onPress = function () {
if (!btn.flag) {
btn.idInterval = setInterval (mix, 100, [az1, az2, az3, az4, az5, az6]);
} else {
clearInterval (btn.idInterval)
}
btn.flag = !btn.flag;
};
4. Если ты ничего не понимаешь в ас, то сначала разберись в основах, а не тупо копируй что я тебе написал в других постах.
Dominator
24.05.2006, 00:33
пасиб. Что есть первоосновы и где можно найти все подробные ответы на них ? :umnik2:
А данном случае мне очень срочно потребовалось сделать такую муть с мувиклипами, обычно я в дебри не лезу(
Купить хотя бы книжку Колина Мука и почитать.
Потому что то, что ты написал выше, кроме как ахинеей назвать нельзя.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.