Actionscript 3 AS3:如何生成10到20之间的随机数
我一直试图在Flash中生成一个随机数。我一直在看视频并复制它们,但当我点击按钮时,文本框中的数字并没有显示出来 以下是我在air ios游戏中编写的代码:Actionscript 3 AS3:如何生成10到20之间的随机数,actionscript-3,flash,Actionscript 3,Flash,我一直试图在Flash中生成一个随机数。我一直在看视频并复制它们,但当我点击按钮时,文本框中的数字并没有显示出来 以下是我在air ios游戏中编写的代码: import flash.events.MouseEvent; //creating the vars var difficulty; //listening for the play button to be clicked play_button.addEventListener(MouseEvent.CLICK, letsgoto
import flash.events.MouseEvent;
//creating the vars
var difficulty;
//listening for the play button to be clicked
play_button.addEventListener(MouseEvent.CLICK, letsgotoframe2);
//and after the listening what do the computer do!
function letsgotoframe2(event:MouseEvent):void
{
gotoAndStop(2)
}
//listening for the easy button to be clicked
Easy_button.addEventListener(MouseEvent.CLICK,letsgoeasy)
//what will it do when it is clicked
function letsgoeasy(e:MouseEvent):void{
difficulty = 1;
var rand = (Math.random()*20)
txt.text = String (rand);
gotoAndStop(rand);
}
PS:很抱歉结构不好,这是我的第一篇帖子 这将为您提供一个介于0和10之间的数字(包括): 现在,只要再加上10,你就会得到一个介于10和20之间的数字:
10 + Math.floor( Math.random() * 11 )
我假设你想要整数。如果您想要实数,请删除Math.floor并将11改为10(您的上限不会是20,但我会是19,99等)这将为您提供一个介于0和10之间的数字(包括): 现在,只要再加上10,你就会得到一个介于10和20之间的数字:
10 + Math.floor( Math.random() * 11 )
我假设你想要整数。如果您想要实数,请删除Math.floor并将11改为10(您的上限不会是20,但我会是19,99等)这将为您提供一个介于0和10之间的数字(包括): 现在,只要再加上10,你就会得到一个介于10和20之间的数字:
10 + Math.floor( Math.random() * 11 )
我假设你想要整数。如果您想要实数,请删除Math.floor并将11改为10(您的上限不会是20,但我会是19,99等)这将为您提供一个介于0和10之间的数字(包括): 现在,只要再加上10,你就会得到一个介于10和20之间的数字:
10 + Math.floor( Math.random() * 11 )
我假设你想要整数。如果您想要实数,请删除Math.floor并将11改为10(您的上限不会是20,但我会是19,99等)以下是一个函数,它将为您提供最小值和最大值之间的随机整数:
function random(min:int = 0, max:int = int.MAX_VALUE):int
{
if (min == max) return min;
if (min < max) return min + (Math.random() * (max - min + 1));
else return max + (Math.random() * (min - max + 1));
}
var r = random(10, 20);
函数随机(最小值:int=0,最大值:int=int.max_值):int
{
如果(最小==最大)返回最小值;
if(min
这是一个函数,它将为您提供最小值和最大值之间的随机整数:
function random(min:int = 0, max:int = int.MAX_VALUE):int
{
if (min == max) return min;
if (min < max) return min + (Math.random() * (max - min + 1));
else return max + (Math.random() * (min - max + 1));
}
var r = random(10, 20);
函数随机(最小值:int=0,最大值:int=int.max_值):int
{
如果(最小==最大)返回最小值;
if(min
这是一个函数,它将为您提供最小值和最大值之间的随机整数:
function random(min:int = 0, max:int = int.MAX_VALUE):int
{
if (min == max) return min;
if (min < max) return min + (Math.random() * (max - min + 1));
else return max + (Math.random() * (min - max + 1));
}
var r = random(10, 20);
函数随机(最小值:int=0,最大值:int=int.max_值):int
{
如果(最小==最大)返回最小值;
if(min
这是一个函数,它将为您提供最小值和最大值之间的随机整数:
function random(min:int = 0, max:int = int.MAX_VALUE):int
{
if (min == max) return min;
if (min < max) return min + (Math.random() * (max - min + 1));
else return max + (Math.random() * (min - max + 1));
}
var r = random(10, 20);
函数随机(最小值:int=0,最大值:int=int.max_值):int
{
如果(最小==最大)返回最小值;
if(min
如果在.FLA中看不到时间线的组成,将很难诊断您遇到的此问题,因为您的代码中似乎存在一些导致此问题的因素
问题:
txt
的TextField,使其在时间线的第10帧到第20帧之间存在。我只是假设第20帧是最大值,因为您要求我们提供10到20之间的随机数Math.random()
函数生成实数,而不是整数。因此,在使用gotoAndStop
中的值之前,生成一个随机数而不将其强制转换为int
,这将是一个问题int
,以便在gotoAndStop
语句中正确使用import flash.events.MouseEvent;
//creating the vars
var difficulty;
//listening for the play button to be clicked
play_button.addEventListener(MouseEvent.CLICK, letsgotoframe2);
//and after the listening what do the computer do!
function letsgotoframe2(event:MouseEvent):void
{
gotoAndStop(2);
}
//Easy Button Handler
function letsgoeasy(e:MouseEvent):void{
difficulty = 1;
var rand:int = Math.floor( (Math.random()*11) + 10 );
txt.text = String (rand);
gotoAndStop(rand);
}
//Create listener for the easy button
Easy_button.addEventListener(MouseEvent.CLICK,letsgoeasy)
如果在.FLA中看不到时间线的组成,则很难诊断您遇到的此问题,因为您的代码中可能存在一些导致此问题的因素 问题:
txt
的TextField,使其在时间线的第10帧到第20帧之间存在。我只是假设第20帧是最大值,因为您要求我们提供10到20之间的随机数Math.random()
函数生成实数,而不是整数。因此,在使用gotoAndStop
中的值之前,生成一个随机数而不将其强制转换为int
,这将是一个问题int
,以便在pro中使用