在 C# 中添加到向量2?为何如此?

发布于 2024-12-01 00:54:44 字数 478 浏览 1 评论 0原文

我正在使用 Flash/AS3 和 Flixel 进行一些试验和错误,以使汽车自行移动到各个路径点。无论如何,我已经找到了 Microsoft 的一些 XNA/C# 代码,并且正在尝试对其进行转换,但我被困在与向量有关的两位上......

location = location + (Direction *
                    MoveSpeed * elapsedTime);

“位置”是一个 Vector2。

类似地:

tank.Location + (orth * turningRadius)

“.Location”和“orth”也是 Vector2 的。

有人能告诉我这实际上是在做什么吗?

我不明白如何将单个数字与 Vector2 相加或相乘,但也许我遗漏了一些明显的东西!

干杯

克里斯

I'm doing a bit of trial and error with Flash/AS3 and Flixel to make a car move to various waypoints on its own. Anyway I have found some code by Microsoft for XNA/C# and am trying to convert it but am stuck on two bits to do with vectors...

location = location + (Direction *
                    MoveSpeed * elapsedTime);

"location" is a Vector2.

Similarly:

tank.Location + (orth * turningRadius)

".Location" and "orth" are also both Vector2's.

Can anybody tell me what this is actually doing?

I don't understand how you can add or multiply a single number to a Vector2 but maybe I am missing something obvious!!

Cheers

Chris

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏日浅笑〃 2024-12-08 00:54:44

编译器正在为你做一些好事。实际上,代码的作用是这样的:

location.X += (orth.X * turningRadius);
location.Y += (orth.Y * turningRadius);

快速简单的向量数学介绍:

The compiler is doing some nice things for you. In effect what the code is doing is this:

location.X += (orth.X * turningRadius);
location.Y += (orth.Y * turningRadius);

A quick and simple vector math intro: http://johnnygizmo.blogspot.com/2008/10/xna-sidebar-intro-to-vector-math.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文