当前位置: 首页 > news >正文

自己做网站 发布视频网站做点击收费标准

自己做网站 发布视频,网站做点击收费标准,网站建设代理平台,什么是网络营销的核心竞争力1.脚本布置.参考tank那个demo制作 1.新建空物体,为管理脚本的物体:manager,挂载NetworkManager,kcpTransport,NetworkManagerHud. 2.设置玩家出生点,spawnPoint,设置好初始化的position的位置(*),挂载NetworkStartPosition的脚本 3.新建Player的预制体,挂载NetworkIdentity,Ne…

1.脚本布置.参考tank那个demo制作

1.新建空物体,为管理脚本的物体:manager,挂载NetworkManager,kcpTransport,NetworkManagerHud.
2.设置玩家出生点,spawnPoint,设置好初始化的position的位置(*),挂载NetworkStartPosition的脚本
3.新建Player的预制体,挂载NetworkIdentity,NetworkTransform(unreliable)的脚本,还有自己的自定义脚本,注意自定义脚本需要继承NetworkBehaviour,这个在编辑的时候需要改改.下面是主玩家的移动代码MainPlayerControll.cs.
4.新建turret的预制体,挂载rigibody, NetworkIdentity, TurretMove,“rigibody需要关闭重力”.

using Mirror;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;public class MainPlayerControll : NetworkBehaviour
{public float speed = 5;public float Rspeed = 25;public GameObject turretPrefab;public Transform firepoint;[SyncVar] public int health = 10;int lastHealth = 0;public TextMesh nameTxt;public override void OnStartLocalPlayer(){base.OnStartLocalPlayer();Camera.main.transform.SetParent(transform);Camera.main.transform.localPosition = new Vector3(0, 0.5f, 0);Camera.main.transform.localRotation = Quaternion.identity;}public override void OnStopLocalPlayer(){base.OnStopLocalPlayer();Camera.main.transform.SetParent(null);}void Update(){if (health != lastHealth){nameTxt.text = $"{gameObject.name} <color=red>{health}</color>";lastHealth = health;}if (!isLocalPlayer) return;float horizontalInput = Input.GetAxis("Horizontal");float verticalInput = Input.GetAxis("Vertical");Vector3 movement = transform.forward * verticalInput * speed * Time.deltaTime;Vector3 rotation = new Vector3(0f, horizontalInput * Rspeed * Time.deltaTime, 0f);transform.Translate(movement, Space.World);transform.Rotate(rotation);if (Input.GetKeyDown(KeyCode.Space)){CmdFire();}}[Command]void CmdFire(){GameObject projectile = Instantiate(turretPrefab, firepoint.position, firepoint.rotation);NetworkServer.Spawn(projectile);}[ServerCallback]void OnTriggerEnter(Collider other){if (other.GetComponent<TurretMove>() != null){--health;if (health == 0)NetworkServer.Destroy(gameObject);}}
}
using Mirror;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;public class TurretMove : NetworkBehaviour
{public float destroyAfter = 2;public Rigidbody rigidBody;public float force = 1000;public override void OnStartServer(){Invoke(nameof(DestroySelf), destroyAfter);}void Start(){rigidBody.AddForce(transform.forward * force);}// destroy for everyone on the server[Server]void DestroySelf(){NetworkServer.Destroy(gameObject);}[ServerCallback]void OnTriggerEnter(Collider co) => DestroySelf();
}

2.注意:在manager的NetworkManager中,需要给PlayerPrefab赋值,拖入制作的player预制体,transport中拖入同物体的kcpTransport组件.playerspawnMethod选择RoundRobin.
player预制体的MainPlayerControll脚本需要拖入子弹的预制体,还要拖入一个开火点,开火点:就是创建一个空物体放在player上作为开火点.
子弹只需要把自己的的rigibody拖进去到TurretMode.cs脚本里

主玩家脚本里的广播的字段 需要这样声明写 [SyncVar] public int health = 10;

一些被动碰撞,触发的方法也要加上 [ServerCallback]

  [ServerCallback]void OnTriggerEnter(Collider other){if (other.GetComponent<TurretMove>() != null){--health;if (health == 0)NetworkServer.Destroy(gameObject);}}

主动触发 如开火:需要加 [Command]

    [Command]void CmdFire(){GameObject projectile = Instantiate(turretPrefab, firepoint.position, firepoint.rotation);NetworkServer.Spawn(projectile);}

总结:

[Command]:用于在客户端调用服务器上的方法。客户端可以使用该标记调用服务器上的方法,并将其作为命令进行处理。方法名称必须以 “Cmd” 开头。
[ClientRpc]:用于在服务器上调用并在所有连接的客户端上执行的方法。服务器可以使用该标记调用方法,并在所有连接的客户端上执行。方法名称可以任意命名。
[TargetRpc]:用于在服务器上调用并在特定客户端上执行的方法。服务器可以使用该标记调用方法,并在特定的客户端上执行。方法名称可以任意命名。
[ServerCallback]:用于指示方法只在服务器上执行,不在客户端上执行。该标记用于在服务器上定义特定逻辑或处理服务器端的事件。方法名称可以任意命名。

注意事项:

[Command]、[ClientRpc] 和 [TargetRpc] 方法必须在继承自 NetworkBehaviour 的脚本中使用,并且需要正确配置网络连接和同步设置。
[Command] 方法只能从客户端调用,并且只在服务器上执行。
[ClientRpc] 方法只能在服务器上调用,并在所有连接的客户端上执行。
[TargetRpc] 方法只能在服务器上调用,并且只在特定的客户端上执行。
[ServerCallback] 方法只在服务器上执行,不在客户端上执行。

方法开头规则:

[Command] 标记的方法名称必须以 “Cmd” 开头。
[ClientRpc]、[TargetRpc] 和 [ServerCallback] 标记的方法名称可以任意命名。

http://www.yayakq.cn/news/246707/

相关文章:

  • 嘉兴网站优化排名财经网站模板
  • 公司做网络推广哪个网站好成都培训机构哪家好
  • 各大知名网站开发语言如何进行网站开发
  • 网站制作自己做服务器网站建站公司哪家好
  • 室内设计师招聘网站北京做网站个人
  • 长长沙网站制作餐饮官网建站模板
  • 杭州网站建设公司排名销售类电商网站如何做优化
  • 网站设计平台及开发工具石家庄手机网站开发
  • 怎么自己做五合一网站网站制作多少钱
  • 平面设计案例网站推荐西安百度百科
  • 大连做网站电话重庆seo搜索引擎优化优与略
  • 网站建设相关岗位名称99作文网官网
  • 网站建设实训总结范文广州做贸易网站
  • 做暧暧视频网站w毕业设计网页设计题目
  • 企业网站cms 开源网站模块名称
  • 四川旅游seo整站优化站优化北京专业的网站建设
  • 济南专业网站设计wordpress 图片分享
  • 温州做网站制作东莞佳诚网站建设有限公司
  • 非凡网站开发培训百度风云搜索榜
  • 如何自建购物网站个人主页链接怎么填写
  • 建设企业官方网站的流程三分钟做网站
  • 和各大网站做视频的工作总结国内做网站最好的公司
  • WordPress建站去掉后缀危机公关处理
  • 有没有做美食的规模网站网络营销品牌公司
  • 怎么看一个网站是否是外包做的贵州做网站的
  • 安徽网站开发跨境电商自己做网站卖衣服
  • 哪个网站衬衣做的好cm域名网站
  • 做创意美食的视频网站营销策略的思路
  • 做专题页的背景网站接洽网页设计公司
  • 常用企业网站模板对比vi设计的基本要素