设计模式 简单工厂,策略模式,几种基本原则,Unity基础

学习笔记

           感受设计演变过程中蕴含的大智慧,
           体会乐于怒的程序人生中值得回味的一幕幕。

设计模式来自于建筑领域,作为软件工程的一个分支,是在软件工程实践过程中,程序员们总结出的良好的编程方法。

第一种模式

简单工厂模式

设计模式 简单工厂,策略模式,几种基本原则,Unity基础_第1张图片
图片来源,点这里

上面是简单工厂的UML图

我简单介绍一下
首先是一个主类,下面有3个子类(可以是多个)继承它
每个子类都是一个方法,都独自封装成类
把它们的共性写入基类(也就是父类)写成抽象或者写成虚函数的形式

偷工减料,简单工厂详解

第二种模式

策略模式

策略模式入口

基本原则

所谓基本原则就是设计时要遵循的
原则,遵循这些原则可以让代码更加完美。

单一职责原则

就一个类而言,仅有一个引起它变化的原因。

开放-封闭原则

对于扩展是开放的,对于更改时封闭的, 类似一国两制,类似电脑加内存。

依赖倒转原则

抽象不应该依赖细节,细节应该依赖于抽象,要针对接口编程,不应该针对实现编程。(如过依赖实现编程,电脑内存就要具体到某个品牌的主板,那么换电脑内存就需要换主板,这就尴尬了)。高层模块不应该依赖底层模块,两个都应该依赖抽象。

里氏代换原则

子类可以扩展父类的功能,但不能改变父类原有的功能。

Unity基础

认识脚本的基本三大区域

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ActorController : MonoBehaviour
{
    //1.变量区  在这定义的public变量 可以在unity控制界面赋值
    public Animator anim;
    public string name;
    public float hp;
    public ActorData adata;
    //2.一次性代码区 start
    // Start is called before the first frame update
    void Start()
    {

    }
    //3.重复执行代码区 update(目标 每秒60次 60fps)
    // Update is called once per frame
    void Update()
    {
       
    }
}

变量区常用的语句

public enum STATE{//下拉框
        IDLE,
        PLAYERA,
        PLAYERB,
        FINISHED
    }
    [Header("== Parameters Settings ==")]//添加标题
    [Range(0,10.0f)]//加完这个后,直接变滑杆
    public float i = 0.1f;//后面必须加f不然分辨不出
    [Header("== String Settings ==")]
    [Space(10)]//距离空隙
    public string name;
    [Space(10)]
    [Header("== ActorController Settings ==")]
    public ActorController ac1;
    public ActorController ac2;
    [Space(10)]
    [Header("== Game State ==")]
    public STATE state;

写完上述代码,接下来是效果展示图
设计模式 简单工厂,策略模式,几种基本原则,Unity基础_第2张图片

对人物的简单控制,首先得认识Animator 是什么?

Animator是Unity中动画控制器的组件,这东西相当于一个动画片段管理器。我们知道Unity中素材可以拖拽到游戏对象上,制作成称为Clip的动画片段,如果该对象没有Animator组件,那么也会同时创建Animator用来管理Clip的切换和触发等

如下图所示
设计模式 简单工厂,策略模式,几种基本原则,Unity基础_第3张图片
不管是什么,只要形成规模,都需要管理人员,游戏也不例外。
GM就是游戏管理员
public ActorController ac1;
public ActorController ac2;
ActorController相当于是角色控制器
一级一级控制,传到Animator,最后作用到角色
设计模式 简单工厂,策略模式,几种基本原则,Unity基础_第4张图片
InteractionManager交换管理器
两个角色互相攻击
通过对方的InteractionManager脚本
控制HP值的加减

ActorData角色数据
里面有定义角色的最大血量,攻击力等等
设计模式 简单工厂,策略模式,几种基本原则,Unity基础_第5张图片

你可能感兴趣的:(学习笔记,c#,设计模式)