首页 > 编程语言 >[21] C++ 虚幻引擎项目结束

[21] C++ 虚幻引擎项目结束

时间:2024-06-01 21:11:25浏览次数:16  
标签:Ps 21 C++ API && 虚幻 TIPS 节点 客户端

Week21

Day1

大纲

准备开始游戏
踢除玩家
根据职业更改外观样式

内容

踢除下线

在玩家客户端调用让当前客户端下线 , 会退到默认地图

void AHallPlayerState::Client_AskLogout_Implementation()
{
	//下线
	UKismetSystemLibrary::ExecuteConsoleCommand(this, TEXT("DISCONNECT"));
}

判断当前是否服务端

CopyProperties的应用

根据职业更改外观样式

void ALGPlayerCharacter::BeginPlay()
{
	UpdateCareerMeshCount = 5;
	UpdateCareerMesh(); //更新模型
}
//在一段时间内持续调用 , PlayerState的值可能会由延迟 , 但指持续调用5次
void ALGPlayerCharacter::UpdateCareerMesh()
{
	if (ALGPlayerState* Ps = Cast<ALGPlayerState>(GetPlayerState()))
	{
		UE_LOG(LogTemp, Log, TEXT("更新模型%hhd"), Ps->GetCareer())

		if (Ps->GetCareer() != ECareer::ETT_None)
		{
			//加载职业对应的网格资产
			USkeletalMesh* SkeletalMesh = LoadObject<USkeletalMesh>(
				GetMesh(), LG::GetCareerSkeletalMesh(Ps->GetCareer()));
			GetMesh()->SetSkeletalMesh(SkeletalMesh);
			return;
		}
	}

	if (--UpdateCareerMeshCount < 0)
	{
		return;
	}

	FTimerHandle TimerHandle;
	GetWorld()->GetTimerManager().SetTimer(TimerHandle, this, &ALGPlayerCharacter::UpdateCareerMesh, 0.5f);
}

同步 : 奔跑

虚幻引擎已经帮我们做好了网络同步了 , 我们只需要吧行为上到服务器即可

TIPS

独立进程才能无缝漫游

GameInstance : 跨地图也存在

API && 节点

踢下线

UKismetSystemLibrary::ExecuteConsoleCommand(this,TEXT("DISCONNECT"));

HUD拿到PS

GetOwningPlayer()->GetPlayerState<>()

Day2

大纲

道具丢弃捡起
道具穿上脱下
捡枪丢枪
奔跑 精准瞄准
开枪
特效
武器子弹

内容

地上的道具开启网络同步

TIPS


做网络同步的时候先从客户端思考 , 服务端怎么办 客户端怎么办

部署自己的SVN开发项目

枪要设置Owning

敲错代码翻上去看是不是引入了其他模块

API && 节点

C++设置网络同步

bReplicates = true;//网络同步
SetReplicates(true);
Character->IsLocallyControlled()) //查看是否本地控制的角色

疑问

 

Day3

大纲

内容

TIPS

API && 节点

疑问

 

Day4

大纲

内容

TIPS

API && 节点

疑问

 

Day5

大纲

内容

TIPS

API && 节点

疑问

 

标签:Ps,21,C++,API,&&,虚幻,TIPS,节点,客户端
From: https://www.cnblogs.com/Aquakinn/p/18226050

相关文章

  • 21笔会计结转分录
    21笔会计结转分录......
  • 反转21克msvcr100.dll丢失怎么办?反转21克msvcr100.dll丢失问题的全面解析与解决之道
    《反转21克》是目前第一款以科幻为题材的互动影像作品。然而很多玩家都遇到了反转21克msvcr100.dll丢失的问题,其中msvcr100.dll是MicrosoftVisualC++2010RedistributablePackage的一部分,它提供了运行时库支持,下面一起来看看解决方法介绍吧!重新安装相关程序重新安装与ms......
  • 《C++primer》读书笔记---第九章:顺序容器
    9.1顺序容器概述下表列出了标准库的顺序容器,所有容器都提供了快速顺序访问元素的能力:多种容器中,通常使用vector是最好的选择,除非你有很好的理由选则其他容器。以下是一些选择容器的基本原则:除非你有很好的理由选择其他容器,否则选择vector如果你的程序有很多小的元素,且空......
  • c++内存分配
    想象一下你有一个房子,房子里有很多房间,每个房间都可以用来存放东西。在C++中,内存管理就像是你在设计和建造这个房子。你可以自己决定房间的数量和大小,也可以随时动态地改变它们。但是,你需要小心地管理这些房间,确保你不会浪费空间或者让房间里的东西互相干扰。所以,C++中的内存管......
  • C++Primer Plus第十一章类的使用,课后练习2,还是醉汉回家的故事 3,最慢和最快及平均概率
    修改程序清单11.15,使之报告N次测试中的最高、最低和平均步数(其中N是用户输入的整数)而不是报告每次测试的结果。头文件和实现文件不变,这里为大家方便还是贴上代码//vect.h--Vectorclasswith<<,modestate#if1#ifndef VECTOR_H_ #defineVECTOR_H_#include<io......
  • C++Primer Plus第十一章类的使用,课后练习1,还是醉汉回家的故事
    编程练习11.91.修改程序清单11.5,使之将一系列连续的随机漫步者位置写入到文件中。对于每个位置,用步号进行标示。另外,让该程序将初始条件(目标距离和步长)以及结果小结写入到该文件中。该文件的内容与下面类似:TargetDistance:100,stepSize:200:(xy)=(0,0)1:(x,y)=(-11.4......
  • 【C++】内存管理
    文章目录1.回顾C/C++的内存管理2.C++内存管理方式2.1new/delete对于内置类型2.2new/delete对于自定义2.3operatornew与operatordelete函数2.4new和delete的实现原理2.5定位new表达式3.常见面试题1.回顾C/C++的内存管理首先,我们来回顾一下内存中的区域划分......
  • EG2106 原装正品 贴片SOP-8 大功率MOS管栅极驱动芯片耐压600V
    EG2106在电机控制中的应用非常广泛,下面是一些典型的应用案例: 1.无刷直流电机(BLDC)控制:EG2106可以用于驱动无刷直流电机的功率MOSFET或IGBT。在无刷电机控制器中,通常会用到H桥电路来控制电机的正反转和转速,EG2106的高电压和大电流能力使其非常适合这种应用。 2.步进电......
  • 【C/C++】--- 指针详解 2.0
    接下来进入指针的进阶部分,准备好大脑补充:(重点)数组名是数组首元素地址数组首元素地址和数组地址,值相同,但本质不同,区别在于二者的类型不相同比如数组intarr[10];数组首元素地址的类型:首先这是一个地址所以要用指针接收,(),然后是地址指向元素的类型为int,所以这个指针的......
  • macOS下使用bits/stdc++.h万能头文件
     macOS下使用bits/stdc++.h万能头文件1.终端中输入echo|g++-v-xc++-E-#include<...>searchstartshere:/usr/local/include/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/Library/Developer/CommandLineTools/usr/lib/clang/12.......