所有内容都在标题中:)
为什么我需要这个:
我用Qt在C ++中创建了一个小型可玩的数独游戏。我已经制作了经典的回溯方法来解决它。用户可以实时查看分辨率进度。我已经设置了一个滑块,允许用户调整分辨率。
这是我在决议方法的乞讨中放慢了进程的速度:
sleep_for(milliseconds(delay)); //delay is a toggleable static variable
但是,由于用户启动分辨率,他无法改变速度(延迟),因为应用程序大多数时间都处于休眠状态。
任何其他减慢过程的方法?
ps:请原谅我粗鲁的英语:/
答案 0 :(得分:3)
使用timerEvent()。 QObject内置了计时器支持。将每个游戏步骤放在timerEvent()中,并以所需的间隔调用startTimer()。这是迄今为止最简单的方法。
答案 1 :(得分:1)
睡眠是一种减慢应用程序速度的好方法,因为如果你想让用户在一个单独的线程上改变你应该这样做的速度,那么这个时间会发生变化中断睡眠线程并设置新延迟。
答案 2 :(得分:-2)
你做了一个循环,并在一组间隔
中调用绘制/写入函数<div class="work-wrapper">
<div id="firstshirt" class="container">
<div id="boxes" class="container">
<img id="img-1" src="https://torcdesign.com/shirts/brown.jpg" />
</div>
</div>
<div class="control-wrapper">
<h3>Controls</h3>
<a id="btn-Preview-Image" class="button">Preview</a>
<a id="download" download="my_image.png" class="button disabled" href="#">Download Image</a>
<select id="imajes45">
<option value="">Choose Source</option>
<option value="new-upload">Upload Images</option>
<option value="select-item">Select Item</option>
</select>
<div class="file-upload-wrapper" id="draggableHelper" style="display: none;">
<input type="file" class="upload-img" name="file1" id="upload-img-1" />
<div id="upload-preview" class="small upPreview">
<span>0/3</span>
<ul id="preview-gallery" class="gallery ui-helper-reset ui-helper-clearfix">
</ul>
</div>
</div>
<select name="subselector" class="file-select" style="display: none;">
<option value="">Choose Gallery</option>
<option value="bulldog">Bulldogs</option>
</select>
<div id="bulldog-gallery" class="upPreview hidden">
<ul class="gallery ui-helper-reset ui-helper-clearfix">
<li class="ui-widget-content ui-corner-all"><img src="https://torcdesign.com/clipart/pT78gE6pc.gif" class="icon" /></li>
<li class="ui-widget-content ui-corner-all"><img src="https://torcdesign.com/clipart/LiKkRqkeT.gif" class="icon" /></li>
</ul>
</div>
</div>
</div>
<h3>Result:</h3>
<div>
<div id="previewImage"></div>
</div>
或通过包含Windows.h使用睡眠
int interval = 0;
while(running){
interval++;
if(interval == 60){
draw();
}
}
或将它们组合
int fps = 1000/30;
while(running){
Sleep(fps);
draw();
}