gpt4 book ai didi

c++ - 生成一波敌人 C++

转载 作者:行者123 更新时间:2023-11-28 06:00:24 25 4
gpt4 key购买 nike

我正在使用 qt 5.0.1 创建一个简单的游戏。有点像战刃。我在制造一波又一波的敌人时遇到了问题。

int k;
int pos = 100;
for (k = 0; k < 5; k++)
{
pos = 100;
for (int i = 0; i < 9; i++)
{
player->spawn_in_pos(pos);
pos += 100;
}
//QThread::sleep(2);
}

当我使用 sleep() 函数时,我的游戏无法运行。它正在等待循环完成然后显示。

我也在处理第二种选择:

QTimer * timer = new QTimer();
QObject::connect( timer, SIGNAL(timeout()), player, SLOT(spawn_in_pos(pos)) );
timer->start(450);

但是好像SLOT拿不到位置。

编辑:我只是按照@ddriver 所说的做了,这对我帮助很大。现在我得到了一些“滞后”风格的敌人运动。

enter image description here

编辑2:

我像这样把我的敌人往下移动:

setPos(x(),y()+1);

用那个计时器:

// connect
QTimer * timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(move()));
// start the timer
timer->start(10);

它看起来像非常流畅的运动,但可能向下 +1 个像素,而 10 个计时器则更少:((

最佳答案

我不确定你想要达到什么目的,但在你的第二个选项中,你无法获得位置,因为超时不会发送它。信号是 timeout(void) 并且您的插槽需要一个参数。我猜你对信号/槽机制缺乏一些基本的了解。QT 文档非常简洁: http://doc.qt.io/qt-5/signalsandslots.html

如果你只是想从无到有地创建一个游戏,你可以在这里找到一个小教程,如何用 QT 编写游戏: https://www.youtube.com/watch?v=8ntEQpg7gck

关于c++ - 生成一波敌人 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33415154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com