unity编程笔记_如何添加玩家碰到宝箱后宝箱被吸收消失的效果(destroy(other.gameobject)//玩-程序员宅基地

技术标签: 【源码】  

/#pragma strict

//

一、声明变量

//var a : int = 1;//整型

//

//var b : float = 0.05;//浮点

//

//var c : GameObject;//游戏物体

//

//var c2 : Rigidbody;//刚体

//

//var c3 : Collider;//碰撞

//

//var c4 : Transform;//位置

//

//var c5 : Renderer;//渲染器

//

//var c6 : Material;//材质

//

//var d : Color;//颜色

//

//var e : Texture;//贴图

//

//var e1 : Texture2D//2D贴图

//

//var f : String = "XXX"//字符

//

//var bool : boolean = true / false;     //布林值1、条件判断2、开关3、对错  默认是false

//

//var tiewu : GUITexture     //贴纸(瞄准镜)

//

//var aa : MovieTexture;//视频

//

//private var g : float = 0.1;

////私有(unity中不显示数值)

//public var h : float = 0.1;

////公开(unity中显示数值,与var开头一样)

//static var i : float = 0.1;

////静态(在其他脚本中可以使用 方法:脚本名。提取)

//

//GameObject.Find("cube")//直接指定某物体

//

//gameObject.GetComponent.<组件名称>();(使用已有的组件)

//

//gameObject.AddComponent.<添加的组件名称>(); (增加一个没有的组件)

//

*************************************************************************************************

二、函式

//function Awake () {

//}//只运行一次

//

//function Start () {

//}//只运行一次

//

//function Update () {

//}//一直运行

//

//function OnMouseDown(){

//}//按下鼠标左键执行(脚本放在谁身上,点谁才管用)

//

//function OnMouseUp(){

//}//松开鼠标左键执行

//

*************************************************************************************************

//

三、碰撞测试

//function OnTriggerEnter (other : Collider) {

//}//接触

//

//function OnTriggerStay (other : Collider) { 

//}//穿过中

//

//function OnTriggerExit (other : Collider) {

//}//穿过后

//

*************************************************************************************************

四、如果语句

//if (transform.position.x >= 10 ){

//

//}                      //如果(条件)

//

//if transform.position.x >= 10 &&  transform.position.y <= 5{

//

//}                      //如果(条件① && 条件②)两个条件都必须满足

//

//if transform.position.x >= 10 ||  transform.position.y <= 5{

//

//}                     //如果(条件① || 条件②)两个条件只需要满足一个

//

//

//else if(条件③){

//

//}                     //如果if语句条件未满足,满足else if语句条件就执行

//

//else

//{

//

//}                     //如果条件不成立执行这一个

//

//

*************************************************************************************************

五、移动

//transform.position.x += 0.05;

//

//transform.position += Vector3(0.05,0,0);

//

//transform.position += Vector3.right*0.05;

//

//transform.Translate(0.05,0,0);

//

//transform.Translate(Vector3(0.05,0,0));

//

//transform.Translate(Vector3.right*0.05);

//

//transform.Translate(Vector3(0.05,0,0),Space.World);

//

//transform.Translate(Vector3.right*0.05,Space.Self);

//

//transform.Translate(Vector3((Time.deltaTime),0,0));

//

//transform.Translate(Vector3.right*Time.deltaTime);

//

*************************************************************************************************

六、旋转

//1:旋转到指定角度

//gameObject.transform.eulerAngles = Vector3(90, 0, 0);

//

//2:一直转动

//transform.Rotate(Vector3(0.05,0,0));

//

//transform.Rotate(0.05,0,0);

//

//transform.Rotate(Vector3.right*0.05);

//

//transform.Rotate(Vector3(0.05,0,0),Space.World);

//

//transform.Rotate(Vector3.right*0.05,Space.Self);

//

//transform.Rotate(Vector3((Time.deltaTime),0,0));

//

//transform.Rotate(Vector3.right*Time.deltaTime);

//

*************************************************************************************************

七、颜色

//renderer.material.color = Color.red;

//

//renderer.material.color = Color(1,0,0,0);

//

//renderer,material.color = d;

//

*************************************************************************************************

八、贴图

//renderer.material.mainTexture = e;

//}

//

*************************************************************************************************

//

九、控制器

//if(Input.GetKey(KeyCode.W)){

//

//}//W”大写

//

//if(Input.GetKey("w")){

//

//}//w”小写

//

//if(Input.GetKeyDown(KeyCode.W)){

//

//}//按下按钮后执行

//

//if(Input.GetKeyUp(KeyCode.W)){

//

//}//松开按钮后执行

*************************************************************************************************

//

十、物体消失

//Destroy(gameObject,5)   //5”为时间

//Destroy(gameObject)     //第二种写法(两种写法都不能写在Update函式下)

*************************************************************************************************

//

十一、映出字符

//Print("abc")//引号内字符原样映出

//Print(abc);//映出括号内字符所代表的数据

//

*************************************************************************************************

//十二、判断

//{==判断是否等于

// !=不等于

// =等于

//}

//

*************************************************************************************************

十三、生成预置物

//GameObject.Instantiate(预置物,坐标,角度);

//1:子弹的生成

//var zidan : Rigidbody;(预置物子弹必须是刚体)

//var weizhi : Transform;(用空物体来确定位置)

//var wuti : Rigidbody;(生成物(发射出的子弹)对应的也是刚体)

//function Update () {

// 

//if (Input.GetMouseButtonDown(0)){(按下鼠标左键,Down是按下只触发一次)

//wuti = GameObject.Instantiate(zidan,weizhi.position,weizhi.rotation);(固定格式,生成物=生成物体(他的预置物,坐标,角度))

//wuti.velocity = weizhi.forward * 50;(生成物体的速度 空物体的前进方向×50

//Destroy(wuti.gameObject,5) ;(消失(生成物的物体,时间)表示生成的子弹5秒后消失)

//}

//}

//2:汽油桶爆炸生成爆炸效果

//var baozha : GameObject;(指定爆炸效果的预置物)

//var youtong : Transform;(指定要爆炸的油桶)

//

//function OnTriggerStay (other : Collider) {(碰撞函式(碰撞后发生以下结果))

//if(other.tag == "zidan"){(要想油桶之碰到子弹爆炸需要建立新标签(如zidan),然后将预置物子弹的标签设置为zidan)

//var shengchengwu: GameObject = GameObject.Instantiate(baozha,youtong.position,youtong.rotation);(爆炸效果=复制物体(他的预置物,坐标,角度))

//gameObject.renderer.enabled = false;(游戏物体的渲染器的开关=关)

//gameObject.collider.enabled = false;(游戏物体的碰撞机的开关=关)

//Destroy(gameObject,2);(消失(本体,时间))

//Destroy(other);(消失(碰撞他的物体))

//}

//}

//**************************************************************************************************

//十四、切换狙击模式

//1、计算屏幕的宽高比例为aa

//①鼠标右键控制是否狙击

//②如果是狙击模式 判断屏幕宽高的比例

//    <1.5 选择图片4:3 {4:3的图片.gameObject.active = true;

16:9的图片.gameObject.active = false;

4:3的图片.PixelInset.width = 屏幕宽

如果比值aa{ 4:3的图片.PixelInset.height = 屏幕高

//>1.5 选择图片16:9{16:9的图片.gameObject.active = true;

 4:3的图片.gameObject.active = false;

 16:9的图片.PixelInset.width = 屏幕宽

 16:9的图片.PixelInset.height = 屏幕高

//将相机FieldOfView值调整为10

//③如果不是狙击模式,让两个图片的active都为false。将相机的FiedOfView重新调整为原来的60

//

//指令写法:

//

//var juji169 : GUITexture;指定169贴纸

//var juji43 : GUITexture;指定43贴纸

//var kaijing : boolean;设置开关镜为布林值

//

//function Update () {

//if(Input.GetMouseButtonDown(1)){按下鼠标右键

//kaijing = !kaijing;开关镜对调一次(如开镜变为关镜,关镜变为开镜)

//var screen : float = Screen.width*1.0/Screen.height;指定屏幕宽高比的变量为screen

//if(kaijing == true){当开关镜为开时

//if(screen < 1.5){如果屏幕宽高比小于1.5

//juji43.gameObject.active = true;4:3贴纸的开关为开

//juji169.gameObject.active = false;16:9贴纸的开关为关

//juji43.pixelInset.width = Screen.width;4:3贴纸的宽为屏幕的宽

//juji43.pixelInset.height = Screen.height;4:3贴纸的高为屏幕的高

//

//}

//else if (screen > 1.5) {当屏幕的宽高比大于1.5

//juji169.gameObject.active = true;16:9贴纸的开关为开

//juji43.gameObject.active = false;4:3贴纸的开关为关

//juji169.pixelInset.width = Screen.width;16;9贴纸的宽为屏幕的宽

//juji169.pixelInset.height = Screen.height;16:9贴纸的高为屏幕的高

//}

//gameObject.camera.fieldOfView = 10;摄像机看到的距离为10

//}

//else 当开关镜为关时

//{

//juji169.gameObject.active = false;16;9贴纸的开关为关

//juji43.gameObject.active = false;4:3贴纸的开关为关

//gameObject.camera.fieldOfView = 60;摄像机看到的距离为60

//}

//}

//}

//**************************************************************************************************

//十五、自动寻路

//①布置场景。所有的物体√Static(除摄像机、灯光、运动的物体)

//②在运动的物体上添加组件Navigation,添加脚本(见下面)

//③添加组件 OffMeshlink(可添加到任何物体上)

//└ Start球A}

//└ End球B}让两者用线连起来

//脚本写法

//var Target : Transform;

//

//function Update () {

//gameObject.GetComponent.<NavMeshAgent>().SetDestination(Target.position);

//}

//**************************************************************************************************

//十六、开关门(动画)

//①建立房子(门)创建父子集

//②在门上创建开门与关门的动画(ctrl+6

//③将门上的动画关掉(Play Automatically的勾去掉)

//④创建一个方块删去renderer(或者创建一个空物体添加collider)放到门前合适的位置(碰到该物体就开门,离开就关门)

//⑤在“④”的物体上创建脚本:

//var men : Animation;指定门上的动画

//function OnTriggerEnter (other : Collider){当接触到其他物体时

//if(other.tag == "ren"){如果接触的其他物体的标签为“ren”时

//men.Play("kaimen");门的动画播放“kaimen”动画

//}

//}

//function OnTriggerExit (other : Collider){当离开接触的物体时

//if(other.tag == "ren"){如果接触的其他物体的标签为“ren”时

//men.Play("guanmen");门的动画播放“guanmen”动画

//}

//}

//**************************************************************************************************

//十七、房子爆炸

//①利用“十六”中建立的房子,在父集中添加一个collider,大小与房子大小一样

//②在添加了collider的父集上添加脚本:

//var zhadan : GameObject;指定爆炸效果的预置物

//var myarray : Transform[] = new Transform[9]; 指定父子集

//

//function OnTriggerEnter (other : Collider){碰撞函式

//

//if(other.tag == "zidan"){如果碰到的物体的标签是子弹时

//var zhakai : GameObject = GameObject.Instantiate(zhadan,other.transform.position,other.transform.rotation);

生成炸开效果

//myarray = GetComponentsInChildren.<Transform>();myarray中提取组件Transform

//for(var aa in myarray){循环某个变量添加在指定的父子集中

//aa.gameObject.AddComponent.<Rigidbody>().mass = 5;变量添加刚体.密度是5

//aa.parent = null;有变量的父子集拆开

//}

//Destroy(other.gameObject);消失(碰到的物体)

//Destroy(gameObject);消失(本身)

//

//}

//}

//**************************************************************************************************

//十八、添加声音

//①在物体上添加componentaudioaudio source

//②将声音文件拖进clip

//③将play按钮的勾去掉

//volume rolloff中选择linear rolloff

//⑤在脚本上添加:

//gameObject.audio.Play();

//**************************************************************************************************

//十九、添加影像

//①建立材质球,将影像添加到材质球中

//②在场景中建立平面,将材质球加到平面中

//③写脚本:

//var aa : MovieTexture;指定电影为“aa

//

//function Update () { 函式Update

//gameObject.renderer.material.mainTexture = aa;平面的材质球为aa

//aa.Play();aa播放

//}

//**************************************************************************************************

//二十、骷髅守卫

//①制造一个骷髅

//②脚本:效果:当骷髅离人物距离低于30时,骷髅追人,超过30时,骷髅回到初始位置

//var kulou : Animation;指定骷髅(有动画)

//var player : GameObject;指定人物角色

//var juli : int = 1;指定超过30或低于30的连个变量

//private var didian : Vector3;骷髅的初始地点

//function Start () {函式Start

//kulou.animation["run"].wrapMode = WrapMode.Loop;除死亡动作“die”外其他动作都执行loop(循环)

//kulou.animation["idle"].wrapMode = WrapMode.Loop;

//kulou.animation["attack"].wrapMode = WrapMode.Loop;

//kulou.animation["dance"].wrapMode = WrapMode.Loop;

//kulou.animation["die"].wrapMode = WrapMode.Once;

//didian = kulou.transform.position;初始地点的值是骷髅的位置

//}

//

//function Update () {函式Update

//if(juli == 1){如果juli"1"

//if(Vector3.Distance(player.transform.position,kulou.transform.position)<30){ 如果距离人物与骷髅位置小于30

//kulou.transform.LookAt(player.transform.position);骷髅面向人物

//kulou.CrossFade("run");骷髅执行“run”动画

//kulou.transform.rotation.x = 0;骷髅的x轴旋转为0

//kulou.transform.rotation.z = 0;骷髅的z轴旋转为0

//kulou.transform.Translate(0,0,10*Time.deltaTime);骷髅向z轴每帧运行10距离

//}

//else{不满足如果的话(指距离大于30

//if(Vector3.Distance(kulou.transform.position,didian)>1){如果骷髅的距离与初始的地点大于1

//kulou.transform.LookAt(didian);骷髅面向初始地点

//kulou.CrossFade("run");骷髅执行“run”动画

//kulou.transform.rotation.x = 0;骷髅的x轴旋转为0

//kulou.transform.rotation.z = 0;骷髅的z轴旋转为0

//kulou.transform.Translate(0,0,10*Time.deltaTime);骷髅向z轴每帧运行10距离

//}

//else{不满足如果的的话(指距离小于1

//kulou.Play("idle");骷髅运行“idle”动画

//}

//}

//}

//if(juli == 2){如果juli是“2”时

//kulou.Play("attack");骷髅的动画为“attack”攻击

//}

//}

//function OnTriggerEnter(other : Collider){当碰到其他物体时

//juli = 2;juli2

//}

//function OnTriggerExit(other : Collider){当离开其他物体时

//juli = 1;juli1

//}

//**************************************************************************************************

//二十一、重置场景(关卡)

//Application.LoadLevel(Application.loadedLevelName);

//**************************************************************************************************

//二十二、制作血条与减血加血

//①创建角色、怪物和加血道具

//②在设定好角色怪物的移动脚本(这里用的“二十”中的骷髅守卫)

//③用PS制作血条,并导入设定好位置

//④在角色中添加脚本:

//var xuetiao : GUITexture;设定血条的贴图

//var zuidaHP : int = 1000;设定最大血量为1000

//var dangqianHP : int;设定当前血量为整数

//var changdu : float;设定血条的长度

//function Start () {start函式

//changdu = xuetiao.pixelInset.width;血条长度=血条贴图的宽

//dangqianHP = 1000;当前血量为1000

//}

//

//function Update () {update函式

//xuetiao.pixelInset.width = dangqianHP*1.0/zuidaHP*changdu;血条的宽是当前血量*1.0/最大血量*长度

//}

//⑤在骷髅守卫的武器中添加collide 与刚体并添加脚本:

//function OnTriggerEnter(other : Collider){碰撞测试

//if(other.tag == "Player"){碰撞物的标签为“Player

//if(other.GetComponent.<>().dangqianHP>0) other.GetComponent.<>().dangqianHP -= 50;

//if(other.GetComponent.<>().dangqianHP<=0) other.GetComponent.<>().dangqianHP = 0;

//}提取《④》中的dangqianHP如果大于0,就减50

//}如果小于等于0,就不变;

//⑥在加血道具中添加脚本:

//var xuanguang : GameObject;指定道具眩光的预置物

//function OnTriggerEnter (other : Collider) {碰撞函式

//if(other.tag == "Player"){碰撞物的标签为“Player

//other.GetComponent.<>().dangqianHP = 1000;血量变成1000(满)

//GameObject.Instantiate(xuanguang,transform.position,transform.rotation);生成眩光

//Destroy(gameObject);道具消失

//}

//}

//**************************************************************************************************

//二十三、for循环判断

//举例:

//for(var  i =1 i<10 ; i++){ i1i小于10的话,满足下面的条件i就加1

//for( var  j  = 1 ; j<10 ; j++ ){j1j小于10的话,满足下面的条件j就加1

//print(i + "*" + j +"=" + i*j)映出i*j=结果(99乘法表)

//}

//}

//**************************************************************************************************

//二十四、指定自定义函式

//gameObject.SendMessage("__函式名字__",__参数__){}平级,同级

//gameObject BroadcastMessage("____",____){}向下

//gameObject SendMessage Upwards("____",____){}向上

//**************************************************************************************************

//二十五、为怪物增加动态血条与掉血回血

//①沿用之前骷髅怪物与主角,在怪物头顶添加cube,拉伸成血条形状

//②将脚本添加到血条中:

//var shexiangji : GameObject;指定摄像机

//var xuetiao : Texture2D;指定血条的2D贴图

//var dangqianHP : float;设定当前HP

//var zuidaHP : float = 1000;设定最大的HP

//var xue : GameObject;指定血的预置物

//var a : int = 1;

//

//function Start () {Start函式

//xuetiao = new Texture2D(512,32);血条是创建的新2D贴图(长和宽)

//xuetiao.wrapMode = TextureWrapMode.Clamp;将贴图拉伸覆盖到血条

//dangqianHP = 1000;当前的HP1000

//}

//

//function Update () {Update函式

//gameObject.transform.LookAt(shexiangji.transform.position);让血条一直面对摄像机(让你总能看到正面的血条)

//gameObject.transform.rotation.x = 0;设置血条的角度不会因为怪物移动而抖动

//gameObject.transform.rotation.z = 0;

//

//dangqianHP += a*Time.deltaTime;当前的HP每秒恢复1滴血(自动回血)

//if(dangqianHP>=1000){当当前HP大于或等于1000

//a=0;每秒恢复0滴血(回血停止)

//}

//else{除此之外(只小于1000时)

//a=1;每秒恢复1滴血

//}

//

//var changdu = dangqianHP/zuidaHP * xuetiao.width;血条长度等于当前Hp/最大HP*血条的宽

//

//for(var x=0; x<xuetiao.width; x++){循环执行x轴从0开始,x轴小于血条的宽的话执行下面,否则+1

//for(var y=0; y<xuetiao.height; y++){循环执行y轴从0开始,y轴小于血条的宽的话执行下面,否则+1

//if(x<changdu) xuetiao.SetPixel(x,y,Color.red);   x小于血条长度的范围涂成红色

//else xuetiao.SetPixel(x,y,Color.black);         其他部位涂成黑色

//}

//}

//

//xuetiao.Apply();    血条一直应用

//gameObject.renderer.material.mainTexture = xuetiao;    知道的血条的贴图指定为上面设置好的血条贴图

//}

//function OnTriggerEnter (other : Collider){接触函式

//if(other.tag == "zidan"){当接触物的标签是子弹时

//dangqianHP -= 1;当前Hp1滴血

//if(dangqianHP <= 0){当当前HP小于或等于0

//dangqianHP = 0;当前HP变为0

//Destroy(GameObject.Find("kulou2"),2);骷髅两秒后消失

//Destroy(other.gameObject);碰撞的物体消失

//GameObject.Find("kulou2").animation.Play("die");骷髅的动画运行“死亡”

//

//}

//GameObject.Find("kulou2").animation.Play("die");骷髅的动画执行“死亡”

//var xuehua : GameObject = GameObject.Instantiate(xue,other.transform.position,other.transform.rotation);

//}生成血花在碰撞物上

//}

//**************************************************************************************************

//二十六、鼠标点击爆炸

//①鼠标点击的物体必须带有Collider

//②添加脚本:

//var shexiangji : Camera;指定摄像机

//var zhadan : GameObject;指定爆炸效果的预置物

//

//function Update () {

//if(Input.GetMouseButtonDown(0)){当按下鼠标左键时

//var hit : RaycastHit;碰撞到collider的位置

//var ray : Ray = shexiangji.ScreenPointToRay(Input.mousePosition);射线的位置是摄像机中鼠标的位置

//if(Physics.Raycast(ray,hit)){射线碰撞到的位置(鼠标到collider

//GameObject.Instantiate(zhadan,hit.point,Quaternion.identity);

//}生成爆炸(预置物,点到物体的位置,方向时固定格式)

//}

//}

//**************************************************************************************************

//二十七、GUI界面

//var myText : String

//var a : int;

//var anniuzu : String[] = ["1","2","3","4","5"];

//var anniu2 : int ;

//var anniuzu2 : String[] = ["红色","橙色","黄色","绿色","青色","蓝色","紫色"];

//var bool : boolean = true;

//var tiezhi : GUISkin;

//private var chuangkou : Rect = Rect(10,240,200,200);

//function OnGUI(){

//GUI.Label(Rect(000,000,000,00),XXXX);显示文字信息

//

//GUI.Button(Rect(000,000,000,00),XXXX);按钮(按下去只执行一次)

//

//GUI.RepeatButton(Rect(000,000,000,00),XXXX);按下去松开前一直执行

//

//my Text = GUI.TextField(Rect(x,y,width,height),xxxxX);输入文本框

//

//GUI.Label(Rect(000,000,000,00),a.ToString());映出a的字串(screen.)

//

//anniu = GUI.Toolbar(Rect(10,10,500,50),anniu,anniuzu);映出一排按钮

//

//GUI.Label(Rect(250,70,100,50),"按钮"+anniu.ToString());显示按钮的字串

//

//anniu2 = GUI.SelectionGrid(Rect(10,130,500,500),anniu2,anniuzu2,3);映出好几排按钮,每排3

//

//GUI.Label(Rect(10,640,100,50),"你选择了"+anniu2[anniuzu2]]);显示按钮所代表的意思

//

//bool = GUI.Toggle(Rect(10,280,100,50),bool,"开关");开关按钮

//

//GUI.Button(Rect(Input.mousePosition.x-10,Screen.height-Input.mousePosition.y-10,20,20),"");按钮跟踪鼠标

//

//yinliang = GUI.HorizontalSlider(Rect(10,270,150,20),yinliang,0.0,10.0);横滑条(坐标,变量,起始点,结束点)

//

//yinliang = GUI.HorizontalScrollbar(Rect(10,300,150,30),yinliang,3.0,0.0,13.0);(坐标,变量,滑条宽,起始点,结束点)

//

//GUI.Label(Rect(170,270,100,20),"音量"+yinliang);映出上面的数值

//

//gundong =GUI.BeginScrollView(Rect(0,0,200,200),gundong,Rect(0,0,500,500));创建滚动条

//GUI.EndScrollView();两个同时出现,固定格式,写在两者之间的指令被滚动条操控

//

//chuangkou = GUI.Window(0,chuangkou,windows,"道具栏");写窗口,指到另一个函式(id不能重复“0”为id)

//function windows (id : int){在被指定的函式中写的指令将出现在窗口中

//GUI.Button(Rect(10,30,180,30),"道具");添加一个“道具”按钮

//GUI.DragWindow();这个窗口可以被鼠标拖动

//}

//

//GUI.skin = tiezhi;

//GUI.skin = null;夹在之间的按钮变贴图

//GUI.DrawTexture(Rect(0,0,Screen.width,Screen.height),f);贴纸

//}

//function OnGUI () {切换关卡

//if(GUI.Button(Rect(Screen.width/2-50,Screen.height/2-200,100,50),"下一关3")){ 按这个按钮

//Application.LoadLevel("youxi3");到youxi3的场景

//}

//if(GUI.Button(Rect(Screen.width/2-50,Screen.height/2,100,50),"退出")){ 按这个按钮

//Application.Quit();退出游戏

//}

//}

//

//创建进度条

//var kaiguan : boolean = false;设一个开关

//var aa : float;一个变量

//var jindutiao : GUITexture;一个GUI贴图

//function OnGUI () {

//if(GUI.Button(Rect(Screen.width/2-50,Screen.height/2-200,100,50),"下一关3")){ 如果按下这个按钮

//kaiguan = true;开关就开

//}

//GUI.Label(Rect(Screen.width/2-50,Screen.height/2-110,100,50),aa.ToString());显示aa的数值

//if(kaiguan && Application.CanStreamedLevelBeLoaded("youxi3")){如果开关为开并且读取完下一个场景

//if(Application.GetStreamProgressForLevel("youxi3") == 1){如果读取下一个场景为1

//aa = Application.GetStreamProgressForLevel("youxi3")*100;aa数值就是这个进度*100

//jindutiao.pixelInset.width = aa*3;进度条的宽是aa3倍(进度条满时宽是300

//Application.LoadLevel("youxi3");进入下一关

//}

//else{保护程式

//aa = Application.GetStreamProgressForLevel("youxi3")*100;

//jindutiao.pixelInset.width = aa*3;

//}

//}

//}

//

//创建假的进度条

//var abc : String;

//var tiao : GUITexture;

//var bool : boolean;

//abc = GUI.PasswordField(Rect(Screen.width/2-50,Screen.height/2-200,100,30),abc,"*"[0],6);输入密码的框

//GUI.Label(Rect(Screen.width/2-50,Screen.height/2-150,100,30),"请输入密码");

//if((GUI.Button(Rect(Screen.width/2-50,Screen.height/2-100,100,30),"开始游戏") || Input.GetKey(KeyCode.KeypadEnter)) && abc == "911001"){

//bool = true;

//}

//if(bool == true){

//tiao.pixelInset.width += 0.5;

//}

//if(tiao.pixelInset.width >= 300){

//Application.LoadLevel("youxi1");

//}

//if(GUI.Button(Rect(Screen.width/2-50,Screen.height/2,100,50),"退出")){

//Application.Quit();

//}

//**************************************************************************************************

//二十八、光照贴图、遮挡剔除

//window ——hightmapping光照贴图

//

//window ——Occlusion culling遮挡剔除

//**************************************************************************************************

//二十九、随机数和取整数

//Random.value; 0-1随机小数;

//Random.Range(min,max);自定义最小数和最大数

//

//Mathf.FloorToInt();取靠左端最近的整数(如3.934.14

//CeilToInt();取靠右端最近的整数(如5.167.98

//RoundToInt四舍五入(如1.411.52

//**************************************************************************************************

//三十、位置检测

//if(Rect(x,x,x,x).Contains(Vector2(x,x))){一个2维的点进入一个区域后映出123

//print("123");

//}

//**************************************************************************************************

//三十一、人物跟随鼠标

人物跟随鼠标移动

//

//private var moveSpeed:int=50;//相机移动速度

//

//var player:Transform;//定义一个人物的Transform

//var playerPlane:Plane;//定义一个Plane

//

//function Start()

//{

//playerPlane=Plane(player.up,player.position);//在人物所在位置,以人物的Vector3.up为法线创建一个平面

//}

//

//function Update () 

//{

//transform.position+=Vector3.right*Input.GetAxis("Mouse X")*Time.deltaTime*moveSpeed;

//当鼠标平移时,相机随之平移(或右移或左移)

//transform.position+=Vector3.forward*Input.GetAxis("Mouse Y")*Time.deltaTime*moveSpeed;

//当鼠标纵移时,相机随之纵移(或上移或下移)

//

//var targetposition=player.TransformPoint(Vector3(0,48.8,-30));

//transform.position=targetposition;//相机的目标位置,这两句代码的作用是让人物一直处于相机的视野下

//PlayerMove();

//

//}

//

////将鼠标在屏幕某一位置的坐标转化为鼠标在世界空间里该位置的坐标

//function PlayerMove()

//{

//var cursorScreenPosition:Vector3=Input.mousePosition;//鼠标在屏幕上的位置

//var ray:Ray=Camera.main.ScreenPointToRay(cursorScreenPosition);

//在鼠标所在的屏幕位置发出一条射线(暂名该射线为x射线)

//var dist:float;//定义一个float变量(该变量会在下面的代码里用到)

//playerPlane.Raycast(ray,dist);

//人物所在平面与x射线相交(作用是得到x射线与人物所在平面相交时,x射线射出多远---即得到dist的值)

//var targetposition:Vector3=ray.GetPoint(dist);

//x射线这条射线上,距离起点dist处的点(该点即为鼠标在世界空间里的坐标)

//player.LookAt(targetposition) //人物随着鼠标转动

//player.position=Vector3.MoveTowards(player.position,targetposition,Time.deltaTime*2);

//人物坐标移动到鼠标所在世界空间的坐标

//}

//**************************************************************************************************

//三十二、储存读取游戏数据

//PlayerPrefs.SetString("key",b);//储存,b为储存的数据数字或文字

//PlayerPrefs.GetString("key",b);//读取

//**************************************************************************************************

//三十三、反光渲染

//①、添加脚本FirstMouseControl.js

//#pragma strict

//class RenderCubemapWizard extends ScriptableWizard {

//    var renderFromPosition : Transform;

//    var cubemap : Cubemap;

//    

//    function OnWizardUpdate () {

//        helpString = "Select transform to render from and cubemap to render into";

//        isValid = (renderFromPosition != null) && (cubemap != null);

//    }

//    

//    function OnWizardCreate () {

//        // create temporary camera for rendering

//        var go = new GameObject( "CubemapCamera", Camera );

//        // place it on the object

//        go.transform.position = renderFromPosition.position;

//        go.transform.rotation = Quaternion.identity;

//

//        // render into cubemap        

//        go.camera.RenderToCubemap( cubemap );

//        

//        // destroy temporary camera

//        DestroyImmediate( go );

//    }

//    

//    @MenuItem("GameObject/Render into Cubemap")

//    static function RenderCubemap () {

//        ScriptableWizard.DisplayWizard.<RenderCubemapWizard>(

//            "Render cubemap", "Render!");

//    }

//}

//②、建好cube

//③、建好cubemap   Create>Cubemap

//④、在GameObject中选择 Render into Cubemap,将建好的cubecubemap拖入

//⑤、新建材质球,拖至cube中,Shader选项选择Reflective>VertexLit,将cubemap拖入



转载自博客  http://devilnotcry.blog.163.com/blog/static/6477482120143121242409/

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lihui061119/article/details/37658849

智能推荐

JWT(Json Web Token)实现无状态登录_无状态token登录-程序员宅基地

文章浏览阅读685次。1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺点是什么?服务端保存大量数据,增加服务端压力 服务端保存用户状态,无法进行水平扩展 客户端请求依赖服务.._无状态token登录

SDUT OJ逆置正整数-程序员宅基地

文章浏览阅读293次。SDUT OnlineJudge#include<iostream>using namespace std;int main(){int a,b,c,d;cin>>a;b=a%10;c=a/10%10;d=a/100%10;int key[3];key[0]=b;key[1]=c;key[2]=d;for(int i = 0;i<3;i++){ if(key[i]!=0) { cout<<key[i.

年终奖盲区_年终奖盲区表-程序员宅基地

文章浏览阅读2.2k次。年终奖采用的平均每月的收入来评定缴税级数的,速算扣除数也按照月份计算出来,但是最终减去的也是一个月的速算扣除数。为什么这么做呢,这样的收的税更多啊,年终也是一个月的收入,凭什么减去12*速算扣除数了?这个霸道(不要脸)的说法,我们只能合理避免的这些跨级的区域了,那具体是那些区域呢?可以参考下面的表格:年终奖一列标红的一对便是盲区的上下线,发放年终奖的数额一定一定要避免这个区域,不然公司多花了钱..._年终奖盲区表

matlab 提取struct结构体中某个字段所有变量的值_matlab读取struct类型数据中的值-程序员宅基地

文章浏览阅读7.5k次,点赞5次,收藏19次。matlab结构体struct字段变量值提取_matlab读取struct类型数据中的值

Android fragment的用法_android reader fragment-程序员宅基地

文章浏览阅读4.8k次。1,什么情况下使用fragment通常用来作为一个activity的用户界面的一部分例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 – 2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输_android reader fragment

FFT of waveIn audio signals-程序员宅基地

文章浏览阅读2.8k次。FFT of waveIn audio signalsBy Aqiruse An article on using the Fast Fourier Transform on audio signals. IntroductionThe Fast Fourier Transform (FFT) allows users to view the spectrum content of _fft of wavein audio signals

随便推点

Awesome Mac:收集的非常全面好用的Mac应用程序、软件以及工具_awesomemac-程序员宅基地

文章浏览阅读5.9k次。https://jaywcjlove.github.io/awesome-mac/ 这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull Request或者使劲搓它 issu_awesomemac

java前端技术---jquery基础详解_简介java中jquery技术-程序员宅基地

文章浏览阅读616次。一.jquery简介 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互 jQuery 的功能概括1、html 的元素选取2、html的元素操作3、html dom遍历和修改4、js特效和动画效果5、css操作6、html事件操作7、ajax_简介java中jquery技术

Ant Design Table换滚动条的样式_ant design ::-webkit-scrollbar-corner-程序员宅基地

文章浏览阅读1.6w次,点赞5次,收藏19次。我修改的是表格的固定列滚动而产生的滚动条引用Table的组件的css文件中加入下面的样式:.ant-table-body{ &amp;amp;::-webkit-scrollbar { height: 5px; } &amp;amp;::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box..._ant design ::-webkit-scrollbar-corner

javaWeb毕设分享 健身俱乐部会员管理系统【源码+论文】-程序员宅基地

文章浏览阅读269次。基于JSP的健身俱乐部会员管理系统项目分享:见文末!

论文开题报告怎么写?_开题报告研究难点-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏15次。同学们,是不是又到了一年一度写开题报告的时候呀?是不是还在为不知道论文的开题报告怎么写而苦恼?Take it easy!我带着倾尽我所有开题报告写作经验总结出来的最强保姆级开题报告解说来啦,一定让你脱胎换骨,顺利拿下开题报告这个高塔,你确定还不赶快点赞收藏学起来吗?_开题报告研究难点

原生JS 与 VUE获取父级、子级、兄弟节点的方法 及一些DOM对象的获取_获取子节点的路径 vue-程序员宅基地

文章浏览阅读6k次,点赞4次,收藏17次。原生先获取对象var a = document.getElementById("dom");vue先添加ref <div class="" ref="divBox">获取对象let a = this.$refs.divBox获取父、子、兄弟节点方法var b = a.childNodes; 获取a的全部子节点 var c = a.parentNode; 获取a的父节点var d = a.nextSbiling; 获取a的下一个兄弟节点 var e = a.previ_获取子节点的路径 vue