PDA

Просмотр полной версии : вопрос тупой, но все-равно, я не понимаю...(mathRandom)


Fanatik
11.01.2003, 16:59
hi all, давно меня не было... :cool:

а вопрос такой:
допустим, что у меня есть movie clip с нэймом "sheep"(хоть это и не имеет значения). как сделать так, чтобы он проигрывался бесконечно, но с разными промежутками времени?

вот как я это понимаю: :p
в последнем кадре пишем
-----------
_root.sheep_play="stop"
stop();
if (_root.sheep_play=="start") {
gotoAndPlay (1);
}
-----------
_root.sheep_play - переменная (я ее так назвал, потому что так захотелось), которая должна меняться на "start" за НЕодинаковые промежутки времени...

и как мне сделать такую function , чтобы она эту самую переменную меняла?... вот
заранее tnx...

Horror
11.01.2003, 17:16
function rndsheep (num) {

var rand = random(num);
if (rand==1) {
_root.sheep_play="start";
} else {
_root.sheep_play="stop";
}
}


rndsheep (2);

Вроде так?

Fanatik
11.01.2003, 17:23
Оригинал написал(а) Horror
function rndsheep (num) {

var rand = random(num);
if (rand==1) {
_root.sheep_play="start";
} else {
_root.sheep_play="stop";
}
}


rndsheep (2);

Вроде так?

хм... а если у меня не получается? или может я что-то не так делаю? а исходик есть? ;)

Horror
11.01.2003, 17:38
Дк а в чем проблема то???

Вставляешь вот это в главную временную диаграмму и забываешь:

function rndsheep (num) {
var rand = random(num);
if (rand==1) {
sheep_play="start";
} else {
sheep_play="stop";
}
}


Потом там где нужно пишешь:

rndsheep (2); // где 2 - количество случайных вариантов. Чем больше число, тем меньше шансов что будет "start". Можно и наоборот сделать.

и все. Потом делаешь свою проверку.

Не забывай что если у тебя проверка происходит внутри какого либо мувика а не на главной временной диаграмме то это уже не прокатит.
Функция должна стоят в том мувике где будешь потом проверять чему равна sheep_play

Fanatik
11.01.2003, 17:51
ммм... хоть я и не понял, как это все делается (как все эти func пишутся) но все идет как надо... пасибо тебе, успокоил :)

Horror
11.01.2003, 18:03
Не за что :)

Max N Chubin_
11.01.2003, 18:45
есть функция
setInterval( function, interval[, arg1, arg2, ..., argn] )

все пишешь в первом кадре _root:

function restart(){
trace("OOps! Function called!");

//запускаем клип "_root.sheep"
_root.sheep.gotoAndPlay(1);

// отменяем предыдущий интервал
clearInterval(_root.q);

//устанавливаем новый интервал от 0 до 5 секунд
_root.q=setInterval(restart,random(5)*1000);
}
//вызываем нашу функцию
restart();

Horror
11.01.2003, 18:57
Согласен. Так лучше