概念:1.值类型:数据存储在内存的堆栈,从堆栈可以快速地访问这些数据,因此,值类型表示实际的数据。2.引用类型:表示指向存储在内存堆的数据的指针或引用(包括类、接口、数组和字符串)。C#定义的值类型包括原类型(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、枚举(enum)、结构(str
笔者按:使用Unity版本为2021.3LTS,与其他版本或有异同。请仅做参考 一、简述。 本文是笔者在学习使用Unity引擎的过程,产学研的一个笔记。由笔者根据官方文档Unity User Manual 2021.3 (LTS)/脚本/Unity 架构/脚本编译/程序定义相关部分结合自身经验所做,有不足之处,还请指正。 二、导读。 1.==程序定义(Assembly Definition)
转载 2024-04-23 12:33:11
2468阅读
  可以这样理解:  值类型保存的是具体的值  引用类型保存的是值的地址  例如 int a = 1;   int b = a;   b++;  这时b为2,a仍然是1  再看引用类型,例如有个类型是 UserUser u1 = new User(){ Name = "张三" };   User u2 = u1;   u2.Name = "李四";  这时 u2 和 u1 的名字都为李四,因为 u
这篇文章的主要目标是:过详细的理解Array、List、和Dictionaries,让你的游戏运行速度快十倍。 我应该使用Array吗?我应该使用List吗?噢 ,等等,或者使用Dictionaries? 为什么我的循环花了那么长时间呢? ? 在我代码中看不到任何的错误,那么为什么我的代码执行那么慢? 为什么查找我想要的对象话费那么长时间? 我看不到任何的GC(垃圾回收器)处理,然而我的游戏为什么
在第一篇我们介绍了C#基本的15种数据类型,这15种数据类型又分为两大类,一种是值类型,一种是引用类型。值类型有sbyte、short、long、int、byte、ushort、uint、ulong、float、double、bool,引用类型有object、string、class类型,这两大类最大的区别就是在内存存储的位置、方式不一样。(当我们打开运行一个程序的时候,实际上就会把当前程
本来是想绕开一个脚本调用其他脚本变量这个事情的,但是不管怎么写最后还是绕回来了,有些功能必须这样才好完成。小伙伴们大同小异地提供了三种方法,但都是与加载组件有关系,比如这个: 原文地址:但是我不喜欢,只是调用脚本的变量,还有把变量他妈和他奶奶一起带上,好麻烦……至少我这个功能不需要这样,除非有其他的顺带功能。以前我也写过脚本互调变量的代码,只是忘了,所以我想肯定有其他的办法,终于在蛮牛上找到了
基本单例懒汉模式用到时才创建的单例模式//单例模式 // 懒汉 在使用时才创建 // 缺点:不适用于多线程 // 私有化构造函数 public class SingletonTest_Base { private static SingletonTest_Base instance; public static SingletonTest_Base Instance { get {
目录1. 尾调用2. 尾调用的特点1. 尾调用尾调用(Tail Call)是函数式编程的一个重要的概念,简单的来说就是:某个函数的最后一步是调用另一个函数。例如下面的例子就是尾调用:function f(x) { return g(x) }2. 尾调用的特点那么,我们来总结一下,尾调用的特点:首先,尾调用必须满足,函数的最后一步是return另一个函数(如上述例子),这里和闭包有点像;其次
WeTest 导读随着Unity、cocos2dx等优秀跨平台游戏引擎的出现,开发者可以把自己从繁重的Android、iOS原生台开发解放出来,把精力放在游戏的创作。原来做一款跨平台的游戏可能需要开发者懂得Java、Objective-C、C#甚至是C、C++,现在借助Unity我们开发者只需要懂得很少的原生应用开发知识就能够打造一款优秀的游戏。特别是在鹅厂,有了Apollo这样的组件,原生的接
1.调用约定stdcall 、 cdecl、 fastcall等等这个用来指定参数传递顺序和函数返回时栈的清除方式。可以通过以下 ?123456789101112[AttributeUsage(AttributeTargets.Method)] public class DllImportAttribute: System.Attribute   { public DllImportAt
首先,我们需要新建一个类库项目,可以使用Visual Studio或者Monodevelop来做。我这里是使用vs2012来创建: 选择好项目类型、写好项目名称。 新生成的项目里面默认有一个Class1类 可以通过在解决方案资源管理器里面进行重命名改成自己想要的类名,比如我这里改成了Math3D 然后写一个简单的静态方
转载 2024-05-24 18:51:33
640阅读
UGUIUGUI是Unity官方的UI实现方式,自从Unity4.6以后,Unity官方推出了新版UGUI系统。新版UGUI系统相比于OnGUI系统更加人性化,而且是一个开源系统,利于游戏开发人员进行游戏界面开发。UGUI系统具有三个特点:灵活、快速、可视化。对于游戏开发者来说,UGUI运行效率高、执行效果好,易于使用、方便扩展,与Unity兼容性高。 在UGUI中所创建的所有UI控件,都有一个U
# 在Unity创建JavaScript 在Unity,我们可以通过创建JavaScript脚本来实现游戏中的各种逻辑和功能。JavaScript是一种脚本语言,它可以让我们更轻松地与Unity引擎进行交互,并实现所需的功能。在本文中,我们将介绍如何在Unity创建JavaScript脚本,并通过一个具体的问题来演示其用法。 ## 问题描述 假设我们有一个游戏场景,需要显示一个饼状图来
原创 2024-03-08 06:17:27
200阅读
简单介绍:调用dll分为两类, 一类是托管dll 托管代码: 是由公共语言运行库(CLR)执行的代码,而不是由操作系统直接执行。本地代码经过两次编译,第一次将源代码编译成中间代码(MSIL,MicrosoftIntermediate Language),第二次由.net的CLR将中间代码编译成机器代码。程序实际上是被“托管”在公共语言运行库。随着程序的运行,公共语言运行库会持续地提供各种服
转载 2024-03-18 09:53:25
176阅读
1. Unity基础知识概括   UnityUnity Technologies开发,创建三维视频游戏,建筑可视化及实时三维动画等互动内容的多平台的综合性开发工具。   编辑器运行平台:Windows 、 Mac OS X。   发布平台:Windows、Mac、Wii、iPhone、Android。   也可以利用Unity Web Player插件发布网页游戏。 部分 2005.0
动态加载script到页面大约有俩方法第一种就是利用ajax方式,把script文件代码从后台加载到前台,然后对加载到的内容通过eval()执行代码。第二种是,动态创建一个script标签,设置其src属性,通过把script标签插入到页面head来加载js,相当于在head写了一个<script src="..."></script>,只不过这个script标签是用js
转载 2024-02-29 11:34:44
44阅读
写在前面 为了在Shaders创建反射的效果,我们将首先开始学习如何创建我们自己的Cubemaps。当然,你可以在网上找到许多已经做好的Cubemaps,但是你很快就会想,怎么制作自己的Cubemaps,因为网上那些是不能反射你自己游戏中的场景的。 制作你自己的Cubemaps是创建更真实的反射效果的关键。我们将会学习几个可以在Unity editor中直接使用的方法。另外,
介绍在你想制作一个技能的时候,一般情况下你需要有一个技能类,然后你需要实例化这个技能类,制作一个单例,填入不同的构造函数。而这个时候,就可以选择使用Scriptable Object,脚本化对象。Scriptable Object在unity的图标样式: Scriptable Object简单来说就是个数据容器,它将实例化的对象都以脚本的方式存储在文件夹。以我现在做的项目为例简单介绍Scrip
转载 2024-05-23 21:23:39
99阅读
<script src="/dz/content/newhome/lib/??jquery.min.js,swiper.min.js,vue.min.js,vue-lazyload.js,jquery.lazyload.min.js,scrollreveal.min.js,jquery.cookie.js,Base64.js"></script>这段代码你可以看到,scri
原创 2022-06-19 02:18:24
701阅读
一、script标签的属性async:在script标签添加此属性,浏览器会开启异步下载脚本(执行到当前标签后立即下载),当下载完成后立即执行,但并不会按着script在页面的顺序来执行,而是谁先加载完谁执行。DOMContentLoaded事件的触发并不受async脚本加载的影响,在脚本加载完之前,就已经触发了DOMContentLoaded。charset:此属性很少使用,指定src属性
  • 1
  • 2
  • 3
  • 4
  • 5