编写五子棋程序时如何添加下棋时的音效_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); // 时间轴速度不变,默认先慢后快,最后慢

自定义槽函数,与信号连接如下:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部