Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Опять Math.random (http://www.flasher.ru/forum/showthread.php?t=90189)

Ksюta 04.01.2007 20:04

Опять Math.random
 
Знаю что тема часто обсуждается, но по моему конкретному вопросу что-то не нашла...

предположим, вот такая функция:
Код:

function freeRun (b7)
{_root.mc1.gotoAndStop(4);}
ID_b7=setInterval(freeRun,Math.random()*10000);}

выдает в этом варианте разные интервалы времени, иногда такие короткие, что мувик просто шкалит. Как для Math.random указать низжайший порог, меньше которого нельзя числа генерить?
И вторая проблема. Генерируемое число каждый раз разное, но покуда функция запущена и работает, остается неизменным, то есть мувик проигрывается, но через одинаковый промежуток времени... А мне то нужно чтобы он проигрывался через рандомные промежутки. Это возможно или мне нужно искать окольный путь?

taneR 04.01.2007 20:11

в первом случае просто прибавь к рандому нужный нижний порог
ID_b7=setInterval(freeRun,Math.random()*10000)+100}


со вторым не очень понял: но попробуй updateAfterEvent()

CorC 04.01.2007 20:13

Цитата:

Сообщение от Ksюta
Как для Math.random указать низжайший порог, меньше которого нельзя числа генерить?

1. random+AAA как? и висеть не будет и круче
Цитата:

Сообщение от Ksюta
А мне то нужно чтобы он проигрывался через рандомные промежутки. Это возможно или мне нужно искать окольный путь?

2. удалять в первом же setIterval его же, а потом в нем же его же и создавать причем тем же Math.random()
это при помощи clearInterval и сразу за ним setInt...

miramax 04.01.2007 20:23

Цитата:

Сообщение от CorC
2. удалять в первом же setIterval его же, а потом в нем же его же и создавать причем тем же Math.random()
это при помощи clearInterval и сразу за ним setInt...

Для этого есть setTimeout().

Ksюta 04.01.2007 20:28

to taneR,
Код:

[ID_b7=setInterval(freeRun,Math.random()*10000)+100]
в этом случае дает синтаксическую ошибку, просит убрать скобку перед плюсом....
setTimeout сейчас попробую, но вот с минимальным порогом так пока и непонятно.

CorC 04.01.2007 20:29

Цитата:

Сообщение от miramax
Для этого есть setTimeout().

есть :) но вопрос был по setInterval

Ksюta 04.01.2007 20:39

Вторую проблему решила как советовал CorC, спасиб)
но мувик то шкалит!
Цитата:

Сообщение от Ksюta
Как для Math.random указать низжайший порог, меньше которого нельзя числа генерить?

Цитата:

Сообщение от CorC
1. random+AAA как? и висеть не будет и круче

вот это не очень поняла...

CorC 04.01.2007 20:43

а по моему 1 пункту не помомогает для этого?

miramax 04.01.2007 20:44

Код:

function freeRun ()
{
  _root.mc1.gotoAndStop(4);
}
var minimum:Number = 500;
setTimeout(freeRun,Math.random()*10000+minimum);


Ksюta 04.01.2007 20:49

Цитата:

Сообщение от miramax
Код:

function freeRun ()
{
  _root.mc1.gotoAndStop(4);
}
var minimum:Number = 500;
setTimeout(freeRun,Math.random()*10000+minimum);


О... так тогда можно и просто
Код:

setTimeout(freeRun,Math.random()*10000+моё число);
и получается почти то что CorC советовал. Теперь поняла...
Но... вот это самое число это что? Милисекунды, фреймы или что-то еще? Просто нужно чтоб порог был около секунды. Как сие вычислить?


Часовой пояс GMT +4, время: 07:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.