精华内容
下载资源
问答
  • MonoBehaviour unity版本:unity2020.3.10f1c1 问题:拷贝了一个完整项目, vs打开后MonoBehaviour,unity报错找不到引用。 解决办法:删除项目的Library,重新用unity打开项目就可以解决。

    MonoBehaviour变白

    unity版本:unity2020.3.10f1c1
    问题:拷贝了一个完整项目, vs打开后MonoBehaviour变白,unity报错找不到引用。
    解决办法:删除项目的Library,重新用unity打开项目就可以解决。
    在这里插入图片描述

    展开全文
  • 点击“文件”->“最近使用的项目和解决方案”->...即可瞬间重载当前项目,这个时候,白色MonoBehaviour会变成绿色,就可以了。 当然最传统的方法就是关掉VS再打开,不过挺浪费时间的。 ...

    点击“文件”->“最近使用的项目和解决方案”->点击当前项目。即可瞬间重载当前项目,这个时候,白色的MonoBehaviour会变成绿色,就可以了。

    当然最传统的方法就是关掉VS再打开,不过挺浪费时间的。

    展开全文
  • 所有创建的用于添加到游戏对象上的脚本都必须继承自MonoBehaviour。二.调式1.我们可以在脚本里输出调试信息, 并在控制台中显示。2.接口(1).Debug.Log:向控制台输出普通信息(白色)。(2).Debug.LogWarning:向控制台...
    一.游戏脚本

    1.双击Project视图中, Script目录下的GameManager脚本


    2.使用MonoDevelop编辑器打开


    3.所有创建的用于添加到游戏对象上的脚本都必须继承自MonoBehaviour。
    二.调式
    1.我们可以在脚本里输出调试信息, 并在控制台中显示。
    2.接口
    (1).Debug.Log:向控制台输出普通信息(白色)。
    (2).Debug.LogWarning:向控制台输出警告信息(黄色)。
    (3).Debug.LogError:向控制台输出错误信息(红色)。
    三.MonoBehaviour生命周期
    1.Awake(), 脚本唤醒函数。当游戏对象被创建的时候, 游戏对象绑定的脚本会在该帧内执行Awake()函数, 无论脚本是否处于激活状态。
    2.Start(), 该函数在脚本被激活的时候执行, 位于Awake()函数之后。该函数的执行同样也是在游戏对象被创建的帧里。不同的是, 如果脚本处于不激活状态, Start()函数是不会被执行的。
    3.Update(), 只有处于激活状态下的脚本, 都会在每一帧里调用Update()函数, 该函数也是最为常用的一个函数, 用来更新逻辑。
    4.LateUpdate(), 该函数是延迟更新函数, 处于激活状态下的脚本在每一帧里都会在Update()函数执行后调用该函数, 通常用来调整代码执行的顺序。比如玩家的角色需要一个摄像机来跟随, 那么通常角色的移动逻辑会写在Update()里, 而摄像机的跟随在LateUpdate()里, 这样可以确保在角色的位置计算完毕后, 再根据角色位置确定摄像机的位置和视角。

    5.FixedUpdate(), 该函数用于固定更新。在游戏运行的过程中, 每一帧的处理时间是不固定的, 当我们需要固定间隔时间执行某些代码时, 就会用到FixedUpdate()函数。在菜单栏中, 点击”Edit” -> “Project Settings” -> “Time”菜单项, 之后在Inspector视图里出现时间管理器, 其中”Fixed Timestep”选项用于设置FixeUpdate()的更新帧率, 更新帧率默认是0.02秒。固定更新常用于移动物体等操作, 因为固定更新每一帧调用的时间间隔是一样的, 所以移动速度是匀速的。


    6.OnGUI(), 绘制界面函数。Unity使用最新的UGUI界面系统来创建页面, 所以OnGUI()一般作为测试功能使用, 如创建测试按钮。
    7.OnDestroy(), 在当前脚本销毁时调用该函数, 可以在该函数里填写删除时需要处理的逻辑。
    8. OnEnable(), 激活函数, 当脚本处于激活时调用。
    9. OnDisable(), 当脚本被禁用时调用。

    10.所有继承自MonoBehaviour的脚本都有一个名为enabled的bool属性值开关。enabled对应脚本名称左侧的勾, 如我们创建的GameManager脚本:


    (1).enabled决定生命周期的函数是否会被调用。当enabled为true时, 生命周期各个阶段对应的函数将会被调用, 否则不调用, Awake和OnDisable函数除外。当enabled变为true时脚本执行OnEnable(), 当enabled变为false时脚本执行OnDisable()。
    (2).enabled只是与生命周期的函数有关, 与其他函数和所有变量都没有关系。如果脚本中不保护任何生命周期函数, enabled将没有任何意义。

    11.生命周期代码

    using UnityEngine;
    
    public class GameManager : MonoBehaviour
    {
    	private bool hasPrintUpdate = false;
    	private bool hasPrintLateUpdate = false;
    	private bool hasPrintFixedUpdate = false;
    	private bool hasPrintGUI = false;
    
    	void Awake()
    	{
    		Debug.Log ("---Awake---");
    	}
    
    	void OnEnable()
    	{
    		Debug.Log ("---OnEnable---");
    	}
    
    	void Start () 
    	{
    		Debug.Log ("---Start---");
    	}
    
    	void FixedUpdate()
    	{
    		if (!hasPrintFixedUpdate)
    		{
    			hasPrintFixedUpdate = true;
    			Debug.Log ("---FixedUpdate---");
    		}
    	}
    
    	void Update ()
    	{
    		if(!hasPrintUpdate)
    		{
    			hasPrintUpdate = true;
    			Debug.Log ("---Update---");
    		}
    	}
    
    	void LateUpdate()
    	{
    		if (!hasPrintLateUpdate) 
    		{
    			hasPrintLateUpdate = true;
    			Debug.Log ("---LateUpdate---");
    		}
    	}
    
    	void OnGUI()
    	{
    		if (!hasPrintGUI) 
    		{
    			hasPrintGUI = true;
    			Debug.Log ("---OnGUI---");
    		}
    	}
    
    	void OnDisable()
    	{
    		Debug.Log ("---OnDisable---");
    	}
    
    	void OnDestroy()
    	{
    		Debug.Log ("---OnDestroy---");
    	}
    		
    }
    12.绑定GameManager脚本到Cube游戏对象上
    (1).在Hierarchy视图中选中Cube游戏对象

    (2).在Project视图中,鼠标左键拖拽点GameManager脚本到Inspector视图中


    (3).运行脚本,控制台打印


    四.UnityGUI的使用
    1.UnityGUI使用一个特殊的OnGUI()函数, 在该函数中加入实现UI的脚本。
    2.UnityGUI的接口
    (1).GUI.xxx(), 需要自己手动填写处于屏幕上的位置。
    (2).GUILayout.xxx(),unity会自己排版。
    3.UnityGUI测试函数
    (1).GUILayout.Label (sting str), 标签用于显示文本。输入的参数为需要显示的文本。
    (2).GUILayout.TextField (sting str), 按钮用于出发事件。输入的参数为在按钮上显示的文字。它返回一个bool值, 表示是否按下了按钮。
    (3).GUILayout.Button(sting str), 文本区域用于输入文本。输入的参数为显示的文本, 返回经过用户输入改动后的文本。一般用参数变量接收返回值即可。

    4.UseGUI实例

    using UnityEngine;
    
    public class UseGUI : MonoBehaviour
    {
    	private string text = "";
    	private string myName = "";
    
    	void OnGUI()
    	{
    		GUILayout.Label ("please input your name:");
    		text = GUILayout.TextField (text);
    
    		if(GUILayout.Button("submit"))
    		{
    			myName = text;
    			text = string.Empty;
    		}
    
    		if(!string.IsNullOrEmpty(myName))
    		{
    			GUILayout.Label ("submit name success, name: " + myName);
    		}
    	}
    }
    5.绑定GameManager脚本到Cube游戏对象上
    (1).在Hierarchy视图中选中Cube游戏对象

    (2).在Inspector视图中, 点击Add Component按钮, 搜索UseGUI脚本进行绑定


    (3).运行测试


    展开全文
  • MonoBehaviour.OnPostRender 当渲染之后

    千次阅读 2014-02-20 14:00:23
    // 当附于一个相机后,将清理alpha管道为纯白色.如果你想渲染到纹理并显示在GUI上可以使用它. private var mat : Material ; function OnPostRender() { // Create a shader that renders white only to alpha ...

    function OnPostRender () : void

    Description描述

    OnPostRender is called after a camera finished rendering the scene.

    在相机完成场景渲染之后被调用。

    This function is called only if the script is attached to the camera and is enabled. OnPostRender can be a co-routine, simply use the yield statement in the function.

    只有该脚本附于相机并启用时才会调用这个函数。OnPostRender可以是一个协同程序,在函数中调用yield语句即。

    OnPostRender is called after the camera renders all its objects. If you want to do something after all cameras and GUI is rendered, use WaitForEndOfFrame coroutine.

    OnPostRender在相机渲染完所有物体之后被调用。如果你想在相机和GUI渲染完成后做些什么,就用WaitForEndOfFrame协同程序。

    参见:OnPreRender WaitForEndOfFrame

    // When attached to a camera, will clear alpha channel
    // of camera's render texture to pure white.
    // Useful if you have camera rendering into a texture and later
    // want to display it in GUI.
    // 当附于一个相机后,将清理alpha管道为纯白色.如果你想渲染到纹理并显示在GUI上可以使用它.
    private var mat : Material;
    
    function OnPostRender() {
    	// Create a shader that renders white only to alpha channel
    	// 创建一个着色器,将alpha通道渲染为白色
    	if(!mat) {
    		mat = new Material( "Shader \"Hidden/SetAlpha\" {" +
    		"SubShader {" +
    		" Pass {" +
    		" ZTest Always Cull Off ZWrite Off" +
    		" ColorMask A" +
    		" Color (1,1,1,1)" +
    		" }" +
    		"}" +
    		"}"
    		);
    	}
    	// Draw a quad over the whole screen with the above shader
    	// 用上面的着色器绘制一个四边形覆盖整个屏幕
    	GL.PushMatrix ();
    	GL.LoadOrtho ();
    	for (var i = 0; i < mat.passCount; ++i) {
    		mat.SetPass (i);
    		GL.Begin( GL.QUADS );
    		GL.Vertex3( 0, 0, 0.1 );
    		GL.Vertex3( 1, 0, 0.1 );
    		GL.Vertex3( 1, 1, 0.1 );
    		GL.Vertex3( 0, 1, 0.1 );
    		GL.End();
    	}
    	GL.PopMatrix ();
    }
    
    
    
    
    代码无效果,望大神解答
    展开全文
  • !... 我是Unity初学者,在学习Unity官方提供的2D Platformer Microgame项目时出现此异常,导致无法为对象添加脚本。以下是网上常见的关于此类错误的解决方法: ...1.保持类名与文件名一致,我检查过了,是完全一致的 ...
  • 每一个脚本默认都是继承MonoBehaviourMonoBehaviour是继承Behaviour的 Behaviour是继承Component的 Component是继承Object的 GameObject 是 继承Object的 事件函数 点击这里进入Unity 官网文档了解更多。 ...
  • 猴子原创,欢迎转载。... ...猴子自学Unity已经一段时间了,不过还一直没有真正用于商业游戏。这段时间不是很忙,所以想系统的整理下unity技术。...Unity中的脚本都是继承自MonoBehaviour。 一、基础...
  • 在前两篇,我们完成了第九个示例。为了完善第九个示例,我们复习了类的继承,又学习了...在 Unity 中,我们的脚本都往往继承自 MonoBehaviour,继承了之后我们就可以在脚本内编写很多功能。比如访问 transform/gameO...
  • /// 这也是GetCenterColor里面计算要乘上cdOutPercent的原因 /// 在cdOutPercent为0的时候 返回的值就是GRAY_COLOR /// 在cdOutPercent为1的时候 返回的值就是白色了 /// /// private Color32 GetCenterColor() { ...
  • public class DataStore : MonoBehaviour { private static Transform obj; private void Awake() { obj = GameObject.Find("Cube").transform; //首先确定有储存信息 if (File.Exists(Application....
  • 接口MonoBehaviour的OnRenderImage函数Graphics.Blit函数三. RGB转灰色算法四. 使用例子C#脚本Shader 一. 前言 在一些特殊的日子,游戏可能需要全灰色显示。 Unity提供了一些接口给我们。 二. 接口 MonoBehaviour...
  • Unity中生成图片的灰白图

    千次阅读 2019-03-14 15:30:46
    // TextureUtils.cs using System.Collections; using System.Collections.Generic;...public class TextureUtils : MonoBehaviour { [MenuItem(&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quo
  • 小白学Lua 学习中我坚信要知其然,也要知其所以然,不能只当API的搬运工。 文章不带任何教学性,只是记录我的学习过程。 因为我是写了快3年C#工作写了1年半,学习1年...public class HelloWorld : MonoBehaviour { ...
  • 【Shader】游戏屏幕黑白特效

    千次阅读 2017-12-17 19:06:43
    .cs脚本挂载到MainCamerausing System.Collections; using System.Collections.Generic; using UnityEngine;[ExecuteInEditMode] public class TestImage : MonoBehaviour { #region public Shader curShader;
  • 自学Unity又找不到系统的Unity学习,只有各种零碎的知识点,自己做的时候很多...public class GameController : MonoBehaviour { private static GameController _instance; public static GameController Insta...
  • 1 public class MonoTest : MonoBehaviour { 2 3 /// <summary> 4 /// 1.在用户点击Inspector检视面板的Reset或者首次添加组件时被调用 5 /// 2.此函数只在编辑模式下(项目没有运行的时候)被调用。...
  • 小白_Unity引擎_Invoke

    2019-09-22 20:35:43
    1 //异步函数 : 在一个方法执行时调用另一个方法. 2 //而被调用的方法或者其中的某些语句不是立刻执行,... 3 //MonoBehaviour 提供了两种异步方法: 4 //调用 (Invoke) 5 //协程 ( Coroutine) 6 7 ...
  • 1 public class InputTest : MonoBehaviour { 2 3 4 /// <summary> 5 /// 1.获取不同的轴 6 /// </summary> 7 void InitData() 8 { 9 //1.获取...
  • public class ShaderTest : MonoBehaviour { 开始声明所需变量 curshader 需要用到的shader; grayscaleAmount 灰度大小; public Shader curShader; public float grayScaleAmount =...
  • JENGINE v0.6.1 JEngine是针对Unity开发者设计的开箱即用的框架,封装了强大的功能,小白也能快速上手,轻松制作可以热更新的游戏 mater分支为开发者认为的可以正常使用,不会有太大问题的最新版本;...
  • unity3d小白求点拨!!

    2017-07-26 03:55:08
    public class OptZuJian : MonoBehaviour { // Use this for initialization void Start () { GameObject fushou = GameObject.Find("fushou"); GameObject fushou1 = (GameObject)Object.Instantiate(fushou);...
  • 情景描述: 最近在学习NGUI,准备做一个背包,于是问题来了...... 问题描述:加载了一个预制体,想获得...public class Knapsack : MonoBehaviour { public GameObject[] Cells; public string[] equipmentNames;
  • 如需转载,请保留本文链接。 出现问题:子弹正常出现,偶尔几枚子弹会有,没有存活到5秒钟,也没有...public class BulletBase : MonoBehaviour { public float Speed; float lifeTime; private void Awake()...
  • public class PlayerBehavior : MonoBehaviour { //声明两个公公变量作为乘数: //声明两个私有变量来保存来自玩家的输入,刚开始时不设置任何值: public float moveSpeed = 10f;//表示玩家向前或向后移动的速度。 ...
  • Shader的代码如下,主要是将透明度为1的像素点输出为白色,其中_BeAttack表示角色被攻击的泛白状态 // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Custom/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,047
精华内容 818
关键字:

monobehaviour是白色的