一.界面基本操作

01.Project基本分类
【Audios】音效
【Material】材质
【Prefabs】预制
【Scenes】场景
【Scripts】脚本
【Sprites】精灵

02.Project丶图片属性
——Inspector
————Texture Type
——————Sprite(2D and UI) 因为该项目是2D小游戏,所以选择2D andUI
————Sprite Mod
————PackingTag
————Pixels Per Unit 图片放置比例,一百像素游戏中为一米
————Pivot

03.Project丶物品属性
tag 标签
layer 操作图层(可以自定义添加)
Sortinglayers 排序图层
Order in Layer 图层中排序(数字越大显示在前面)

04.Edit丶project settings 项目设置
一些通用属性的设置如输入键

05.Layers 显示图层
(界面右上角)
Layers 点击要锁住的图层的锁,锁住不可选

0.6 组件
【Box collider 2D】碰撞检测
Size 范围大小,与物体吻合
会与其他collider 2D发生碰撞

【Rigidbody 2D】刚体
给予物体运动属性

【Audio Source】音效
音效播放控制

二.代码

键盘输入:
public KeyCode upKey;
//声明使用键盘输入,upKey具体键位需U3D中指向
if(Input.GetKey(upKey)){}
//判断是否按下

Input.GetKey //按下触发
Input.GetKeyDown //按下只触发一次
Input.GetKeyUp //弹起触发

刚体组件:
private Rigidbody2D rigidbody2D;
void Start() {
rigidbody2D = GetComponent<Rigidbody2D>();

//指定实例

rigidbody2D.velocity = new Vector2(speed,speed);

//改变刚体速度,创建并调用二维空间数
}

