2020.6.3
解决的第一个BUG:按下按钮之后 按钮上方的文字无需与按钮同步变小
解决方法:非常清晰简单。将文字拖出按钮组件的子组件列表中,即解决了这一BUG。
注意:该解决方法可能会出现某些问题,将文字拖出按钮组件后,虽然达到不会于其同步变小的效果,也会出现不会与其同步消失出现的新问题。解决新问题的方法就是新增逻辑,让其与组件同步该同步的事情。
第二个BUG:调整玩家船只采集时候的方向
问题:船只采集的时候默认处于资源块的右下角,要将其改正到资源左下角。
解决方法:unityVec = Quaternion.AngleAxis(90, Vector3.up) * unityVec;
将原本的调整向量角度转向90度即可。
获取到的新知识:
1.Unity自带的Quaternion.AngleAxis
函数的使用。
参考文章Unity向量旋转
2.改动一个代码的时候,特别要注意变量对其他地方的影响。
3.游戏逻辑 画面表现是分离的,具体是如何耦合的,还需要后序学习
第三个BUG:训练室界面中4个兵种头像旁的兵种角标错误
这个bug解决方式很简单,依葫芦画瓢地更改图标即可。主要的知识点在于,如何利用代码获取到对应的资源。
在表中获取即可。用游戏的表格组件
第四个BUG:额外属性加成值是假的
解决方式同第三个BUG
知识点:如何获取表中到对应的资源
在./ConfigurationForRelease文件夹中,有一个导出总表,里面详细记录了各种表格。客户端和服务器各存放着这些表单。
要获取相应的客户端与服务器中的对应数据,使用该项目自带的表格组件即可通过表格名获取到客户端/服务器中相应的数值。
例如:
HotfixMain.DataTable.GetDataRow<DRPartsown>(TableId);
或者(这两个方法是一样的)
TableMgr.GetDataRow<DRBuilding3>(id);
其中表格名即为Partsown,返回到对应ID的一行数据。DR的意思就是:todo
第五个BUG:运输物资时在运输舱界面,运输量的数量错误
这个BUG主要的问题是策划的要求更改,解决起来很简单,可学习的点有:
1.拖动条:todo
具体事项以后再学习
事件驱动的游戏逻辑
游戏的逻辑均由客户端/服务器的事件所驱动。
UI管理器的使用
游戏内所有的图标由一个管理器管理,在线加载。
以舰队头像为例看加载UI的方式:
先从表格中获得ID,再利用写好的路径读取icon
DRSubship subShip = HotfixMain.DataTable.GetDataRow<DRSubship>(staffTeam.ShipId);
string path = AssetUtility.GetSlgShipIconAsset(subShip.Icon);
m_FleetIcon.SetSprite(path, true, true);
public static string GetSlgShipIconAsset(string assetName)
{
return Utility.Text.Format("Assets/Res/UI_Textures/SlgShipIcon/{0}.png", assetName);
}
UGUI的简单知识:Anchor和Pivot
Unity模式 :Pivot/Center 当处于Pivot模式时候,物体的轴心为设置的轴心。
当处于Center模式时,轴心为物理轴心
Global/Local 当处于Global模式时,在这种状态下物体的坐标轴其指向始终与 Scene 场景中右上角的世界坐标轴指向相同。
Local:游戏物体自身的坐标轴指向,即美术设计师在建模时设置的坐标轴指向。
pivot:轴 物体在旋转时会以轴心为中心旋转,
anchor:锚点 物体会以锚定在锚点位置上,而且物体的position属性会随着锚点变动而变动,position属性是以物体锚点为中心的平面偏移。
Unity的快速设置 按住shift可以同时设置锚点和轴,按住alt可以同时设置锚点和位置
当以边为锚点的时候(锚点的四个三角分开),transform几个属性会变成 上下左右,指的是离锚边上下左右的距离。