學習筆記
感受設計演變程序中蘊含的大智慧,
體會樂于怒的程式人生中值得回味的一幕幕,
設計模式來自于建筑領域,作為軟體工程的一個分支,是在軟體工程實踐程序中,程式員們總結出的良好的編程方法,
第一種模式
簡單工廠模式

圖片來源,點這里
上面是簡單工廠的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;
寫完上述代碼,接下來是效果展示圖

對人物的簡單控制,首先得認識Animator 是什么?
Animator是Unity中影片控制器的組件,這東西相當于一個影片片段管理器,我們知道Unity中素材可以拖拽到游戲物件上,制作成稱為Clip的影片片段,如果該物件沒有Animator組件,那么也會同時創建Animator用來管理Clip的切換和觸發等
如下圖所示

不管是什么,只要形成規模,都需要管理人員,游戲也不例外,
GM就是游戲管理員
public ActorController ac1;
public ActorController ac2;
ActorController相當于是角色控制器
一級一級控制,傳到Animator,最后作用到角色

InteractionManager交換管理器
兩個角色互相攻擊
通過對方的InteractionManager腳本
控制HP值的加減
ActorData角色資料
里面有定義角色的最大血量,攻擊力等等

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/343097.html
標籤:其他
上一篇:python實作猜數游戲
