2d游戏制作的笔记

save Layout 增加配置

Packges文件夹

	插件

调整视野

鼠标中键			拉近拉远
鼠标右键 平移
Alt+鼠标左键 移动视角

Pivot/Center

当前物体中心和多个物体共同的中心

Local/Global

全局坐标

步移工具

工具:

1.Sprite Renderer
Order in Layer 可以调节物体的前后关系 值越大越在前面

不要乱改script文件名

Start()方法只会执行一次,类似于初始化
Update()方法会不断循环执行
Time.deltaTime 表示多久时间可以跑一次Loop 解决不同电脑运作速度不同
如果将属性设置为public或者加入[SerializeField] 就可以直接在Unity中调整

Rigidbody 2D 刚体

类似真实物体,可以自由落体

Collider 碰撞

给两个物体都增加Collider组件,可以碰撞在一起
is Trigger 不会碰撞在一起,只作为监测

判断是否撞在一起

 private void OnCollisionEnter2D(Collision2D other) {
if(other.gameObject.tag == "Floor1") Debug.Log("撞到第一种阶梯");
else if(other.gameObject.tag=="Floor2")Debug.Log("撞到第二种阶梯");}

判断是否经过这个物体 需要给对应物体勾选 isTrigger

private void OnTriggerEnter2D(Collider2D other) {
if(other.gameObject.tag=="DeathLine"){
Debug.Log("你输了");
}
}

将你制作好的样板放入assets文件中,可以快速拖去重复相同的样板

	overris 还可以修改所有样板

代码创建物体 ,并放入另一个物体下

 Instantiate(FloorPrefabs[r],transform);

删除物件

 Destroy(gameObject);

控制父物件去更新子物件

 transform.parent.GetComponent<FloorManagger>().SpawnFloor();

让物件不断移动

 transform.Translate(0,MoveSpeed*Time.deltaTime,0);

控制物件失去碰撞功能

  currentFloor.GetComponent<BoxCollider2D>().enabled=false;

法线法向量

垂直接触面

让某个物体不显现

 HpBar.transform.GetChild(i).gameObject.SetActive(false);//反之为true

使用UI库

using UnityEngine.UI;

人物水平翻转,转身

 GetComponent<SpriteRenderer>().flipX=false;

给人物添加动画

component功能选择animator
创建animator controller
windows -> animation
创建动作clip
将贴图或者录制好的图片放入
调出animator 窗口
选择条件
bool anim.SetBool("run",true);
trigger anim.SetTrigger("hurt");
设置Layers权重值
选择箭头线
settings
可以将切换动画的时间全部设为零,√可以去掉
exit time 为动画闪烁的次数

添加声音

component -> audioSourse
取消勾选play on wake 一开始就播放
other.gameObject.GetComponent<AudioSource>().Play();

游戏暂停

Time.timeScale=0f;

UI button

on click()
选择对象和方法

继续游戏

using UnityEngine.SceneManagement;
public void Replay()
{
Time.timeScale=1f;
SceneManager.LoadScene("SampleScene");
}

unity---2d游戏杂记的更多相关文章

  1. Unity 2D游戏开发教程之精灵的死亡和重生

    Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于 ...

  2. Unity 2D游戏开发教程之摄像头追踪功能

    Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...

  3. Unity 2D游戏开发教程之2D游戏的运行效果

    Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问 ...

  4. Unity 2D游戏开发教程之使用脚本实现游戏逻辑

    Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态. ...

  5. Unity 2D游戏开发教程之游戏精灵的开火状态

    Unity 2D游戏开发教程之游戏精灵的开火状态 精灵的开火状态 “开火”就是发射子弹的意思,在战争类型的电影或者电视剧中,主角们就爱这么说!本节打算为精灵添加发射子弹的能力.因为本游戏在后面会引入敌 ...

  6. Unity 2D游戏开发教程之游戏中精灵的跳跃状态

    Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却 ...

  7. Unity 2D游戏开发教程之为游戏场景添加多个地面

    Unity 2D游戏开发教程之为游戏场景添加多个地面 为游戏场景添加多个地面 显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的.那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面. ...

  8. Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...

  9. unity 2d 游戏优化之路 遇坑记录

    情景说明:  unity 出的Android包,在目前一些主流机型跑都没有问题,但是在 小米3 这种比较老的机器上跑,报如下错误 GLSL compilation failed, no infolog ...

  10. unity 2d游戏 按y坐标排序子对象

    List<Transform> objs = new List<Transform>(); for (int i = 0; i < transform.childCoun ...

随机推荐

  1. Python模块导入方式

    import导入方式 from...import导入方式  from...import... 导入模块相当于在此文件中写了所导入函数名(对比c/c++中的.h文件来理解),所以在之后使用导入的函数直接 ...

  2. hive启动出错

    Hive启动报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument - 狗子的进阶史 - ...

  3. Fab 悬浮按钮

    声明,参考:https://ext.dcloud.net.cn/plugin?id=144   在 template 中使用 <template> <view> <uni ...

  4. centos报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/

    检查是否可以上网. ping 114.114.114.114 如果不可以,调试通.通了之后下一步: 然后检查DNS设置是否正常. ping www.baidu.com 不正常的话,设置DNS,如下: ...

  5. [ Shell ] 通过 Shell 脚本导出 GDSII/OASIS 文件

    https://www.cnblogs.com/yeungchie/ 常见的集成电路版图数据库文件格式有 GDSII 和 OASIS,virtuoso 提供了下面两个工具用来在 Shell 中导出版图 ...

  6. hyperledger 儿童车级开发项目实战----投票系统(1)

    今天根据hyperledger 企业级开发项目实战视频,自己做了一个投票demo.在这做个记录 首先编写智能合约 在$GOPATH的的src路径下创建项目的名称,我的是mkdir vote 然后创建c ...

  7. 10. MySQL基础-02条件查询、排序查询

    2. 条件查询 语法 ​ select 查询列表 from 表名 where 筛选条件: 分类 按条件表达式筛选 简单的条件运算符:> < = != <> >= ⇐ 按逻 ...

  8. 3天时间从零到上架AppStore流程记录

    3天时间从零到上架AppStore流程记录 清明假期刚过去一周,我如愿以偿把自己想要的一个App上架了AppStore 从有idea到技术选型,从设计稿到框架开发,从提审AppStore到上架一共经历 ...

  9. 纯css 实现动画的暂停和运动

    <template>   <div>     <input id="stop" type="radio" name="p ...

  10. QQ浏览器X5内核问题汇总 转

    常常被人问及微信中使用的X5内核的问题,其实我也不是很清楚,只知道它是基于android 4.2的webkit,版本号是webkit 534.今天正好从X5团队拿到了一份问题汇总,梳理下发出来,给各位 ...