【问题标题】:How resize UE4 TArray in UKismetArrayLibrary::Array_Resize?如何在 UKismetArrayLibrary::Array_Resize 中调整 UE4 TArray 的大小?
【发布时间】:2021-10-17 07:39:28
【问题描述】:

有一个数组TArray Items(AItem是一个AActor的子),需要在UKismetArrayLibrary::Array_Resize(const TArray& TargetArray, int32 Size)中做resize Items,但是Array_Resize不接受TArray 项,因为数据类型不同。在 BP 中,Array_Resize 函数对所有数组类型都非常有用。 Array_Resize 在 C++ 中必须如何工作?

【问题讨论】:

  • 如果您正在编写 C++ 代码,为什么要使用蓝图支持函数来调整数组的大小?为什么不直接使用 C++ 方法呢?
  • 我正在为 C++ 改编 BP 项目,BP 项目中的部分功能是使用 UKismetArrayLibrary 完成的。总的来说,我想知道为什么它只在 BP 版本中有效,而在 c++ 版本中绝对无法理解..
  • 这很可能不是蓝图真正使用的功能。虽然不幸的是我没有找到合适的虚幻。无论如何,真正的答案是它可能使用 UK2 节点并保存指向每个元素而不是数据本身的指针(C++ 需要类型的编译时知识来自动分配它们无法从蓝图获得的对象)。除非您正在对蓝图进行本土化,但这是另一回事。
  • 哦,谢谢你的回答。关于内部函数有这样的想法,误导这些函数可以从 c++ 中获得。
  • 您希望这些蓝图节点来自什么?您在 BP 中可以做的所有事情都可以在 C++ 中完成,但反之则不行。您可能正在搜索的是TArray<T>::SetNum()

标签: c++ unreal-engine4 unreal-blueprint


【解决方案1】:

TArray::SetNum() 就是答案。谢谢大家!

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2014-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多