zoukankan      html  css  js  c++  java
  • 龙裔战争项目梳理

    1 登录UI部分使用: 使用unity自带的UGUI系统 登录界面 游戏大厅 游戏房间 创建房间等功能 使用canvas画布
    玩家点击不同的按钮,登录使用Logincontroller脚本控制不同canvas的激活.
    登陆部分, PUN封装的登录函数进行登录操作
    1 客户端向服务器发送游戏的AppID和标识符
    2 Nameserver将管理版本游戏的Masterserver IP发送给客户端
    3 客户端连接MasterServer, 向masterServer请求游戏大厅列表
    4 masterServer返回游戏大厅列表给server

    玩家的基本信息使用Photon的HashTable保存, ID,准备情况,分数,杀敌数目
    游戏房间玩家选择不同类型的龙, 观看不同龙的模型和介绍, 模型和介绍会自动更新, 并且播放相应的动画.
    此时只在本地更改, 当玩家点击确认选择, 使用RPC方法调用每个客户端的回调函数, 更新RoomInfo可选用龙的列表.

    只编写了客户端程序,游戏逻辑在客户端处理, Photon服务器负责客户端之间数据的验证与传递.


    给本地客户端游戏对象添加PhotonView组件, 本地客户端对象与其他客户端对象可以进行数据传递.
    直接将需要同步的组件设置在Observed Components中(同步帧率小于人眼, 使用线性插值)
    OnPhotonSerializeView(序列化)
    RPC远程过程调用

    2 游戏过程:
    MatserClient是游戏中的客户端,由进入房间的第一个玩家担任,玩家离开房间自动更换人员.
    进入游戏, 游戏中的静态场景由各个客户端各自生成. 随机产生的道具由master客户端生成.
    玩家由玩家属性中的类型,生成相应的龙.
    玩家的位置和朝向同步使用photonView中的observed component方法.

    玩家预制件上挂载了捡道具回血回蓝脚本, 使用OntriggerEnter回调函数 (忽略物理碰撞)
    使用标志位kind触发完以后检测kind是否扔为没被其他玩家触发, 然后标志位更改, 进行网络传输.调用RPC函数 通知matser玩家destroy血瓶
    使用Translate方法 根据xz的偏移 一次移动一小段. 本来是用添加力的作用,速度越来越快,不好控制.

    玩家基本技能碰撞 检测出两方 都为普通状态 无操作
    我方为普攻,对方为没有开启普通攻击, 使用RPC给对方一个相反方向的作用力, 同时减去一部分血量.

    当龙抢占相应的技能时, 技能就可以使用,使用hash表存储所有技能.
    土龙:RPC发送给所有客户端, 攻击周围的人0.2s, 周围碰撞体打开, startCorotine协成, 在该碰撞体周围的人扣血
    水龙:回血
    风龙:速度加快
    雷龙:瞬移,容易移动到预制体中 从朝向方向, 发出一条射线, 如果会与其他物体碰撞, 则失败.
    火龙:强攻

    游戏过程的UI和结算系统:
    游戏顶部显示当前游戏排名,显示技能数目 杀敌数目 显示第一名玩家 和本地玩家.
    左边显示游戏小地图, 各个玩家位置和祭坛位置.Render Texture 新建摄像机 地图layer为miniMap
    在每个玩家的GameSystem脚本的update中定期检查自己的技能数目是否达到3个, 达到三个开始计时10s.到达10s使用RPC结束,中间数目不为3,则计时器置0.
    中间的实时排名.遍历游戏房间中的所有玩家信息, 按照技能数目和杀敌次数死亡最少次数优先级排序, UI上显示第一名和当前玩家游戏排名.

  • 相关阅读:
    linux-centos7安装mysql5.6
    CentOS Linux 7.2相关配置 以及环境搭建
    centos中查找占用磁盘大文件
    记录Redis在Windows下的安装与服务管理报错:Redis service failed to start.
    Spring cloud ----- 服务治理
    Spring Cloud技术分析
    Linux常用命令总结
    Java面试题总结(不断更新中)
    SpringBoot几种定时任务的实现方式
    Java 定时任务---Timer
  • 原文地址:https://www.cnblogs.com/timesdaughter/p/6704299.html
Copyright © 2011-2022 走看看