Javascript 不同帧率函数中的随机数
我想生成一个随机数,我在条件语句(Javascript 不同帧率函数中的随机数,javascript,variables,random,requestanimationframe,Javascript,Variables,Random,Requestanimationframe,我想生成一个随机数,我在条件语句(If…else)中使用它作为变量。 发生条件语句的函数PositionLoop()具有赋值requestAnimationFrame。但是,我不希望在每一帧中重新生成随机数。这太频繁,太快了。例如,我希望数字每3秒更改一次。另一个问题是,条件语句包含一个变量(Font),我在函数PositionLoop()内的另一行代码中再次使用该变量 我已经尝试了不同的方法–首先我为随机数创建了一个函数,并在另一个函数function PositionLoop()()中调用该
If…else
)中使用它作为变量。
发生条件语句的函数PositionLoop()具有赋值requestAnimationFrame
。但是,我不希望在每一帧中重新生成随机数。这太频繁,太快了。例如,我希望数字每3秒更改一次。另一个问题是,条件语句包含一个变量(Font
),我在函数PositionLoop()
内的另一行代码中再次使用该变量
我已经尝试了不同的方法–首先我为随机数创建了一个函数,并在另一个函数function PositionLoop()
()中调用该变量,然后我尝试了全局变量–但它不起作用。有人能帮我吗多谢各位
这是我的代码结构:
…
function positionLoop() {
requestAnimationFrame(positionLoop);
…
var Zufallszahl1 = random(0,30);
var Font;
if (Zufallszahl1 = 6) {
Font = …;
} else if (Zufallszahl1 = 8) {
Font = …;
} else {
Font = …;
};
if (parameter < x) {
Schriftart = …;
} else if (parameter > x) {
Schriftart = Font;
} else {
Schriftart = …;
};
var Gestalt = selectAll('.class1');
for (var i = 0; i < Gestalt.length; i++) {
Gestalt[i].style('font-family', Schriftart);
Gestalt[i].style(…);
Gestalt[i].style(…);
…
};
…
}positionLoop();
…
…
函数positionLoop(){
requestAnimationFrame(positionLoop);
…
var Zufallszahl1=随机(0,30);
var字体;
如果(Zufallszahl1=6){
字体=…;
}如果(Zufallszahl1=8){
字体=…;
}否则{
字体=…;
};
if(参数x){
SchriStart=Font;
}否则{
施里法特=…;
};
格式塔变量=selectAll('.class1');
for(var i=0;i<格式塔长度;i++){
格式塔[i].风格('font-family',Schriftart);
格式塔[i].风格(…);
格式塔[i].风格(…);
…
};
…
}positionLoop();
…
您可以使用单独的时间间隔:
(function () {
var Zufallszahl1;
function changeZufallszahl1() {
Zufallszahl1 = random(0,30);
if (Zufallszahl1 = 6) {
Font = …;
} else if (Zufallszahl1 = 8) {
…
} else {
…
}
…
}
changeZufallszahl1();
// Repeat with whatever delay you want between changes
setInterval(changeZufallszahl1, 1000);
// Keep your animation loop separate:
function positionLoop() {
requestAnimationFrame(positionLoop);
…
}
positionLoop();
})();
您可以使用单独的时间间隔:
(function () {
var Zufallszahl1;
function changeZufallszahl1() {
Zufallszahl1 = random(0,30);
if (Zufallszahl1 = 6) {
Font = …;
} else if (Zufallszahl1 = 8) {
…
} else {
…
}
…
}
changeZufallszahl1();
// Repeat with whatever delay you want between changes
setInterval(changeZufallszahl1, 1000);
// Keep your animation loop separate:
function positionLoop() {
requestAnimationFrame(positionLoop);
…
}
positionLoop();
})();
“但是,我不希望在每一帧中重新生成随机数。这太频繁、太快了。”那么,您希望它多久更新一次?“如果循环”:这是什么?同意前面的两条评论。为了给您一点帮助,
positionLoop
将收到一个HighResTimeStamp(类似于performance.now),您可以使用它每隔一段时间触发特殊事件。“但是,我希望随机数不要在每个帧中重新生成。这太频繁了,太快了。”那么,您希望它多久更新一次?“一个if循环”:那是什么?同意之前的两个评论。为了给您一点帮助,positionLoop
将收到一个HighResTimeStamp(类似于performance.now),您可以使用它每隔一段时间触发特殊事件。谢谢您的回答!我真的忘了提到某个重要的东西(对不起):条件语句(if…else)包含一个变量(Font),我在函数PositionLoop()中的另一行代码中再次使用该变量……只需在与Zufallszahl1
相同的位置定义该变量,因此在IIFE范围内。感谢您的回答!我真的忘了提到某个重要的东西(对不起):条件语句(if…else)包含一个变量(Font),我在函数PositionLoop()中的另一行代码中再次使用该变量……只需在与Zufallszahl1
相同的位置定义该变量,因此在IIFE范围内。