c# 零碎

获取输入类型

  Input.GetKey(KeyCode.A)


摄像头投射的两种方式

projection orthographic  直角2D的  perspective 角度 透视


获取组件

        GetComponent<Renderer>

加载预制件 并且实例化  预制件放在Assets-Resources文件下

    Instantiate (Resources.Load (""));


销毁物体

Destroy(obj);
Resources.UnloadUnusedAssets ();


碰撞器的检测条件

1.参与碰撞的双方都必须有碰撞器 cllider

2.参与碰撞的物体必须有一个有刚体 rigidbody


场景切换

引入场景的命名空间 using UnityEngine.SceneManagement

SceneManager.LoadScene()

加入Build Setting


偏好设置

        PlayerPrefs.SetInt()


struct定义的为值类型 存在栈上

vector3 struct定义 值类型 存在栈上

string class定义 引用类型 存在堆上


构造函数Constructor 在一个类型中初始化成员变量

1.构造函数的名称和类名完全相同

2.构造函数没有返回值的声明

3.构造函数可以重载


格式字符串

    System.String.Format()



const 和readonly 区别

const 字段只在初始化的时候赋值

readonly可以在声明 和构造函数中赋值 

因此根据构造函数不同readonly可能有不同的值

const是编译时常量 readonly 是运行时常量


static定义的 是类的变量 属于类调用


重载运算符. 需要写在struct定义的类里

public struct Text{
    int x;
    int y;

    public Text(int x, int y){
        this.x = x;
        this.y = y;
    }

    public static Text operator + (Text t1, Text t2){
        return new Text (t1.x + t2.x, t1.y + t2.y);
    }

}


override 重写父类里的函数

    public override string ToString ()
    {
        return string.Format ("[MyArrayList: Count={0}, Capacity={1}, Item={2}]", Count, Capacity, Item);
    }


索引器

    public int this [int index] {
        get { 
            if (index < count && index >= 0) {
                return list [index];
            }
            return -1;
        }
        set {
            if (index < count&& index >= 0) {
                list [index] = value;
            }
        }
    }


抽象类 关键字 abstract 

抽象类不能实例化 继承自抽象类的子类要实现父类里的方法

public abstract class World{
    public     string region;
    protected string name;

    public abstract void Culture();
}

public class China:World{
    public override void Culture ()
    {
        Debug.Log ("China");
    }
}



接口 

接口和抽象类类似 完全抽象的叫做接口

接口里所有函数必须是没有实现

接口定义的是一套规则

子类必须实现接口里的方法

public interface Icontrol{
     void SystemEvent ();
}

public class MyButton: Icontrol{
    public    void SystemEvent (){
    }
}


sealed 关键字

被sealed关键字标记的类不能被继承

public sealed class World{
    public     string region;
    public  void Culture();
}


in out ref关键字

in 默认的传递方式, 向函数内部传送至

out在使用类型的时候必须必须先问其赋值,又被调方为其赋值

ref 必须有调方明确为其赋值,因此不需要有被调方明确赋值,ref 被调方可更改也不不更改

ref传给函数的是参数地址 而out用来从函数想调用者返回值

out参数在传递前不需要赋值,即使赋值也会被清空,所以 函数内部必须对out赋值 否则出错

ref 参数可在传递前赋值,因为ref传递的是参数地址,但是函数内部并不必须对ref参数进行赋值,

也就是说ref可以修改也可以不修改
 

运算符

and  都为真时为真  1& 1 = 1 1 & 0 = 0 0&0 =0 

or 只要有一个为真为真 1 1 = 1 1 0 = 1 0 0 = 1

XOR ^ 异或运算 半加运算 只保留最后那位

1^ 0  = 1 0 ^0 = 0 1 ^ 1 = 0;


命名空间namespace


异常类Exception

try

{

}

catch()

{

finally{

}


delegate 委托 核心是回调

delegate也是一种类型

public delegate void Over();

    public static Over over;

static 用类来调用

其他界面给over赋值

B.over += BisOver;赋值为方法名



代码修改颜色

        float r = Random.Range(0f, 1f);
        float g = Random.Range(0f, 1f);
        float b = Random.Range(0f, 1f);
currentObj.GetComponent<MeshRenderer>().material.color = new Color(r, g, b);




        //加载出来的位置在相机前面
        // currentObj.transform.position = Camera.main.transform.position + Camera.main.transform.forward * 0.85f;

   

       加速率

        Rigidbody rb = currentObj.GetComponent<Rigidbody>();
        rb.velocity = Camera.main.transform.forward * 10;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值