[unity3d插件]2dtoolkit系列一 创建精灵
从今天开始要做一个2d游戏,由于之前都是做cocos2dx的,然后接触了一段时间的unity3d,都是做3D方面的东西,得知要做2d游戏还是有点开心的,或许因为不想丢失之前的2d游戏的一些思想,然后接触到unity3d的一个2d插件——2dtoolkit,我感觉还是蛮强大的,虽然是一个插件,完全感觉跟cocos2dx引擎有的一比,他们的思想也很类似,我个人感觉有点区别的无非就是unity有丰富的可视化界面,而cocos2dx都是自己代码来布局界面,当然也可以用cocosstudio,可能是我没怎么用过它,所以觉得cocos2dx和unity2dtoolkit还是差不了多少的,在最新的unity4.3加入了uni2d,也是也就是将之前的这个2dtoolkit给加进了unity中,当然cocos2d也会出来cocos3d,这两个游戏引擎都在往对方“领域”相互渗透,当然对我们开发者而已没有多大的影响,这两者的竞争,无非是将自己的引擎做的更完善,做的更好,这都是给我们开发者带来了福音,废话就不多说了,开始今天的学习内容,unity 2dtoolkit的初步使用!
一、系统介绍
2D Toolkit分为两个系统:运行时组件(runtime components)和脚本编辑器。
脚本编辑器在Assets目录下产生资源,运行时脚本在场景中产生objects。
两者关系如下图:
二、重要的术语——精灵
1.精灵:对于熟悉游戏开发的人而言,无论是cocos2dx或者是unity的,精灵是再熟悉不过了,在2d游戏开发中是一个很重要的词汇,说的通俗一点,Sprite也就相当于是一个组件,其中有一个属性就是对应着一个图片,然后我们可以通过控制这个Sprite来控制我们图片的操作,比如缩放移动或者旋转之类的。
三、利用精灵集创建精灵
四、创建普通贴图精灵
五、代码获取精灵并操作精灵
- using UnityEngine;
- using System.Collections;
- public class NewBehaviourScript : MonoBehaviour {
- //创建精灵
- //tk2dSprite sprite;
- // Use this for initialization
- void Start () {
- //可以这样获取精灵
- //sprite = GameObject.Find("Dragon").gameObject.GetComponent<tk2dSprite>();
- //输出精灵的坐标
- //print("x:" + gameObject.transform.localPosition.x + "|y:" + transform.localPosition.y);
- //一开始打印的坐标是x:-1|y:0
- //以下代码可以动态的缩放精灵
- //sprite.scale = new Vector3(xScale, yScale, zScale);
- //以下代码可改变要显示的精灵
- //sprite.spriteId = newSpriteId;
- //以下代码可以得到id
- //sprite.spriteId = sprite.GetSpriteIdByName("Rock");
- }
- void Update()
- {
- //通过键盘控制改变物体颜色的属性
- //if (Input.GetKeyDown(KeyCode.A))
- //{
- // sprite.color = Color.red;
- //}
- //if (Input.GetKeyDown(KeyCode.S))
- //{
- // sprite.color = Color.white;
- //}
- OnMouseDown();
- //下面也可以做一系列的坐标判断来定位精灵移动区域
- }
- //鼠标左击控制主角精灵移动
- IEnumerator OnMouseDown()
- {
- print("MouseDown");
- Vector3 screenPosition = Camera.main.WorldToScreenPoint(transform.position);
- Vector3 mScreenPosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);
- Vector3 offset = transform.position - Camera.main.ScreenToWorldPoint(mScreenPosition);
- //鼠标左击
- while (Input.GetMouseButton(0))
- {
- mScreenPosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);
- Vector3 pos = offset + Camera.main.ScreenToWorldPoint(mScreenPosition);
- pos.z = 0;
- transform.position = pos;
- yield return new WaitForFixedUpdate();
- }
- }
- }
点击屏幕中的小龙精灵,按下鼠标左键然后拖动,会发现它可以移动哦,哇咔咔,感觉真有意思,又回到了之前熟悉的2D,个人感觉unity2d比cocos2d要方便不少,毕竟可视化界面更丰富一点,但目前而言,个人还是cocos稍微熟悉一点,不过没关系,unity是个不错的强大的引擎,慢慢了解,呵呵,不早了,感觉充实的一天!晚上和某人闹矛盾了,小吐槽了一下,为啥QQ没有自动弹出某人信息的功能或者是将某人的聊天框固定在界面上,这样就不会因为回复晚了而闹矛盾了,如果可以,我觉得要向腾讯反应一下,呵呵,希望某人开心起来!
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:858550 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================
[unity3d插件]2dtoolkit系列一 创建精灵的更多相关文章
- [Unity3D插件]2dtoolkit系列二 动画精灵的创建以及背景图的无限滚动
经过昨天2dtoolkit系列教程一的推出,感觉对新手还有有一定的启发作用,引导学习使用unity 2dToolKit插件的使用过程,今天继续系列二——动画精灵的创建,以及背景图的无限循环滚动,在群里 ...
- [Django 1]安装Django并创建虚拟虚拟环境项目
1)安装Django 使用pip来安装,命令如下: pip3 install Djangopip install Django(安装到python2)python3 -m pip install Dj ...
- [Unity3D插件]2dToolKit系列三 碰撞检测功能的实现以及障碍物的随机摆放
貌似有一段时间没更新2dtoolkit系列了,这段时间一直在忙着其他事情,今天开始继续这个插件系列的教程,网上搜索,貌似关于这个插件的教程无非还是跟官方的教程很类似,有的甚至都没有自己照着亲手实践一遍 ...
- Unity3D插件分享
网上看到一个讲unity3D插件的,看着不错,转载过来. 本文汇总了近百个Unity3D插件,供大家参考下载. 2D_Toolkit_1.51 动画开发插件包 FingerGestures 触摸插件 ...
- BlazeMeter发布chrome扩展插件,支持JMeter脚本创建
BlazeMeter发布chrome扩展插件,支持JMeter脚本创建http://www.automationqa.com/forum.php?mod=viewthread&tid=3898 ...
- [saiku] 源码整合[maven整合]
saiku源码的整合分为[普通web项目整合]和[maven整合]两种 本节主要是讲解如何整合为maven项目 转载自:http://blog.csdn.net/gsying1474/article/ ...
- WPF入门教程系列(一) 创建你的第一个WPF项目
WPF入门教程系列(一) 创建你的第一个WPF项目 WPF基础知识 快速学习绝不是从零学起的,良好的基础是快速入手的关键,下面先为大家摞列以下自己总结的学习WPF的几点基础知识: 1) C#基础语法知 ...
- [terry笔记]Oracle会话追踪(二):TKPROF
接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html ...
- [terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046
SQL_TRACE/10046 事件是 Oracle 提供的用于进行 SQL 跟踪的手段,在日常的数据库问题诊断和解决中是非常常用的方法.但其生成的trace文件需要tkprof工具生成一个可供人 ...
随机推荐
- SqlBulkCopy 批量复制数据到数据表
使用 SqlBulkCopy 类只能向 SQL Server 表写入数据.但是,数据源不限于 SQL Server:可以使用任何数据源,只要数据可加载到 DataTable 实例或可使用 IDataR ...
- yum install 安装时报yum doesn't have enough cached data to continue.
yum install 安装时报yum doesn't have enough cached data to continue. 安装epel,yum -y install epel-release后 ...
- ACM/ICPC 之 差分约束系统两道(ZOJ2770-POJ1201)
当对问题建立数学模型后,发现其是一个差分方程组,那么问题可以转换为最短路问题,一下分别选用Bellmanford-SPFA解题 ZOJ2770-Burn the Linked Camp //差分约束方 ...
- Collection、Map、数组 遍历方式
结论:无论是数组还是Collection for each 都是一个非常好的选择 一.for each底层实现 对于Collection,for each是隐式调用Iterator实现的,效率比显示调 ...
- CentOS搭建svn服务器支持https访问
在CentOS6.3 64位机器上配置SVN服务器,并设置只允许HTTPS连接,可以配置多个repos源,每个源都拥有自己的组和成员,用于权限控制. 安装相关软件 Apache yum install ...
- 带中文的路径导致NSURL初始化一直为null的问题
一.问题描述 在学习Ojective-C过程中,需要读取文件中的内容,但发现指针变量url的值一直为nil. 代码如下: NSString *strUrl=@"file:///Users/f ...
- (转)JAVA AJAX教程第三章—AJAX详细讲解
现在开始深入AJAX,这里还是按老思路,理论和实践相结合.这章的内容主要是讲解AJAX步骤详解,下一张将会用一个AJAX技术实现页面提示效果的实例来说明AJAX的实现. 一.AJAX步骤详解 AJAX ...
- HDU 5898 odd-even number (数位DP) -2016 ICPC沈阳赛区网络赛
题目链接 题意:一个数字,它每个数位上的奇数都形成偶数长度的段,偶数位都形成奇数长度的段他就是好的.问[L , R]的好数个数. 题解:裸的数位dp, 从高到低考虑每个数位, 状态里存下到当前位为止的 ...
- Sqlserver 创建到sqlserver 的链接服务器
exec sp_addlinkedserver 'SN_MASTER_SRV', '', 'SQLOLEDB ', '129.223.252.173' exec sp_addlinkedsrvlogi ...
- Gif图片制作
gif图片是博客中展示项目效果的一种很好的方式,为我们的app制作一张gif图片并不复杂,录制屏幕采用系统自带的QuickTime Player,制作gif采用PicGIF软件.licecap软件更是 ...