【UE4】网游开发中的RPC和OnRep(三)
本文转自我的公众号—游戏开发手账
转载请标明出处
最后说说怎么用OnRep完成子弹的同步。
OnRep
使用属性同步也能够完成Client和Server的同步,仍是以之前的Fire功能为例。
Multicast相关部分可以全注释掉了,在头文件声明要同步的属性Fired和要调用的函数OnRep_OnFire()
:
UPROPERTY(ReplicatedUsing = OnRep_OnFire)
uint8 Fired;
UFUNCTION()
void OnRep_OnFire();
这里的ReplicatedUsing
可以这样简单理解:Server的Fired值变化时,Client中会触发函数OnRep_OnFire()
,但是在Server需要手动调用OnRep_OnFire()
。
在cpp中进行OnRep_OnFire()
的实现,并进行属性的条件复制:
void AMultiplayerCharacter::OnRep_OnFire()
{
/*生成投射物*/
/*开枪的动画*/
/*生成声音*/
/*...*/
}
void AMultiplayerCharacter::