【SIKIA计划】_05_Unity5.3开发2D游戏笔记
一.界面基本操作
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游戏笔记的更多相关文章
- Atitit 开发2d游戏的技术选型attilax总结
Atitit 开发2d游戏的技术选型attilax总结 1.1. 跨平台跨平台:一定要使用跨平台的gui技术,目前最好的就是h5(canvas,webgl,dom) +js了..1 1.2. 游戏前后 ...
- Siki_Unity_1-8_使用Unity开发2D游戏_PongGame
Unity 1-8 使用Unity开发2D游戏 PongGame 任务1:演示 http://pan.baidu.com/s/1pKUHsev; up2i 任务2:案例介绍 创建PongGame,注意 ...
- Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
声明: 本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...
- UWP简单示例(三):快速开发2D游戏引擎
准备 IDE:VisualStudio 2015 Language:VB.NET/C# 图形API:Win2D MSDN教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面 ...
- UWP简单示例(三):快速开发2D游戏引擎
准备 IDE:Visual Studio 图形 API:Win2D MSDN 教程:UWP游戏开发 游戏开发涉及哪些技术? 游戏开发是一门复杂的艺术,编码方面你需要考虑图形.输入和网络 以及相对独立的 ...
- 【SIKIA计划】_10_Unity5.1UI系统-UGUI笔记
Canvas——TextEventSystem 事件系统 0.滚动文本列表(隐藏背景)/Scroll/maskimage[Scroll Rect][Mask]——text(拉伸到显示全部)Scroll ...
- 【SIKIA计划】_11_Unity动画插件-DOTween笔记
[插值移动]using DG.Tweening;public class GetStart:MomoBehaviour{ public Vector3 myValue = new Vector3(0, ...
- Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...
- 【使用Unity开发Windows Phone上的2D游戏】(1)千里之行始于足下
写在前面的 其实这个名字起得不太欠当,Unity本身是很强大的工具,可以部署到很多个平台,而不仅仅是可以开发Windows Phone上的游戏. 只不过本人是Windows Phone 应用开发出身, ...
随机推荐
- JPA规范实现
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. JPA 是 JCP定义的一种规范,要使用此规 ...
- 【洛谷】【堆+模拟】P2278 操作系统
from HNOI2003 [题目描述:] 写一个程序来模拟操作系统的进程调度.假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的.其中运行优先级用自然数表示,数字越大,则 ...
- 3192: [JLOI2013]删除物品
3192: [JLOI2013]删除物品 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1366 Solved: 794 [Submit][Statu ...
- 【转】彻底理解android中的内部存储与外部存储
我们先来考虑这样一个问题: 打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的 ...
- Hadoop学习之路(十四)MapReduce的核心运行机制
概述 一个完整的 MapReduce 程序在分布式运行时有两类实例进程: 1.MRAppMaster:负责整个程序的过程调度及状态协调 2.Yarnchild:负责 map 阶段的整个数据处理流程 3 ...
- webapi中使用swagger
net WebApi中使用swagger 我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一 ...
- hdfs的java接口简单示例
public class HDFSDemo { private FileSystem fs = null; @Before public void init() throws IOException, ...
- UNIX网络编程 卷2 源代码使用
1. 下载源码,W. Richard Stevens的主页:http://www.kohala.com/start/ wget http://www.kohala.com/start/unpv22e/ ...
- Linux文件系统测试工具
一.文件系统测试工具简介 1.LTP 参考网站:http://oss.sgi.com/projects/ltp/ LTP(Linux Test Project)是由SGI和IBM联合发起的项目,提供一 ...
- iOS 判断两个颜色是否相同
今天做项目的时候,遇到一个小问题,就是获取UIButton的背景颜色用来和已知颜色做对比,进行点击事件.去查了下文档,有个方法正好可以处理这个问题. bool CGColorEqualToColor ...