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学习疑问记录之保卫伦敦塔学习体会的更多相关文章

  1. Unity学习疑问记录之新GUI

    学习Unity 4.6新GUI系统 http://segmentfault.com/a/1190000000642686

  2. Unity学习疑问记录之脚本生命周期

    总的来说unity的脚本生命周期分几个部分:编辑→初始化→游戏逻辑→渲染→GUI→Teardown首先是Reset,顾名思义:重置.在什么情况下调用呢?1.用户第一次添加组件时.2用户点击见组件面板上 ...

  3. Unity学习疑问记录之查找

    unity中提供了获取对象的五种方法: 通过对象名称(Find方法) 通过标签获取单个游戏对象(FindWithTag方法) 通过标签获取多个游戏对象(FindGameObjectsWithTags方 ...

  4. Unity学习疑问记录之触屏

    当将Unity游戏运行到ios或android设备上时,桌面系统中的鼠标左键操作可以自动变为手机屏幕上的触屏操作,但鼠标操作无法实现一些特有的触屏操作,比如多点触屏. 触控对于Android移动设备来 ...

  5. Unity学习疑问记录之layer问题

    在Sprite Render中有个Sorting Layer,这里可以建层,而Inspector窗口中也有个layer,也可以新建层,这2者有什么不一样呢? layer主要通过光线投射来选择性地忽略碰 ...

  6. Unity学习疑问记录之正交与透视

    Unity中相机的投影是2种方式,正交和透视 这是透视方式 正交方式: //计算屏幕宽度 float height = 2.0f * Camera.main.orthographicSize;//正交 ...

  7. Unity学习疑问记录之坐标体系

    [Unity3D的四种坐标系] 1.World Space(世界坐标):我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的.transform.position可以获得该位置坐标. ...

  8. Unity学习疑问记录之 动作动画忽略timeScale

    http://www.bubuko.com/infodetail-968864.html

  9. Unity学习疑问记录之协程

    http://blog.csdn.net/huang9012/article/details/38492937 总结:1.协程相当于多线程但不是,(尽管它们看上去是这样的),它们运行在同一线程中,跟普 ...

随机推荐

  1. Linux启动新进程的几种方法汇总

    有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们需要怎么才能在自己的进程中启动其他的进程呢?在Linux中提供了不少的方法来实现这一点,下面就来介绍一个这些 ...

  2. CentOS6.3编译安装Memcached的PHP客户端memcache

    在安装Memcached的PHP客户端memcache之前,可先看下先前的工作笔记: PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展? 安装PHP的memcache扩展 cd /us ...

  3. Swift3.0P1 语法指南——闭包

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  4. 【Alpha】Daily Scrum Meeting第十次

    一.本次Daily Scrum Meeting主要内容 每个人学习情况 测试的任务的安排 Alpha版本展示的具体内容 二.任务安排 学号尾数 昨天做的任务 今天做的任务 任务用时 612 完成将计时 ...

  5. PHP 动态生成验证码

    ……机器人会在网站中搜寻允许他们插入广告的输入表单,在虚拟世界没有什么能阻挡它们胡作非为.这些机器人效率极高,完全不关心所攻击的表单的本来用途.它们唯一的目标就是用它们的垃圾广告覆盖你的内容,残忍地为 ...

  6. HDU 3622 Bomb Game

    Description \(n\) 个炸弹,每个炸弹有两个放置点,可以任选一个,问你最大的半径是多少. Sol 二分+2-SAT+Tarjan. 首先二分一下答案.然后就成了一个2-SAT问题. 建模 ...

  7. Proj.4坐标系统创建参数

    Proj.4坐标系统创建参数 本文由乌合之众lym瞎编,欢迎转载blog.cnblogs.net/oloroso 本文原文地址(https://github.com/OSGeo/proj.4/wiki ...

  8. Lua 读表代码,自动生成字段名字

    表格格式为 INT STRING INT INT INT INT INT Id Desc Type SceneId OpenId MaxPliesp ClearancePlies 第1关 - 第2关 ...

  9. Nginx上传文件返回413的解决

    通过http上传文件时返回403 Request Entity Too Large错误时,原因是默认设置的允许上传文件太小,默认是2M,如果上传文件大小大于2M时,那么就会返回413的错误,修改ngi ...

  10. iOS开发UI篇—CAlayer层的属性

    iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...