碰撞检测:
void OnCollisionEnter2D(Collision2D col){
if (col.collider.tag == "Player") {

//二维数组改变刚体速度

//标签的运用

寻找物体:
private BoxCollider2D rightWall;
rightWall = transform.Find("rightWall").GetComponent<BoxCollider2D>();

地址转化:
Vector3 tempPosition
= Camera.main.ScreenToWorldPoint(
new Vector2(Screen.width, Screen.height));
//界面顶点是左下角,所以Screen.width, Screen.height是右上角
//Camera.main顶点是中心,所以右上角相当于界面长或宽的一半

地址生成:
upWall.transform.position = new Vector3(0, tempPosition.y+0.5f, 0);
upWall.size = new Vector2(tempPosition.x * 2, 1);
//upWall是collider2D组件

调用他类:
public class GameManager : MonoBehaviour {
private static GameManager _instance;
public static GameManager Instance
{
get
{
return _instance;
}
}
void Awake()
{
_instance = this;
}

GameManager.Instance.ChangeScore(col.gameObject.name);
//外界调用

GameObject.Find("ping-pong ball").SendMessage("Reset");
//发送信息

运行跟踪:
Debug.Log(rigidbody2D.velocity);

界面UI:
public Text score1Text;
public Text score2Text;
public void ChangeScore(string wallName)
{
if (wallName == "leftWall")

{
score1++;
}
else if (wallName == "rightWall")

{
score2++;
}

score1Text.text = score1.ToString();
score2Text.text = score2.ToString();

//数据更新
}

音效:
private AudioSource audio;
void Start()
{
audio = GetComponent<AudioSource>();
}
void OnCollisionEnter2D()

//碰撞时触发
{
audio.pitch = Random.Range(0.8f, 1.2f);

//随机播放时长
audio.Play();
}

游戏发布:
场景拖拽过去
ico图标
Default is Full Screen 默认全屏
Display Resolution Dialog 选择分辨率
Splash Image 开始logo

【SIKIA计划】_05_Unity5.3开发2D游戏笔记的更多相关文章

  1. Atitit 开发2d游戏的技术选型attilax总结

    Atitit 开发2d游戏的技术选型attilax总结 1.1. 跨平台跨平台:一定要使用跨平台的gui技术,目前最好的就是h5(canvas,webgl,dom) +js了..1 1.2. 游戏前后 ...

  2. Siki_Unity_1-8_使用Unity开发2D游戏_PongGame

    Unity 1-8 使用Unity开发2D游戏 PongGame 任务1:演示 http://pan.baidu.com/s/1pKUHsev; up2i 任务2:案例介绍 创建PongGame,注意 ...

  3. Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节

    声明:   本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...

  4. UWP简单示例(三):快速开发2D游戏引擎

    准备 IDE:VisualStudio 2015 Language:VB.NET/C# 图形API:Win2D MSDN教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面 ...

  5. UWP简单示例(三):快速开发2D游戏引擎

    准备 IDE:Visual Studio 图形 API:Win2D MSDN 教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面你需要考虑图形.输入和网络 以及相对独立的 ...

  6. 【SIKIA计划】_10_Unity5.1UI系统-UGUI笔记

    Canvas——TextEventSystem 事件系统 0.滚动文本列表(隐藏背景)/Scroll/maskimage[Scroll Rect][Mask]——text(拉伸到显示全部)Scroll ...

  7. 【SIKIA计划】_11_Unity动画插件-DOTween笔记

    [插值移动]using DG.Tweening;public class GetStart:MomoBehaviour{ public Vector3 myValue = new Vector3(0, ...

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

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

  9. 【使用Unity开发Windows Phone上的2D游戏】(1)千里之行始于足下

    写在前面的 其实这个名字起得不太欠当,Unity本身是很强大的工具,可以部署到很多个平台,而不仅仅是可以开发Windows Phone上的游戏. 只不过本人是Windows Phone 应用开发出身, ...

随机推荐

  1. 【笔记】python的sqlalchemy数据库连接池原理的说明

    sqlalchemy数据库连接池的使用方式是延迟初始化,就是说一开始你调用create_engine(...)后创建的那个数据库池是空的,你后面通过session.connection()或者engi ...

  2. 初探tp

    现在对前端的要求越来越高了  基本上身为一个前端人员需要会一种后台语言,于是选择了当下流行的php.因为是自学对我这个不怎么懂代码的人来说还是有点难度的. 1.先看看thinkphp的目录结构 1 ├ ...

  3. 【CodeChef】Prime Distance On Tree

    vjudge 给定一棵边长都是\(1\)的树,求有多少条路径长度为质数 树上路径自然是点分治去搞,但是发现要求是长度为质数,总不能对每一个质数都判断一遍吧 自然是不行的,这个东西显然是一个卷积,我们合 ...

  4. 10分钟安装OpenStack

    1 OpenStack初学者的苦恼 2 OpenStack最低配置要求 3 配置UOS环境 3.1 设置网络 3.1.1 创建路由器 3.1.2 创建网络 3.1.3 创建两个子网 3.2 创建UOS ...

  5. Service通信

    1.简介 Service通信是双向的, 它不仅可以发送消息, 同时还会有反馈. 所以service包括两部分, 一部分是请求方( Clinet) , 另一部分是应答方/服务提供方( Server) . ...

  6. Python学习笔记系列——函数

    今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...

  7. 谈谈我的js学习过程(二)——“Hello World!”

    在<谈谈我的js学习过程(一)>中,我简单聊了一下我认为的javascript的学习方法,接下来我们可以尝试来写一个最简单的js代码. "Hello World!"对于 ...

  8. summery 总结篇 访问对象属性的方法

    访问一个对象的属性有两种方法: (1),通过“.”来访问:object.propertyName; (2),通过[]来访问:object[propertyName]; 访问一个对象的方法只能通过“.” ...

  9. JS控制上传文件个数

    <html><body>    <h3>js控制文件上传数量</h3>    <form action="" enctype= ...

  10. C++程序设计入门 之常量学习

    常量: 常量的定义格式:const datatype CONSTANTNAME = VALUE 常量的命名规范:符号常量(包括枚举值)必须全部大写并用下划线分隔单词 例如:MAX_ITERATIONS ...