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

简介:

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

一、看一下整体的效果图

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

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

SouthEast

SouthEast

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

二、详细制作过程

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

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


SouthEast

SouthEast

2.制作序列帧动画

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

SouthEast


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

SouthEast

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

SouthEast

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

3.创建动画精灵

在Hierarchy面板中->Create tk2d->Sprite With Animation
SouthEast
命名为AnimatedDragonSprite,找到tk2dSpriteAnimator组件,修改AnimLib,选择刚刚创建的动画
SouthEast
然后我们运行一下,会发现Game面板中就会出现一个不断抖动翅膀的小龙,真的好萌,哇咔咔!截图我就不截了,跟上面效果图一样。

三、背景的无限循环滚动

在2d游戏制作中,你会发现一个规律,一般就是主角精灵都是固定在屏幕的某个位置,但还会让你感觉它在动,因为这是视觉视差,其实动的是背景然你感觉是主角精灵在动,2d游戏制作巧妙的应用了这一点,这就是物理学上的相对运动。
原理就是一张相同的图片,我们拷贝一份,将两个粘连在一起摆放,其中的一个图片正好作为整个屏幕的背景,另外一个正好处于刚要进入的区域,然后当第一张刚好要离开屏幕的时候,然后更改到右边第二张,这样循环往返就能实现效果。
直接贴代码:
[csharp] view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. publicfloat speed;  

  2. privatefloat movespeed;  

  3. publicfloat minPositionX;  

  4. publicfloat terPositionX;  

  5. // Use this for initialization

  6. void Start () {  

  7. }  

  8. // Update is called once per frame

  9. void Update () {  

  10.       movespeed = speed * Time.deltaTime;  

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

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

  13.       {  

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

  15.       }  

  16. }  


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

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

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



















本文转蓬莱仙羽 51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1367893,如需转载请自行联系原作者

相关文章
|
传感器 开发工具 vr&ar
ManoMotion⭐二、Unity手势识别插件简介,及效果录屏
ManoMotion⭐二、Unity手势识别插件简介,及效果录屏
|
开发工具 图形学
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
2944 0
|
图形学
【推荐100个unity插件之9】分享几个完全免费的2D角色动画生成器(推荐收藏)
【推荐100个unity插件之9】分享几个完全免费的2D角色动画生成器(推荐收藏)
1846 0
|
前端开发 Linux API
【推荐100个unity插件之8】实现多人在线联机游戏——Mirror插件的使用介绍(附项目源码)
【推荐100个unity插件之8】实现多人在线联机游戏——Mirror插件的使用介绍(附项目源码)
5887 0
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
1911 0
|
数据可视化 大数据 API
【推荐100个unity插件之22】基于UGUI的功能强大的简单易用的Unity数据可视化图表插件——XCharts3.0插件的使用
【推荐100个unity插件之22】基于UGUI的功能强大的简单易用的Unity数据可视化图表插件——XCharts3.0插件的使用
1736 0
|
自然语言处理 搜索推荐 API
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
【推荐100个unity插件之21】unity实现多语言切换功能——Localization插件的使用
1789 0
|
JSON 开发框架 API
【推荐100个unity插件之20】一个强大的JSON处理库——Newtonsoft.Json(也称为Json.NET)
【推荐100个unity插件之20】一个强大的JSON处理库——Newtonsoft.Json(也称为Json.NET)
2125 0
|
图形学
【推荐100个unity插件之19】武器拖尾特效插件——Pocket RPG Weapon Trails(2d 3d通用)
【推荐100个unity插件之19】武器拖尾特效插件——Pocket RPG Weapon Trails(2d 3d通用)
813 0
|
数据可视化 C# 图形学
【推荐100个unity插件之18】Unity 新版输入系统Input System的基础使用
【推荐100个unity插件之18】Unity 新版输入系统Input System的基础使用
1768 0

热门文章

最新文章