文章目录:
疑问:
Q1、静态类里的变量和方法,都必须是静态的吗?
Q2、普通类里的静态变量,与普通变量相比,有什么特别之处?
解答:
A1、静态类里的变量和方法,都必须是静态的。静态方法里的变量,也必须是静态的。
eg:静态类里有普通方法报错
A2、普通类里有两个变量,一个是静态的,一个是普通的。Unity里有两个场景A和B,可以由场景A跳转到场景B,A和B中都有这个普通类脚本——普通变量,在跳转场景后,恢复初始值;静态变量,保留上个场景中的值。静态变量的这一特性,常和单例模式配合,用于跨场景传值
。
静态类在Unity中的应用举例:
项目如果有多个场景,它们需要用到,同一个变量——可以把此变量写成静态变量,放到静态类中
(脚本不继承自MonoBehaviour父类,就不必加到层级视图的游戏物体上——变量直接用类名调用即可)
下面是我Unity中,统分环节的一个静态类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class ScoreLogic
{
//第4部分,各题分数 变量
public static int score4_01;
public static int score4_02;
public static int score4_03;
public static int score4_04;
public static int score4_05;
public static int score4_06;
public static int score4_07;
public static int score4_08;
public static int score4_09;
public static int score4_10;
public static int score4_11;
}