纳金网

标题: 脚本基础认识 [打印本页]

作者: 冰点    时间: 2012-8-24 17:39
标题: 脚本基础认识


在Unity中点选 Assets → Create → Javascript

开启一个新的Javascript时预设会有产生两个主要的function

function Start () {      }

function Update () {    }



脚本汇制完成可直接拉入(拖曳)游戏对象 / 素材Unity执行直接测试



脚本执行流程

宣告成员变量 → Awake() → 宣告function → function已可被呼叫执行 →

Start() → Update()

Awake() 和 Start() 都是游戏开始前会执行的,常用于使宣告的变量初始化

两者差别

执行上有先后执行顺序 先Awake() 后Start()

当某script或component状态为disable (不被使用时) ~ Awake()还是会执行

Awake() 用于游戏开始时

Start() 用于某场景开始时



Update() 每次画面刷新时都会执行的循环 (无穷回圈直到结束)

依据执行装置决定每秒回圈的次数



想要用秒数来执行(Time.deltaTime时间增量)

例 : var second : float = 0;  ~  基本宣告的方式 ( var ID : 型别 = 值 )

function Update () {

Second += Time.deltaTime;

if(second>=1){ 每秒执行

second=0; }}





宣告



var 变量名称;   ~       若没指定数据型态,程序会自动指定

var 变量名称 = 初始值;      ~      若没指定数据型态,程序会自动指定

var 变量名称 : 数据型态;            ~   若没指定初始值,程序会自动赋予

var 变量名称 : 数据型态 = 初始值;

初始值预设

int(整数) = 0、float(浮点数) = 0.0、boolean(布尔) = false、String(字符串) = “”

宣告完变量后,初始值的预设可在Unity接口中直接设定(会显示在Javascript上)



例 : 脚本中想用到某张图片

var picture : Texture; ~      Javascript会出现一个可将图档拖曳放置的框架



宣告        function

照顺序印出1234

function Start () {

        print(“1”);

        printI (2);

printII (3);

print( printIII() );

}

function printI ( a : String ){ print(a);}

function printII( a : int ){ print( “” + a.Tostring);}

function printIII(){ return “4”;}

function 除了Unity预设用到的,皆可由使用自行宣告

如: function print( a : String)为预设,但宣告时可function print( a : int),Javascript会因传入值不同辨别为不同的function,而function内没return就不会回传


作者: osaka    时间: 2012-8-24 18:38
!!!!!!!!!!
作者: 冰点    时间: 2012-8-24 19:18
  好东西啊




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5