PDA

Просмотр полной версии : attachMuvie & random()


baton
30.03.2002, 13:49
Hi, всезнающий all.

Вот такая проблемка:

Есть приаттаченный мувиклип, в котором есть кнопка, при нажатии на которую, аттаченный мувик удаляется.

Хотелось бы, чтобы мувик приаттачивался от балды.

Но, если в Actions пустого мувика (в который аттачится указанный выше мувик) написать такое:

onClipEvent (load) {
for (i=2; i>1; i=i+1) {
k = random(3);
if (k == 2) {
this.attachMovie("NN", "MyMov", 30);
}
}
}


ТО ВСЕ, ЯСНЫЙ-КРАСНЫЙ, ВИСНЕТ!!!

Как такие вещи делаются по -другому???

Спасибо! Пока!

Nox Noctis
30.03.2002, 17:24
от какой-такой балды ?
мухоморами обкурился ? :D :D

for (i=2; i>1; i=i+1) {

что в переводе означает:
для всех 'i'
начиная с 'i=2'
и больших '1'
с шагом '+1'
выполнить.....

сколько-сколько ты планируешь это должно выпоняться ? :p :p

baton
30.03.2002, 18:48
Приаттачивание мувика должно происходить постоянно - через какой-то промежуток времени, но не постоянный!!

и фишка for(i=2,i>1,i++) ставится для того, чтобы это приаттачивание просходило постоянно...
А оно виснет => это как-то не так делается...

Вопщем, интересно просто, КАК ОРГАНИЗОВАТЬ ПРИАТТАЧИВАНИЕ МУВИКА С ПОМОЩЬЮ random() ????

Спасибо! Bye!

[subway]design
30.03.2002, 22:12
Точно обкурился...

У тебя цикл выполняется БЕСКОНЕЧНО (INFINITE) и В ЦИКЛЕ, т.е. за раз ты хочешь получить бесконечно много мувиков - задержку-то ты не поставил. Что не должно виснуть, по-твоему?

Если хочешь постоянное появление, то делай это onClipEvent(EnterFrame)

А рандом так:

1) У тебя есть мувики в библиотеке прилинкованные (properties->linkage) как mov1, mov2, mov3, ... movN - такое именование позволяет избегнуть условных проверок.

2) N - максимальное кол-во мувов, считается, что ты его знаешь.
3) K=1+Math.round(Math.random()*(N-1));
4) _root.attachMovie("mov"+K, "newname"+K,depth);

Все. Совет: прежде, чем говорить "сам дурак" подумай хорошо, почему ты можешь быть неправ.

baton
02.04.2002, 22:37
Приветы, ув. [subway]design !!

Если не очень напряжет, объясните п-та, что есть ф-ция

Math.round() ????????

Спасибо! Bye!

*JeF*
02.04.2002, 23:33
Math.round

Синтаксис

Math.round(x);
Аргументы

x Любое число.

Описание

Метод; округляет значение аргумента x вверх или вниз до ближайшего целого и возвращает это значение.

Player

Flash 5 или выше. Во Flash 4 Player методы объекта Math работают, но они эмулируются с использованием приближенных значений и могут быть не такими точными как неэмулированные математические функции, поддерживаемые Flash 5 Player.
----------------------------
короче округляет число....