Unity中C#编程的基本语法
Unity中C#编程的基本语法
enum RoleType {
Mag,
Soldier,
Wizard
}
void start ()
{
int RoleType = 0 //0代表魔法师 1战士 2巫师 3坦克
RoleType rt = RoleType.Mag;
rt = RoleType.Soldier;
}
声明数组 类型[] 数组名 = {数组值};
可以通过索引访问数组内部数据 数组名[索引数],其中的索引
if语句:结构 if(boolean_expression)括号里红色字体是逻辑表达,必须返回个正确或者错误{ }大括号里可以是一行代码或者多行代码,if语句就是根据括号里的条件来是否执行大括号里的代码
举例int hp=0 ; if(hp <= 0){print("播放死亡动画")} 当if语句的括号里满足声明的变量就大括号里的就会执行,不满足居不执行
扩展 if( ){ }else{ } if当满足条件时执行,else当不满足条件时执行 if else不可能同时执行 举例int hp=0 ; if(hp <= 0){print("播放死亡动画")}else{ print("播放行走动画")}
修改默认编程软件步骤:
1搜索 vs 2017,选visua开头的网址下载社区版
2下载完成后打开unity,在project的方框里右键点击。点第一个,选带C#的选项后,点左上角的Edit中的Preferences
3打开后选Exte开头的选项,选第一个,选最后一个,以下顺序点开:
C盘-PFx86-MVS12.0/MVS-2017-只有一个文件夹-Common-IDE-devevn.exe
//获取鼠标的左右按钮
input 类 GetAxis方法 Horizontal参数
private void Update(){
Input.GetAxis("Horizontal");
}
for循环
for(int i=1;i<=10;i++)
{
循环体
}
GameObject.Des
1.重载解决方案
在新建脚本后,修改了脚本的命名后,点击打开,会弹出一个窗口,有几个选项,第一个是重新加载,第二个是重载解决方案,第三和第四个都是忽略;一般选择重载解决方案,并修改类名;
2.method 方法
返回值 方法名(参数)
{方法体}
void 返回值为空;让我想起了ue4中函数蓝图节点,这些蓝图节点中有些是有返回值的有些没有,比如SetActorLocation,没有返回值,但Spawn ActorlofClass是有返回值的。
for(int i = 1; i<=10; i++){print(“创建“)//循环体} ————最后在显示台打印10次创建
debug.log("正常输出")
debug.warning("提示")
debug.logerror("警告")
CreateEnemy(new Vector3(1,1,1));
void CreateEnemy( Vector3 pos) {
print("创建敌人");
print("设置敌人的位置"+pos);
print("设置敌人的初始属性");
}
数组:可以存储一堆同样类型的数据
声明:类型[]数组名={数组值} 举例:
int[] hp={100,20,80,90,30};数组长度为5,通过索引来访问数据 0 开始 数组名[索引] print(hp[1]);输出的是20,其他的声明类型都行 例如string,float
1.方法中的返回值
return
定义之前返回值的类型,
2.方法中的变量是局部变量
string name = "juedizanshi"
//可以有多个类,但是用的时候需要在头部 using MyGame;
public class Player :MonoBehaviour{
void Start(){
//初始方法
GameData data;
}
void Update(){
只调用一次
}
}
namespace MyGame{
classGameData{
}
}
print 只能在组件中输出
Debug.Log 可以在任意类型中输出、
print()输出
返回值 方法名 方法体(参数){
方法体
}
foreach()