unity---2d游戏杂记
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游戏杂记的更多相关文章
- Unity 2D游戏开发教程之精灵的死亡和重生
Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于 ...
- Unity 2D游戏开发教程之摄像头追踪功能
Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...
- Unity 2D游戏开发教程之2D游戏的运行效果
Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问 ...
- Unity 2D游戏开发教程之使用脚本实现游戏逻辑
Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态. ...
- Unity 2D游戏开发教程之游戏精灵的开火状态
Unity 2D游戏开发教程之游戏精灵的开火状态 精灵的开火状态 “开火”就是发射子弹的意思,在战争类型的电影或者电视剧中,主角们就爱这么说!本节打算为精灵添加发射子弹的能力.因为本游戏在后面会引入敌 ...
- Unity 2D游戏开发教程之游戏中精灵的跳跃状态
Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却 ...
- Unity 2D游戏开发教程之为游戏场景添加多个地面
Unity 2D游戏开发教程之为游戏场景添加多个地面 为游戏场景添加多个地面 显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的.那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面. ...
- Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...
- unity 2d 游戏优化之路 遇坑记录
情景说明: unity 出的Android包,在目前一些主流机型跑都没有问题,但是在 小米3 这种比较老的机器上跑,报如下错误 GLSL compilation failed, no infolog ...
- unity 2d游戏 按y坐标排序子对象
List<Transform> objs = new List<Transform>(); for (int i = 0; i < transform.childCoun ...
随机推荐
- 带你玩转prefetch, preload, dns-prefetch,defer和async
现代浏览器性能优化-JS篇 众所周知,JS的加载和执行会阻塞浏览器渲染,所以目前业界普遍推荐把script放到</body>之前,以解决js执行时找不到dom等问题.但随着现代浏览器的普及 ...
- SQL Server中如何让SQL语句对字符串大小写敏感
在SQL Server中默认对大小写是不敏感的,例如fname='peter'和fname='PETER'结果是一样的.但有时候用户会要求区分大小写,如验证密码等.这种情况下的处理办法就是在字段后加上 ...
- javaweb之模糊查询
模糊查询,主要通过sql语句来进行查询 一.dao层 加入模糊查询的方法 package dao; import java.sql.Connection; import java.sql.Prepar ...
- Linux安装JDK报错
报错内容: tar (child): jdk-8u141-linux-x64.tar.gz: Cannot open: No such file or directory tar (child): E ...
- Java简单登录图形界面
本文参考与:https://blog.csdn.net/wyf2017/article/details/78831744 https://blog.csdn.net/MengKun822/articl ...
- linux磁盘之lsblk命令
lsblk命令可以显示很多跟磁盘相关分区.所属关系以及lvm的重要信息,所以这个命令最好掌握.lsblk命令默认情况下将以树状列出所有块设备,包括查看磁盘挂载信息.lsblk命令包含在util-lin ...
- Unity中的2D层级显示问题
##1.层级显示 ###使用素材为免费或自制 本文章只用于学习和记录 在Unity2D游戏中可能出现以下情况 贴图的前后关系不正确 可以通过控制图片的层级来解决 本示例中杰西卡和树木都是搭载了图片的空 ...
- zookeeper面试1-9
1.选举机制 SID:服务器ID.用来唯一标识一台ZooKeeper集群中的机器,每台机器不能重复,和myid一致. ZXID:事务ID.ZXID是一个事务ID,用来标识一次服务器状态的变更.在某一时 ...
- Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.多组织共同运行维护Orderer服务中,我们已经完成了让普通组织运行维护 Orderer 服务,但是 ...
- Hyperledger Fabric 部署在多个主机上
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council ...