美文网首页
10 - Collecting Pickups

10 - Collecting Pickups

作者: 镜月s | 来源:发表于2017-09-18 14:48 被阅读14次

    为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

    相关文章

      网友评论

          本文标题:10 - Collecting Pickups

          本文链接:https://www.haomeiwen.com/subject/gekbsxtx.html