1.JudgementOfDeath脚本,返回DieType
1.JudgementOfDeath脚本,返回DieType
public class OperationCode{
}
1.初始化方法InitMessage,数据清零。
deadPlayerNum.Clear();
wolves,villagers,defender,hunter,prophet,witch,canShoot=true,canSave=true,canKill=true,InitAction();
2.初始化方法InitAction,行动清零。
hasSave=false,wolfKillNumber,witchKillNumber,defendNumber
MessageManager脚本编写。
1.创建枚举DieType(Zero,One,Two)和GameJudgementState(VillagerWin,WolfWin,GoOn);
2.创建列表存储死亡玩家,List<int> deadPlayerNum;
3.本场游戏对应身份的玩家号码:
int[] wolves,int[] villagers;
int defender,hunter,prophet,witch;
4.操作对象与状态
int wolfKillNumber,witchKillNumber,defendNumber,lastDieNumberOne,lastDieNumberTwo,
bool
canShoot,canSave,canKill,hasSave
5.游戏判定列表
List<int> judgeList
1.AudioSourceManager脚本编写,构造时传递GameManager;
2.ChangeVolume脚本,控制音量。
3.ChangeBGM脚本,切换及播放声音。
4.StopPlay脚本,停止播放。
1.在GameManager脚本的Awake中添加DontDestroyOnLoad(this.gameObject)。
2.加载资源包UIPackage.AddPackage("UI/Res_Main");
UIPackage.AddPackage("UI/Res_Game");
UIPackage.AddPackage("UI/Res_Component");
3.在unity内文件夹FONT下导入汉仪南宫体字体。
UIConfig.defaultFont="汉仪南宫体简";
4.设置屏幕自适应:GRoot.inst.SetContentScaleFactor(1600,900,UIContentScaler.ScreenMatchMode.MatchWidthOrHeight);
5.在Awake中实例化UIManager,AudioSourceManager,MessageManager。
1.在GameManager中,定义AudioSourcesManager(AudioSource,AudioClip[]),MessageManager,UIManager(主界面和游戏中,共2种情况,用bool来区分),并赋值。
2.在GameManager上挂载AudioSource,拖入AudioClip.
1.在Script下创建分类文件夹,manager和UIpanel。
2.创建AudioSourcesManager,MessageManager,UIManager,UIPanelType脚本。
3.UIPanelType枚举MainPanel,GamePanel,HelpPanel,SetPanel,DayNightPanel,WolfPanel,WitchPanel,ProphetPanel,HunterPanel,GuardPanel。
4.理解从FairyGUI导入的资源的加载顺序,应按资源-组件-面板的顺序加载。
加载当前场景
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
屏幕坐标转世界坐标
Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 0) + new Vector3(0, 0, 10));
粒子系统默认是打开的可能看不出效果,把Emission里的Rate over time设置成0就好了
一盏墙,一面家!
需要注意的是,求解逆矩阵是计算转置矩阵的代数余子式,前面乘以1/|A|
代数余子式具体算法:
第一行or第一列的每一个数,作为余子式的乘数,按照正负正的顺序相加
可逆也叫非奇异性
|A|是矩阵A的行列式
矩阵右上角一个T代表转置矩阵,转置矩阵是原矩阵的翻转
右上角一个-1代表逆矩阵,逆矩阵和原矩阵相乘=1,只有方块矩阵才有逆矩阵,因为第一个矩阵的列数如果和第二个矩阵的行数不相等就没法相乘。
判断一个矩阵是否可逆需要求矩阵的行列式,二阶矩阵行列式就是对角线相乘后相减。
三阶矩阵行列式需要求代数余子式结果,如果结果为0,没有逆矩阵,不为0,有逆矩阵
CS.命名空间.类名.方法.参数
注意矩阵相乘是点乘结果,结果是数值
矩阵之间相乘是行*列,所以要求第一个矩阵的行数必须等于第二个矩阵的列数
点积第二种得到方法:向量a的模长乘以向量b的模长乘以cos那个啥