u3d静态函数

using UnityEngine;
using System.Collections;

public class Manager : MonoBehaviour
{
    private static  Manager m_Instance;

    public static Manager instance
    {
        get
        {
            return m_Instance;
        }
    }
    // Use this for initialization
    void Start ()
    {
        m_Instance = this;
    }

    public void Gprint()
    {
        Debug.Log("Gprint");
    }

    public static void print()
    {

        Debug.Log("this is Manager");
    }

    // Update is called once per frame
    void Update ()
    {

    }
}

下面脚本调用

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour
{

    private Manager maager;
    void Start ()
    {

    }

    // Update is called once per frame
    void Update ()
    {
        maager = Manager.instance;
        maager.Gprint();
        Manager.print();

    }

    void OnGUI()
    {
       // GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), tex);

    }
}
 maager = Manager.instance; 放到update里面,是因为每个脚本的Start执行时间不一样,不能确保manager的start就一定在Test类的前面执行,所以放到update里面更保险类的成员函数就使用得到的,静态的方法使用类的头
时间: 2024-10-12 07:49:54

u3d静态函数的相关文章

U3D屏幕坐标,世界坐标,像素坐标之间的关系

U3D中,屏幕坐标和世界坐标单位一样,二者之间是直接的一一对应关系,不受屏幕分辨率影响.默认情况下屏幕空间画布的左下角坐标是世界原点(0,0,0),这种情形下,世界空间的点(1920,1080,任何值)就对应屏幕上的点(1920,1080,0). sprite的大小是由实际图片的像素确定的,如512X512的图片放到sprite上,sprite的大小是5.12X5.12.即:默认情况下3D空间中1=100像素,这个是可以在每张图片导入设置中设定的. 由此,可见,屏幕分辨率代表的是游戏窗口能看到的

U3D学习笔记1: HelloWorld

Unity 版本: 5.3.5.f1 Hello World工程 1.新建工程 HelloWorld U3D可选2D和3D游戏 2.新建C#脚本文件 在project栏的assets目录右键->create->script->C# script 同时重命名成HelloWorld,双击即可打开 可以在Edit->preferences->External Tools中选择打开的编辑环境 3.编写代码 除了红色方块框起来的代码,其余的代码都是U3D框架自动帮我们生成好的代码  S

U3D 2D中给精灵添加刚体后 发现精灵会倒 ..

U3D 2D中给精灵添加刚体后 发现精灵会倒 .. 这是因为 没有禁用z轴上面的刚体力造成..只有把刚体上面的 z轴刚体力 冻结掉就可以了 方法一: 红框中Z 复选框勾起来就可以了 方法二 : void Awake() { GetComponent<Rigidbody2D>().freezeRotation = true; }

c++静态成员与静态函数

1 静态成员的定义 1 静态变量 c++在类里面进行的仅是引用性声明,不会为之分配内存,要求必须单独对静态数据成员进行定义性的声明.形式为: 类型 类名::静态数据成员名: 此时的定义需要再加关键字static,并且可以在定义时初始化. c++要求类中成员变量不可以直接初始化,可以采用定义函数方法时后挂变量方式初始化. 这与Java不同. 2 静态函数 定义方式与静态变量同.函数的定义可以在类内也可以在类外. class A { public: A(int y) { a=y; cout<<a+

u3d shader学习笔记1

促使我学习SHADER的重要原因是希望深入理解3D渲染的机制,在此基础上可以灵活达到某种效果与性能的平衡,开发出具有良好体验的VR应用. 因为VR应用体验的好坏,直接由游戏的帧率决定,而游戏的帧率则受到渲染一帧画面所花时间的影响,因此如何提升渲染时间,而又可以得到期望的效果,必须要对SHADER或者说渲染机制有深入的理解. 一.在U3D中,shader是什么?shader即“着色器”,我们之所以能够看到屏幕上丰富多彩的3D画面,正是得益于它.U3D中与shader相关的概念以及它们同shader

改造u3d第一人称控制器,使之适合Cardboard+蓝牙手柄控制

一.在u3d编辑器中删除FPSController游戏对像中自带的Camera: 二.在u3d编辑器中将CardBoardMain游戏对像添加到FPSController的子物体: 三.修改脚本: 1.删除FirstPersonController脚本中的RotateView方法调用: 2.在CardboardHead中的UpdateHead中,修改FPSController对像的transform的Y轴上的转向: 以上,即可以完成使用cardboard追踪到的头部转向数据来控制第一人称游戏对像

U3D 内置对象

在U3D里面提供了一个Time对象: void OnGUI(){ Debug.Log("########################"); GUILayout.Label ("当前游戏运行时间"+ Time.time); GUILayout.Label ("当前游戏运行时间"+ Time.deltaTime); } 此方法也是每一帧都执行, Debug.Log能够在后台输出报错信息: 随机数对象: Random.Range(0,100) 数学

静态函数(面向过程的static关键字)

在函数的返回类型前加上static关键字,函数即被定义为静态函数.静态函数与普通函数不同,它只能在声明它的文件中可见,不能被其他文件使用. 静态函数的例子: 1 #include <iostream> 2 using namespace std; 3 4 static void fn();//声明静态函数 5 6 int main() 7 { 8 fn(); 9 return 0; 10 } 11 12 void fn() //定义静态函数 13 { 14 int n = 20; 15 cou

java调用静态函数时是否会调用构造函数

今天在看<think in java>时,有个问题没搞懂:在调用一个静态函数时,该类的构造函数是否会被调用.在网上并未找到相关内容,不如动手来试试结果. 1 public class test { 2 public test() { 3 System.out.println("constructor"); 4 } 5 public static void print() { 6 System.out.println("static"); 7 } 8 pu