10 - Collecting Pickups

为BayyteryCollectorCharacter 添加电池拾取功能
声明函数 CollectPickups()

Paste_Image.png

为该函数绑定输入
进入UE4 ProjectSetting/Input中 添加动作Collect 快捷键C

进入ABatteryCollectorCharacter::SetupPlayerInputComponent 添加

Paste_Image.png

编写CollectPickup函数
void ABatteryCollectorCharacter::CollectPickups()
{
TArray<AActor> CollectedActors;
CollectionSphere->GetOverlappingActors(CollectedActors); // 收集所有与SphereComponent碰撞的actor
for (int32 iCollected = 0; iCollected < CollectedActors.Num(); ++iCollected)
{
APickUp
const TestPickup = Cast<APickUp>(CollectedActors[iCollected]);
if (TestPickup && !TestPickup->IsPendingKill() && TestPickup->IsActive()) //判断如果该物体是PickUp并且没有被杀死 并且处于激活状态
{
TestPickup->WasCollected();
TestPickup->SetActive(false);
}

}

}

运行程序 打开 debug窗口 当人物走到电池旁边 按下C 会出现log

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,280评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,301评论 4 61
  • 1. 例题 http://exercise.acmcoder.com/online/online_judge_qu...
    scarqin阅读 776评论 0 0
  • These men believed in journalism as a calling,and were pr...
    Irinaa阅读 2,458评论 0 7
  • 今天看了电影《盗墓笔记》电影中一个盗墓者想要逃跑,却被尸蹩围攻时,三叔大喊了一句:这他妈就是盗墓! 虽然我没有看过...
    寡言君阅读 590评论 0 0