文档章节

[Unity3D插件]2dtoolkit系列二 动画精灵的创建以及背景图的无限滚动

丁小未
 丁小未
发布于 2014/03/05 02:10
字数 1154
阅读 4508
收藏 9

经过昨天2dtoolkit系列教程一的推出,感觉对新手还有有一定的启发作用,引导学习使用unity 2dToolKit插件的使用过程,今天继续系列二——动画精灵的创建,以及背景图的无限循环滚动,在群里总是看到什么技术好,什么技术不好,新手永远迷惑是学C#呢还是学java呢,是cocos2d呢还是unity呢,总想着什么比较火,其实没必要这样,让自己选择两难,每个人都有选择困难症,也不要想一口吃掉一个大饼,想贪图取巧,说不定别人跟你说什么什么技术比较火,但也就是目前,等到你一个新手学成的时候,说不定又被新技术给取代了,只要是IT技术,认准一点学,好好啃精,其实技术都是相同的,重要的学到思想学到解决问题的方法,这个是最重要的!接下来废话少说,继续今天的内容。

一、看一下整体的效果图

由于CSDN不好上传Flash,这也是头疼的一个地方,不像其他博客一样,可以上传flash,展示动态效果,这就上传到百度图库,动态效果图(点击查看),我也截图部分帧图片,看细节会发现一些变化,背景移动了,小龙翅膀晃动了!



看小龙的翅膀和下面小虫的位置移动,这说明背景在动,龙也在动!哇咔咔!

二、详细制作过程

1.准备一系列的序列帧图片

序列帧图片是我们制作动画的一个必备素材,根据系列一教程我们了解了创建精灵集的方法,同样,我们在制作序列帧动画之前还是要先做一个精灵集,将这些序列帧图片放入精灵集中。



2.制作序列帧动画

1.在Assets目录下创建一个Animation的文件夹->右击Create->tk2d->Sprite Animation



2.点击刚刚的DragonAnimation->点击OpenEditor...编辑他的属性


然后添加动画帧图片,制作动画


当创建完所有的动画帧之后,可以点击一下Play看看效果,感觉不错,呵呵!

3.创建动画精灵

在Hierarchy面板中->Create tk2d->Sprite With Animation


命名为AnimatedDragonSprite,找到tk2dSpriteAnimator组件,修改AnimLib,选择刚刚创建的动画


然后我们运行一下,会发现Game面板中就会出现一个不断抖动翅膀的小龙,真的好萌,哇咔咔!截图我就不截了,跟上面效果图一样。

三、背景的无限循环滚动

在2d游戏制作中,你会发现一个规律,一般就是主角精灵都是固定在屏幕的某个位置,但还会让你感觉它在动,因为这是视觉视差,其实动的是背景然你感觉是主角精灵在动,2d游戏制作巧妙的应用了这一点,这就是物理学上的相对运动。

原理就是一张相同的图片,我们拷贝一份,将两个粘连在一起摆放,其中的一个图片正好作为整个屏幕的背景,另外一个正好处于刚要进入的区域,然后当第一张刚好要离开屏幕的时候,然后更改到右边第二张,这样循环往返就能实现效果。

直接贴代码:

[csharp] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1.    public float speed;  

  2.    private float movespeed;  

  3.   

  4.    public float minPositionX;  

  5.    public float terPositionX;  

  6. // Use this for initialization  

  7. void Start () {  

  8.       

  9. }  

  10.   

  11.      

  12. // Update is called once per frame  

  13. void Update () {  

  14.        movespeed = speed * Time.deltaTime;  

  15.        transform.Translate(Vector3.left * movespeed, Space.World); //向左移动  

  16.        if (transform.localPosition.x < minPositionX)  

  17.        {  

  18.            transform.localPosition = new Vector3(terPositionX, transform.localPosition.y,transform.localPosition.z);  

  19.        }  

  20. }  


很简单的Code,呵呵,然后将这脚本拖放到背景图中,运行一下就看到背景无限滚动了!

沉浸在写博客中,不知不觉又到了凌晨两点,我很享受这样的过程,与人分享,让学习不再困难,貌似我适合写书的岗位,哇咔咔,希望有哪天能出版自己的书籍!这是一个梦,当然最近也有给我提供图书编辑的岗位,但还是享受现在这过程,充实每一天,呵呵!改洗洗睡了,明天继续,学习永不止步!

转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/20498037

在线演示:http://114.92.240.43/dingxiaowei/FlappyDragon.html

==================== 迂者 丁小未 CSDN博客专栏=================

MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

Unity QQ群:858550         cocos2dx QQ群:280818155

====================== 相互学习,共同进步 ===================


© 著作权归作者所有

共有 人打赏支持
丁小未
粉丝 7
博文 17
码字总数 24438
作品 0
南通
私信 提问
加载中

评论(1)

孤独的探索号
孤独的探索号
请问speed、minPositionX、terPositionX是在哪赋值的?
[Unity3D插件]2dtoolkit系列二 动画精灵的创建以及背景图的无限滚动

经过昨天2dtoolkit系列教程一的推出,感觉对新手还有有一定的启发作用,引导学习使用unity 2dToolKit插件的使用过程,今天继续系列二——动画精灵的创建,以及背景图的无限循环滚动,在群里总...

蓬莱仙羽
2014/03/05
0
0
[unity3d插件]2dtoolkit系列一 创建精灵

从今天开始要做一个2d游戏,由于之前都是做cocos2dx的,然后接触了一段时间的unity3d,都是做3D方面的东西,得知要做2d游戏还是有点开心的,或许因为不想丢失之前的2d游戏的一些思想,然后接...

丁小未
2014/03/04
0
0
Unity Shader学习记录(八)

Unity Shader学习记录(八)   大部分情况下,Shader的运行过程是与时间无关的静态过程,换句话说游戏进行过程中渲染的结果不会有什么变化;动态光影或许是比较典型的例外,但它们和游戏运...

soul900524
2018/04/13
0
0
精灵动画Animation对话框组成Idle动画的各精灵

精灵动画Animation对话框组成Idle动画的各精灵 1.3 精灵动画 场景中已经添加了精灵,现在是时候让让它动起来了。读者也许已经从精灵图集中,各精灵的命名中看出来了,这个精灵一共有两种动画...

大学霸
2015/01/16
0
0
[Unity3d插件]2dtoolkit系列一 创建精灵

从今天开始要做一个2d游戏,由于之前都是做cocos2dx的,然后接触了一段时间的unity3d,都是做3D方面的东西,得知要做2d游戏还是有点开心的,或许因为不想丢失之前的2d游戏的一些思想,然后接...

蓬莱仙羽
2014/03/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
C++网络编程(一)gRPC的编译

Google是真滴烦,整个编译链全是自家产品,在编译之前先来安装一堆东西 安装环境依赖 chocolatey Windows下的包管理系统,没有他就慢慢去下载下面的一堆乱七八糟的东西吧。CMD下执行下面这句...

Pulsar-V
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0
手机通过wifi遥控arduino

手机下载Blinker 从Blinker官网下载手机App,安装到手机。 手机连接WiFi。 点击我的设备右上角的"+"添加设备,选择Arduino -> wifi接入,复制密钥以备后续使用。 点击新建的设备,可以在新界...

davidwbnu
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部