Unity 3D学习笔记之C#知识储备

1.list 和 array 的区别
//list 是变长数组,相当于C++里的vector
public List<int> list;
//array是定长数组,相当于c++的普通数组
public int[] arr = new int[10];
2.构造函数constructor

和c++一样,有多态、继承 C# script必须施加在一个GameObject上才能发挥作用

3.OnEnable 和 Ondisable

分别在点下运行和点下结束的时候执行。

//执行先后顺序依次是

    private void Awake(){
        
    }
    private void OnEnable() {

    }
    void Start() {
        
    }
    private void OnDisable() {
        
    }
4.Coroutine
private void Start()
    {

        StartCoroutine(CallFunction());
    
    }

    IEnumerator CallFunction()
    {
        yield return new WaitForSeconds(2f);
        if(playerDied!=null)
        {
            playerDied();
        }
        
    }
5.Time.timeScale
Time.timeScale = 0; //让游戏中一切都停止
6.static variables and functions

不需要创造一个实例才能调用,直接用ClassName.variableName ClassName.FunctionName调用

    public static int power = 0;
    public static void PowerInfo()
    {
        Debug.Log("power is " + power);
    }

注意静态函数里出现的变量必须是静态成员变量。

7.Enumeration

相当于创造一个新的数据类型,数据的值只能特定的几个值的其中一个。

    public enum GameState
    {
        Started,
        Ended,
        Paused,
        MainMenu
    }
    GameState gameState = GameState.Started;
8.data encapsulate

get 和 set 这个特性c和c++里没有,比较神奇。

    private float health;
    private string playerName;
    public float Health
    {
        get
        {
            return health;
        }
        set
        {
            health = value;
        }
    }
    public string PlayerName{
        get{
            return playerName;
        }
        set{
            playerName = value;
        }
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

一文详解scala泛型及类型限定

今天知识星球球友,微信问浪尖了一个spark源码阅读中的类型限定问题。这个在spark源码很多处出现,所以今天浪尖就整理一下scala类型限定的内容。希望对大家...

782
来自专栏编程

记住这35个大神级别的Python操作,足够精简上千行代码!

从我开始学习python的时候,我就开始自己总结一个python小技巧的集合。后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码...

2457
来自专栏专知

【专知-关关的刷题日记16】Leetcode 88. Merge Sorted Array

题目 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as on...

34410
来自专栏开发与安全

散列表(二):冲突处理的方法之链地址法的实现(哈希查找)

首先需要澄清的一点是,这里讲的是hash table/hash map ,即数据项所存储的表要用数组来实现。 一、链地址法 这种基本思想:将所有哈希地址为i 的...

1900
来自专栏有趣的Python

慕课网-C++远征之多态篇(下)-学习笔记

RTTI(运行时类型识别) Run-Time Type Identification typeid < - > dynamic_cast 例子: class F...

3324
来自专栏java思维导图

Java 语法清单-快速回顾

Java 语法清单翻译自 egek92 的 JavaCheatSheet,从属于笔者的 Java 入门与实践系列。时间仓促,笔者只是简单翻译了些标题与内容整理,...

2915
来自专栏racaljk

Julia体验 语言基础

以前听说过Julia,不过那时候官网还处于时不时宕机状态,最近Julia发布了1.0 released版本到处都是它的资讯,官网良心自带简体中文,趁着热度我也来...

922
来自专栏个人分享

Socket与Http方式解析发送xml消息封装中间件jar包

  最近项目代码中太多重复的编写Document,不同的接口需要不同的模板,于是重写提取公共部分打成jar包,方便各个系统统一使用~

593
来自专栏菩提树下的杨过

mybatis3.2.8 与 hibernate4.3.6 混用

mybatis、hibernate这二个框架各有特色,对于复杂的查询,利用mybatis直接手写sql控制起来更灵活,而一般的insert/update,hib...

1746
来自专栏函数式编程语言及工具

Scalaz(12)- Monad:再述述flatMap,顺便了解MonadPlus

  在前面的几篇讨论里我们初步对FP有了些少了解:FP嘛,不就是F[A]吗?也是,FP就是在F[]壳子(context)内对程序的状态进行更改,也就是在F壳子(...

1777

扫码关注云+社区