小编Bea*_*der的帖子

asyncio.create_task() 有什么作用?

有什么作用asyncio.create_task()?我看过文档,似乎无法理解。一些让我困惑的代码是这样的:

import asyncio

async def counter_loop(x, n):
    for i in range(1, n + 1):
        print(f"Counter {x}: {i}")
        await asyncio.sleep(0.5)
    return f"Finished {x} in {n}"

async def main():
    slow_task = asyncio.create_task(counter_loop("Slow", 4))
    fast_coro = counter_loop("Fast", 2)

    print("Awaiting Fast")
    fast_val = await fast_coro
    print("Finished Fast")

    print("Awaiting Slow")
    slow_val = await slow_task
    print("Finished Slow")

    print(f"{fast_val}, {slow_val}")

asyncio.run(main())
Run Code Online (Sandbox Code Playgroud)

这给出了以下输出:

001 | Awaiting Fast
002 | Counter Fast: 1
003 | Counter Slow: 1
004 | Counter Fast: 2
005 | Counter Slow: …
Run Code Online (Sandbox Code Playgroud)

python python-3.x async-await python-asyncio

29
推荐指数
1
解决办法
1万
查看次数

如何在 Unity 中更改对象的枢轴点

我有个问题。我想让对象的枢轴点位于对象的末端而不是中心。这是我正在创建的人工智能,我需要一个不可见的矩形来查看玩家,我这样做是为了检测是否有障碍物 - 我已经在使用光线投射,但有时在某些角度线感觉不到障碍物,因此我也需要不可见的矩形。虽然,问题是有时矩形会从它后面拾取障碍物,因为它是围绕自身中心而不是末端旋转。它看起来像这样:

在此处输入图片说明

顺便说一下,我正在使用 C#。

我用来使矩形查看播放器的代码是:

transform.LookAt(player.transform.position);
Run Code Online (Sandbox Code Playgroud)

那么,如何使用我拥有的代码使矩形的枢轴点位于其末尾,以便矩形不会在其后面发生碰撞。

print("感谢所有帮助!");

:D

编辑:

我做了 Zackary 所说的,它工作正常,只是它向后 - 我该如何解决?

在此处输入图片说明

c# rotation unity-game-engine

4
推荐指数
1
解决办法
1万
查看次数

不再使用 QT OpenGL?

我是 C++、OpenGL 和 QT 的新手。事实上,我什至从未接触过 QT。原因如下;我过去曾用其他几种语言制作游戏(主要是使用 Unity 的 C#)。现在我想用 C++ 玩游戏。但是,我想在游戏中使用纯 C++,甚至不使用 Unreal(也许有一天)。为此,我知道对于图形,我几乎肯定应该使用 OpenGL(我目前正在学习)。我还需要制作 GUI。当我查找要使用的内容时,看起来最好的选择可能是 QT。这意味着我需要 QT 来使用 OpenGL。于是我又查了一下。我在这篇文章中找到了 QT OpenGL:如何使用 OpenGL 和 QT?. 当我查找 Qt OpenGL ( https://doc.qt.io/qt-5/qtopengl-index.html ) 时,它说:

警告:此模块不应再用于新代码。请在 Qt GUI 中使用相应的 OpenGL 类。

那么什么是 QT GUI?而且,在 OpenGL 中使用 QT 有多容易?

c++ opengl qt

1
推荐指数
1
解决办法
1094
查看次数