unity3d脚本(Unity入门 | C#脚本基础知识)
unity3d脚本(Unity入门 | C#脚本基础知识)
前言
Unity 3D 脚本用来界定用户在游戏中的行为,是游戏制作中不可或缺的一部分,它能实现各个文本的数据交互并监控游戏运行状态。Unity 3D 主要支持 3 种语言:C#、UnityScript(也就是 JavaScript for Unity)以及 Boo。但是选择 UnityScript和Boo 作为开发语言的使用者非常少,而 Unity 公司还需要投入大量的资源来支持它,这显然非常浪费。所以在 Unity 5.0 后,Unity 公司放弃对 Boo 的技术支持。大多数开发人员更倾向于使用的编程语言是C#。C#被全球数百万开发人员用于应用程序,Web和游戏开发,并且有大量的信息和教程可以帮助你。
正文
本系列将系统的讲解C#编程,为学习C#打基础。
VS中文件的组成
Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台
.cs结尾的文件,都是类文件
.sln结尾是解决方案的文件
.csproj项目文件,里面包含了这个项目的信息,可以双击运行
类文件中的组成
上图中的代码输出:Hello World!
Using:引用命名空间
Namespace:项目的命名空间
Class Program:类名
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;//类型值//变量初使化语句intvar2=17;//初使值//多变量声明intvar3=7,var4,var5=3;//有的被初使化,有的未被初使化doublevar6,var7=6.52;
C#中的四种变量:
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)