unity3d脚本(Unity入门C脚本基础知识)
unity3d脚本(Unity入门C脚本基础知识)
前言Unity3D脚本用来界定用户在游戏中的行为,是游戏制作中不可或缺的一部分,它能实现各个文本的数据交互并监控游戏运行状态。Unity3D主要支持3种语言:C、UnityScript(也就是JavaScriptforUnity)以及Boo。但是选择UnityScript和Boo作为开发语言的使用者非常少,而Unity公司还需要投入大量的资源来支持它,这显然非常浪费。所以在Unity5。0后,Unity公司放弃对Boo的技术支持。大多数开发人员更倾向于使用的编程语言是C。C被全球数百万开发人员用于应用程序,Web和游戏开发,并且有大量的信息和教程可以帮助你。
正文
本系列将系统的讲解C编程,为学习C打基础。
VS中文件的组成
VisualStudio是目前最流行的Windows平台应用程序的集成开发环境。一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台
。cs结尾的文件,都是类文件
。sln结尾是解决方案的文件
。csproj项目文件,里面包含了这个项目的信息,可以双击运行
类文件中的组成
上图中的代码输出:HelloWorld!
Using:引用命名空间
Namespace:项目的命名空间
ClassProgram:类名
Main:Main函数是程序的主入口,程序的执行范围,每个C程序中必须有一个类带有Main函数。类型
类型是一种模板
C程序就是一组类型声明,学习C就是学习如何创建和使用类型。我们可以把类型想象成一个用来创建数据结构的模板。模板本身并不是数据结构,但它详细说明了由该模板构造的对象的特征。
类型由下面的元素定义:
名称
用于保存数据成员的数据结构
一些行为及约束条件
实例化类型
从某个类型模板创建实际的对象,称为实例化该类型。
通过实例化类型面创建的对象被称为类型的对象或类型的实例。
在C程序中,每个数据项都是某种类型的实例。这些类型可以是语言自带的,可以是BCL或其他库提供的,也可以是程序员定义的。
预定义类型
C提供了16种预定义类型,其中包括13种简单类型和3种非简单类型。所以预定义类型的名称都由全小写字母组成。
预定义的简单类型包括以下3种:
11种数值类型
不同长度的有符号和无符号整数类型:sbyte、byte、short、ushort、int、uint、long
浮点数类型float和double
高精度小数类型decimal,可以精确的表示分数,常用于货币计算
一种Unicode字符类型char
一种布尔类型bool,bool类型表示布尔值并且必须为true或false。
3种非简单类型:
string,它是一个Unicode字符数组;
object,所有其他类型的基类;
dynamic,使用动态语言编写的程序集时使用
用户定义类型
除了C提供的16种预定义类型,还有6种类型可以由用户自己创建:
类类型(class)
结构类型(struct)
数组类型(array)
枚举类型(enum)
委托类型(delegate)
接口类型(interface)
存储
栈和堆
程序运行时,它的数据必须存储在内存中。一个数据项需要多大的内存,存储在什么地方以及如何存储都依赖于它的类型。运行中的程序使用两个内存区域来存储数据:栈和堆。
栈
栈是一个内存数组,是一个先进后出的数据结构。
栈存储以下种类型的数据:
某些类型变量的值
程序当前的执行环境
传递给方法的参数
作为程序员,了解栈的基本功能可以更好的了解程序在运行时正在做什么,并能更好的学习C。
栈的特征
数据只能从栈的顶端插入和删除
把数据放到栈顶称为入栈(push)
从栈顶删除数据称为出栈(pop)
入栈和出栈
堆
堆是一块内存区域,在堆里可以分配大块内存用于存储某类型的数据对象。与栈不同,堆里的内存能够以任意顺序存入或移除。
内存堆
值类型和引用类型
类型被分为两种:值类型和引用类型,这两种类型的对象在内存中的存储方式不同。
值类型只需要一段单独的内存,用于存储实际的数据
引用类型需要两段内存:第一段存储实际的数据,位于堆中;第二段是一个引用,指向数据在堆中的存放位置。
值类型的数据存放在栈里,引用类型的实际数据存放在堆而引用(指针)存放在栈里。
非数据成员的存储
值类型和引用类型的分类
变量
变量是程序执行时存储在内存中的数据。
变量在使用前必须声明,变量声明定义了变量并完成两件事
给变量命名,并为它关联一种类型;
为它在内存中开辟了一块空间;
变量的声明
声明名称为var1的变量intvar1;类型值变量初使化语句intvar217;初使值多变量声明intvar37,var4,var53;有的被初使化,有的未被初使化doublevar6,var76。52;
C中的四种变量:
本地变量:在方法的作用域保存临时数据,不是类的成员
字段:保存和类型或类型实例相关的数据,是类的成员
参数:用于一个方法到另一个方法传递数据的临时变量,不是类的成员
数组元素:同类数据项构成的有序集合的一个成员,可以是本地变量,也可以是类型的成员。
狗狗为什么舔人(狗狗喜欢站起来扒人)狗狗有一个习惯,就是会用舔人这个动作来表示自己的情感,有很多人觉得狗狗的舌头的用途太多,容易集聚细菌,所以都十分抗拒狗狗舔自己。但其实狗狗舔人并非是一时兴起,或者是单纯地表达自……
广西高考作文(2021广西高考作文题出炉)广西高考作文(2021广西高考作文题出炉)刚刚,2021年全国高考作文题出炉了!今年广西高考作文题是什么?各省份高考作文命题都聚焦哪些话题?赶紧来看看【202……
金瞳十年,浪潮依旧2021年7月17日,一年一度的金瞳奖内容盛典如期而至。现场汇集了将近2000名中国品牌营销行业的专业人士,还有来自哔哩哔哩、知乎、摩登天空、新世相、开心麻花、中国李宁、New……
上扬斯克(俄罗斯最冷的五个城市!)上扬斯克(俄罗斯最冷的五个城市!)俄罗斯的年均温度比全球均温低20度,是全球最冷的国家。在俄罗斯某些地区冬季持续时间久,甚至有极寒气候。我们来看看俄罗斯最冷的五个城市都有……
倪虹洁痛哭,章子怡艳羡,陈凯歌究竟做了什么?文伊姐(周桂伊)叶子姚一直在看《演员请就位》,昨天更新的最新一期节目里,让我印象最深的作品,就是陈凯歌导演的《误杀》。《误杀》这部电影,我们做过观影团。电影本……
贵州地图(贵州省有哪些县不通铁路?)贵州地图(贵州省有哪些县不通铁路?)贵州省在高速公路建设上成为了西部省份中的佼佼者,率先实现县县通高速。那么,贵州省有哪些县还不通铁路呢?本文通铁路的标准为县域内有……
南京有哪些区(最新!南京各区对街镇排序已出)南京有哪些区(最新!南京各区对街镇排序已出)玄武区:玄武门街道、锁金村街道、梅园新村街道、新街口街道、孝陵卫街道、玄武湖街道、红山街道。秦淮区:红花街道、洪武路街道、五老……
江苏婚假多少天(苏州婚假是13天吗)近日王先生遇到了难题。他曾离异过一次,现与25岁的李女士相识、相恋,并已去民政局登记,打算举办婚礼。但他向公司提交的婚假申请被拒绝了。原因是他属于再婚,……
深圳金海滩度假村(深圳东部这20多个让人流连忘返的海滩)大鹏半岛西抱大鹏湾,东临大亚湾,与惠州接壤,向南隔海遥望香港新界,涵盖葵涌、大鹏、南澳、马峦山、三洲田和梅沙地区,陆域面积351。74平方公里,海岸线长度142。22公里。在这……
差点被7匹马踩出窟窿,看老戏骨陈宝国的ampampquot自文圈姐倪萍这次真把我吓到了。在《倪吧拉呱》里,她说:(陈宝国)为了拍戏,(一只眼)早就基本看不见了。什么,陈宝国瞎了?!倪萍说的这部戏叫《神鞭》,……
斗战胜佛之大圣之泪张馨予山寨紫霞仙子,特效廉价到想哭距离5月22日上线的《孙悟空大战盘丝洞》不过一月有余,就又有人拍了《西游记》题材的电影,真怀疑中国人是不是真没有别的东西可拍了。这次的片名为《斗战胜佛之大圣之泪》,一看就……
爸爸2童星现状12岁贝儿恬静可爱,多多姐姐气质吸睛《爸爸去哪儿》是国内首档亲子户外真人秀节目,播出后深受观众们的喜爱,第二季播出至今已有6年了,那些可爱的小孩子也已经长大了,昨晚陆毅在社交平台上晒照为女儿贝儿庆生,大家不禁感慨……