
slg游戏开发
这是我开发过的一个slg游戏,主要是负责大地图部分,游戏已经上线了,闲来无事,将我开发过程中经历的一些要点记录下来。
陌路墨子
这个作者很懒,什么都没留下…
展开
-
slg游戏客户端框架简析
前言从18年3月开始,进入新公司,参与一款slg海战类游戏的开发,全程负责slg海战类游戏大地图模块的开发,以及部分框架的完善和其他内容的开发。游戏已经正式上线一段时间了,工作空闲了一些,趁空闲的这段时间,我将记录此次项目的开发要点和难点。本文暂时只记录大体的框架。网络同步大地大部分slg类型的游戏对实时性要求都不高,因此我们采用状态同步,即使是网络不好的情况下也可以通过转圈的方式,屏蔽玩...原创 2019-09-26 18:04:42 · 3228 阅读 · 1 评论 -
按钮绕某个点环形显示
大地图点击物体显示的按钮呈环形显示代码如下,只要将该脚本挂载在UI上就可以了,子物体是需要显示的按钮using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class ButtonGroup : MonoBehaviour {...原创 2019-09-29 15:12:16 · 400 阅读 · 2 评论 -
slg大地图如何控制只在屏幕内的物体显示
在大地图滑动时,只显示屏幕内的物体,屏幕外的物体不显示。处理方法为将屏幕四个点的坐标转换为世界坐标。然后在update里比较物体是否在屏幕四个点所转换的矩形内。其核心算法是判断点在矩形内。如果是那种占好几个格子的,要比较物体的四个顶点。相关代码如下(lua)-- pointList(屏幕的四个点)-- self.x_min self.x_max self.y_min self.y_max...原创 2019-09-29 16:37:24 · 1029 阅读 · 0 评论 -
大地图如何正确加载和销毁物体
slg地图中的元素模型,大部分都是重复的,所以把加载出来的模型放入对象池中,要注意的是,频繁SetActive()和SetParent会消耗大量性能,所以我们放入对象池和从对象池中取出,最好不要执行SetActive()方法和SetParent()方法。如果原来的对象池管理有涉及到这两个方法的话,大地图的对象池要另外写一套。像我们的项目,因为地图范围是(0-2880),所以当我们放入对象池中,可以...原创 2019-09-29 17:01:00 · 656 阅读 · 0 评论 -
一个弧形滑动条的制作
参考了文章https://blog.youkuaiyun.com/shenmifangke/article/details/53582505,在该文的基础上进行了修改。滑动滑动条c#调用Lua事件,Lua下可通过响应方法给滑动条赋值。using UnityEngine;using System.Collections;using System.Collections.Generic;using U...转载 2019-09-29 17:50:13 · 958 阅读 · 0 评论