Unity学习疑问记录之保卫伦敦塔学习体会
1.生成的prefab如果要产生反向:
Instantiate(Rocket, rocketPosition.position, Quaternion.Euler(new Vector3(0,0,180f)))
2. Input.GetAxis("Horizontal")的使用,返回-1~+1之间的数
按键盘左右键可以得到不同的数,长按是+1或-1,按得越久,数字越大
3. 数学的应用
Mathf.Sign(f)的使用
返回 f 的符号,当 f 为正或为0返回1,为负返回-1。
Mathf.clamp(float value,float min,float max);
限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value
Mathf.Lerp(float from,float to,float t),这个主要用在平滑移动方面
基于浮点数t返回a到b之间的插值,t限制在0~1之间,当t = 0返回from,当t = 1 返回to。当t = 0.5 返回from和to的平均值
4.延时与间隔的实现,但这里有个问题,都无法输入参数
Invoke(string methodName,float time);//延迟调用某个方法
InvokeRepeating (string methodName, float time, float repeatRate ) //延迟多少秒后,开始间隔执行
5.着地的一种检测方法
public LayerMask mask;
bool Phsyiscs2D.OverlapCircle(Vetctor3 position,float circle, mask);
6.敌人前方放置个检测点,看碰到哪些了?
Collider2D [] Physics2D.OverlapPointAll(Vector3 pos,mask);
7.敌人GameObject如果是多张图组成,而死亡时只用一张图,要先把子物体中的图全关掉,在对父物体给图
SpriteRender []rens=GetComponentsInChildren<SpriteRender>();
foreach(SpriteRender ren in rens){ ren.enabled=false;}
8.敌人死时,旋转掉下来
rigidbody2D.fixedAngle=false;
rigibody2D.AddTorque(minAnagle,maxAngle);
它身上的碰撞器有多个(Circle和Box),全打开trigger
Collider2D []cols=GetComponents<Collider2D>();
foreach(Collider2D col in cols)
{
col.isTrigger=true;
}
9.血条的制作
(1)作个血条图片,白色的透明底部,接着要作个material,并使用绿色;
(2)用于GameObject的Sprite,Sprite Renderer中的material要用(1)中作好的;
(3)用个health变量代表血值,受伤以后要开始减;
(4) 血条的颜色缓变成红色,使用了Color插值法
healthBar.material.color=Color.Lerp(Color.green,Color.red,1-health*0.01f);
(5)血条越来越短
healthBar.transform.localScale=new Vector3(healthScale*health*0.01f,1,1);
10.不断生成小车,它用到了协程
在协程中,再调用StartCoroutine来执行自己,不断产生
11.查找相应的父GameObject的transform,用transform.parent
父结点用transform.parent.gameObject
12.组件是可以动态添加的,例如添加刚体组件
gameObject.AddComponet<Rigidbody2D>();
13.动画播放结束要用事件咋办?
先给相应的GameObject绑个脚本,然后在动画设计Animation Window中,Add Animation Event事件
14.在游戏中经常遇到这样的需求:Enemy和Bomb不需要碰撞,而Bomb需要能掉在地板上(它需要碰撞器),这时可以Edit- Project Settings-Physics 2D,设置相应的碰撞矩阵
15. 找到当前炸弹范围以内的敌人是这样作的:
Collider2D[] enemies = Physics2D.OverlapCircleAll(transform.position, 10.0f, 1 << LayerMask.NameToLayer("Enemies"));
16.Vector3.normalized;//向量标准化,返回向量的长度为1(只读).
17.消灭敌人时用的语法:
// Find a vector from the bomb to the enemy.
Vector3 deltaPos = rb.transform.position - transform.position;
// Apply a force in this direction with a magnitude of bombForce.
Vector3 force = deltaPos.normalized * 100f;
rb.AddForce(force);
Unity学习疑问记录之保卫伦敦塔学习体会的更多相关文章
- Unity学习疑问记录之新GUI
学习Unity 4.6新GUI系统 http://segmentfault.com/a/1190000000642686
- Unity学习疑问记录之脚本生命周期
总的来说unity的脚本生命周期分几个部分:编辑→初始化→游戏逻辑→渲染→GUI→Teardown首先是Reset,顾名思义:重置.在什么情况下调用呢?1.用户第一次添加组件时.2用户点击见组件面板上 ...
- Unity学习疑问记录之查找
unity中提供了获取对象的五种方法: 通过对象名称(Find方法) 通过标签获取单个游戏对象(FindWithTag方法) 通过标签获取多个游戏对象(FindGameObjectsWithTags方 ...
- Unity学习疑问记录之触屏
当将Unity游戏运行到ios或android设备上时,桌面系统中的鼠标左键操作可以自动变为手机屏幕上的触屏操作,但鼠标操作无法实现一些特有的触屏操作,比如多点触屏. 触控对于Android移动设备来 ...
- Unity学习疑问记录之layer问题
在Sprite Render中有个Sorting Layer,这里可以建层,而Inspector窗口中也有个layer,也可以新建层,这2者有什么不一样呢? layer主要通过光线投射来选择性地忽略碰 ...
- Unity学习疑问记录之正交与透视
Unity中相机的投影是2种方式,正交和透视 这是透视方式 正交方式: //计算屏幕宽度 float height = 2.0f * Camera.main.orthographicSize;//正交 ...
- Unity学习疑问记录之坐标体系
[Unity3D的四种坐标系] 1.World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的.transform.position可以获得该位置坐标. ...
- Unity学习疑问记录之 动作动画忽略timeScale
http://www.bubuko.com/infodetail-968864.html
- Unity学习疑问记录之协程
http://blog.csdn.net/huang9012/article/details/38492937 总结:1.协程相当于多线程但不是,(尽管它们看上去是这样的),它们运行在同一线程中,跟普 ...
随机推荐
- 如何给外部引用的js文件传递参数
1.定义全局变量 <script language="javascript"> var g = "I'm here"; </script> ...
- StartUML反向(逆向)Java工程通过代码生成类图
在软件工程中,通过都是先了详细设计,然后按照详细设计来进行开发.在编写详细设计的时候,通常都会画一些类图.时序图.流程图等等UML设计,然后通过uml类图生成代码,这个属于正向工程生成代码,然而在实 ...
- sublime3侧边栏颜色修改,推荐主题
sublime侧边栏的颜色默认是灰白色的,下面方法可以手动定制颜色为深色: 需要修改的文件为: C:\program\Sublime\Packages\Theme - Default.sublime- ...
- 无法启动"D\projects\hello\Debug\hello.exe" 系统找不到指定的文件。[LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏]
这两天安装Visual Studio遇到这样的一个问题,用自己的电脑和公司的电脑都出现同样的问题.两台电脑都是新系统,按理来说是没有问题的.但是一出现问题,对于我这个小白来说,还是耗费了挺多精力都无果 ...
- nginx实现本地图片生成缩略图
nginx可以实现图片的缩略图效果,很多网站为了前端静态资源相应的性能会给大图自动生成一个小图,比如我们经常会在网上看到bd_64x64.png这种格式,淘宝上的小图经常会看到xxx.jpg_100x ...
- Apache与Nginx对客户端请求的处理机制对比
Apache与Nginx对客户端请求的处理机制对比 模块 大致为四个模块,核心模块.HTTP模块.邮件模块,以及第三方模块 核心模块主要包含两类功能的支持,一类是主体功能,包括进程管理,权限管理,错误 ...
- 低功耗蓝牙BLE之连接事件、连接参数和更新方法
转自:http://blog.csdn.net/zzfenglin/article/details/51304084 连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包.一个连接事件 ...
- MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)
一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...
- RSA的傻瓜原理
设想一下,这种场景,你处在一个狭小的房间里,房间之中有一共有三个人,你是其中一个,你们之间被玻璃隔开,两两对视,现在给另外两个人起个名字叫小红.小明.你和他们通讯只能用写字板来展示给对方(简单起见,只 ...
- bootstrap 20161012
栅格系统 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="u ...