PDA

Просмотр полной версии : Вероятность появления мувиклипа


flashowl
31.07.2009, 12:58
Как сделать так, чтобы при нажатии на кнопку с определённой вероятностью появлялись 4 мувиклипа.
1 - 10%.
...
...
4-40%.
Спасибо за любую помощь

incorp
31.07.2009, 13:23
если речь конечно идет о создании N кнопок, каждая из которых с вероятностью пропорциональной своему номеру создает 4 мувика, тогда можно попробовать так:
for(var i=1;i<10;i++)
this["button_"+i].onPress = function()
{
var rand = Math.random();
if(rand<i*0.1) create_four_mc();
}
в первом преближении. не проверял.

udaaff
31.07.2009, 13:45
var r:Number = Math.random();
if (r >= .6)
trace("40%");
else if (r >= .3)
trace("30%");
else if (r >= .1)
trace("20%");
else
trace("10%");

// или так
var array:Array = [ 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 ];
var n:Number = array[Math.floor(10 * Math.random())];
trace(n + "0%");

// еще идея
var array:Array = [ .1, .3, .6, 1 ];
var length:Number = array.length;
var r:Number = Math.random();
for (var i:Number = 0; i < length; i++)
{
if (r < array[i])
{
var n:Number = i + 1;
break;
}
}
trace(n + "0%");

Последний вариант для решения задачи в общем случае больше подходит чем другие, наверное. Какие еще варианты есть для решения в общем случае?? Т.е. есть N событий, и за раз может наступить одно из них с определенной вероятностью.

flashowl
31.07.2009, 14:56
Что означает точка перед цифрой?

udaaff
31.07.2009, 15:13
.1 -- это сокращенная запись 0.1