码迷,mamicode.com
首页 > 编程语言 > 详细

unity3D之我用过的小玩意(二)

时间:2015-02-05 09:34:55      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:unity3d音频   unity3d技巧   untiy3d碰撞检测   untiy3dtag   

十一、点击事件

图片加个触摸Physics2D,关联的脚本void OnMouseDown(){}函数里点击就进入

技术分享

十二、碰撞检测

两个图片相遇交互想要做些操作

给图片加组件碰撞器,Componet->Physics->Box Colider(Colider都是碰撞器,区别在于形状不同,我常用Box,加了后图片身上有绿色边框,如果是模型用Mesh更精准)

组件附带的Is Trigger选项选取,类似于开关

给图片加组件刚体,Componet->Physics->Rigidbody

(组件附带的Use Gravity取消掉,Is Kinematic选取)

碰撞函数

技术分享

注意:碰撞的物体都需要按照上面的步骤,其次就是要添加的碰撞器和刚体是一样的,有Physics和Physics2D,选一样的,我可吃了苦头

注意:脚本A继承脚本B,B里面的碰撞函数不适用A,A直接重写,不用管其他的,适用A,就一起连碰撞函数继承

十三、Tag的好处

玩过cocos2d的人知道,Tag相当于别名,特别好用,我们操作方便,我都不知道怎么形容,unity3d开始自带一个tag是Player,主角,也就是一个普通的tag

创建新的Tag:Edit->ProjectSettings->Tags and Layers,在Inspector的窗口里有Tags,size是你想要几个,下面就是给tag起名字,创建

给图片什么的添加Tag:选取图片后在Inspector的窗口里Tag里就有你自己创建的Tag及Player

技术分享

使用1:附加了tag的对象,点出来tag,引号里是tag,十二和十三两图结合的意思是在添加了这个脚本的物体碰撞到添加了Tag为Player或者Tag为PlayerRocket的物体的话…

使用2:GameObject.FindGameObjectWithTag ("Tag")获取其他游戏对象GameObject可以点出来找Tag

技术分享

十四、增量时间Time.deltaTime

这是一个按秒算的时间,特别好用

假如你控制图片移动float i = Time.deltaTime*2f;每秒移动速度2米

加入你要让图片5秒后消失i=5;i-=Time.deltaTime;if(i<=0)……5秒后……

技术分享

十五、Awake()函数

void Awake(){};这个函数叫更早函数(名字我起的……没查到叫什么),因为大家知道运行先进行Start()函数里的,但如果用这个函数,在进入Start之前先进入这个函数

技术分享

十六、技巧

Transform组件用的非常广,回头我在总结,现在都凌晨多了,我先总结一个有关这个技巧,音频组件等有些一样可以用这个技巧

我们用这个组件一般是this点出来,在Update函数里面多用几次的话,内部…效率低,建个这样类型的变量,在Start()函数里就先赋值,以后用这个变量,是一样的,效率快了

技术分享技术分享

十七、音频(给物体加音乐)

1.加音频组件:Component->Audio->Audio Source

2.创建个音频变量public AudioClip m_shootClip;方便在unity界面上拖想要的音乐进来

3.m_audio.PlayOneShot(m_shootClip);这一行代码就是了,m_audio是按十六写的,全部写法是this.audio,括号里加入音频变量

技术分享


unity3D之我用过的小玩意(二)

标签:unity3d音频   unity3d技巧   untiy3d碰撞检测   untiy3dtag   

原文地址:http://blog.csdn.net/panpen120/article/details/43503291

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!