【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 应用开发出身, ...
随机推荐
- SPL 笔记
PHP SPL是指 standard php library,php标准库. SPL提供了一系列的类和接口,使用这些类和接口,我们可以更加高效.优雅的使用php进行程序设计. 从php5.0开 ...
- IntelliJ 禁用 Search Everywhere
发现自: https://youtrack.jetbrains.com/issue/IDEA-114933#comment=27-603899 Open lib/resources.jar/idea/ ...
- MyEclipse10.6 myeclipse2013下添加jadClipse反编译插件 .
jad是一个使用比较广泛的Java反编译软件,jadClipse是jad在eclipse下的插件,下面像大家介绍下如何将jadclipse加入到MyEclipse10.X,9.X,8.X,6.X等各版 ...
- tomcat 开启远程debug
修改 tomcat 目录下 /bin/catelina.sh # execution immediately after startup. Default is ...
- 学习Android之SimpleAdapter显示网络图片
效果图: 此程序基本的知识点是:SimpleAdapter本身是不支持网络图片的, 假设在Map.put(a,b)中 b为一个Bitmap,程序不会报红色字体,而是在控制台输出绿色的字体,例如以下 0 ...
- [SDOI2014]LIS
这道题还是非常好的 首先第一问可以让我们联想到某网络流二十四题里的一道题,发现建图方式应该和这道题差不多啊 所以首先跑一遍\(dp\),求出\(dp[i]\)表示\(i\)位置结束的\(LIS\)长度 ...
- ElasticSearch 获取es信息以及索引操作
检查集群的健康情况 GET /_cat/health?v green:每个索引的primary shard和replica shard都是active状态的yellow:每个索引的primary sh ...
- Python的编码注释【转】
格式有多种,但必须有coding:[编码]或者coding=[编码],如: # -*- coding:utf-8 -*- # coding:utf-8 # coding=utf-8 转自:https ...
- C语言程序设计I—第三周教学
由于本课程是从教学周的第二周开始上课,所以第二次授课是发生在第三周,为了让PTA.云班课和博客能统一,所以将教学周作为随笔的标题.本周由于处理外聘教师随意退课等事情,总结有些延后了. 第三周教学安排 ...
- 关于Android
1:Handle与多线程 Handle是什么?官方说明:handle是Android给我们提供用来更新UI的一套机制,也是一套消息处理的机制.可以看出handle主要就是两个功能,一个是更新UI,另一 ...