编写五子棋程序时如何添加下棋时的音效_QT:完整的人机五子棋游戏(五)回合倒计时和音效...
2.5回合倒计时
在对弈时,每个回合都要有时间的限定,一般都是用的圆形进度条和中间秒数显示。
QT当中没有圆形的进度条,所以需要自己设计。圆形设计进度条传送门:圆形进度条设计
圆形进度条需要时间轴搭配使用。
①定义自定义进度条类和时间轴类,需添加对应头文件。
ArcPaint * progressStepPrompt;
QTimeLine * timeLine;
②创建两个实例,并设置时间轴运行状态。
设置帧范围为15,则刚好是1秒钟1帧,帧改变时,会有信号发射,自定义槽函数接收信号,则帧改变时,自动更新倒计时即可;
时间轴具有值改变信号(值范围0.0~1.0),刚好定义槽函数接收显示圆弧(0~360°);
时间轴具有时间运行完成信号,刚好定义槽函数接收判断当前回合是否超时。
progressStepPrompt = new ArcPaint(this);
timeLine = new QTimeLine(15000,this); // 时间轴总时间15秒
timeLine->setFrameRange(0, 15); // 帧范围0~15
timeLine->setDirection(QTimeLine::Backward); // 时间轴向后走,默认向前
timeLine->setCurveShape(QTimeLine::LinearCurve); // 时间轴速度不变,默认先慢后快,最后慢
自定义槽函数,与信号连接如下:
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
