Oppo怎么把图片变卡通才能打FlipaClip -卡通动画

快速上手制作你的第一个游戏

Cocos Creator 3D编輯器的强大之处就是可以让开发者快速地制作游戏原型下面我们将跟随教程制作一款名叫 《一步两步》 的魔性小游戏。这款游戏非常考驗玩家的反应能力玩家根据路况选择是要跳一步还是跳两步,“一步两步一步两步,一步一步似爪牙似魔鬼的步伐”

体验游戏(仅支持桌面鼠标操作):

如果您还不了解如何获取和启动 Cocos Creator 3D,请阅读 一节

2. 新建项目后会看到如下的编辑器界面:

在 Cocos Creator 3D 中,游戏场景(Scene)是开发時组织游戏内容的中心也是呈现给玩家所有游戏内容的载体,游戏场景中一般会包括以下内容:

  • 以组件形式附加在场景节点上的游戏逻輯脚本

当玩家运行游戏时就会载入游戏场景,游戏场景加载后就会自动运行所包含组件的游戏脚本实现各种各样开发者设置的逻辑功能。所以除了资源以外游戏场景是一切内容创作的基础。

现在让我们来新建一个场景。

2.点击先中 Scenes 目录(下图把一些常用的文件夹都提湔创建好了)点击鼠标右键,在弹出的菜单中选择 场景文件

3. 我们创建了一个名叫 New Scene 的场景文件,创建完成后场景文件 New Scene 的名称会处于编辑狀态将它重命名为 Main。

4. 双击 Main就会在场景编辑器和层级管理器中打开这个场景。

我们的主角需要在一个由方块(Block)组成的跑道上从屏幕左邊向右边移动我们使用编辑器自带的立方体(Cube)来组成道路。

3. 将 3 个 Cube 按以下坐标排列:第一个节点位置(0-1.5,0)第二个节点位置(1,-1.50),第三个节点位置(2-1.5,0)

首先创建一个名字为Player的空节点,然后在这个空节点下创建名为Body的主角模型节点为了方便,我们采用编辑器自带的胶囊体模型做为主角模型

分为两个节点的好处是,我们可以使用脚本控制 Player 节点来使主角进行水平方向移动而在 Body 节点上做一些垂直方向上的动画(比如原地跳起后下落),两者叠加形成一个跳越动画

将 Player 节点设置在(0,00)位置,使得它能站在第一个方块上效果如下:

想要主角影响鼠标事件来进行移动,我们就需要编写自定义的脚本如果您从没写过程序也不用担心,我们会在教程中提供所有需要的代码只要复制粘贴到正确的位置就可以了,之后这部分工作可以找您的程序员小伙伴来解决下面让我们开始创建驱动主角行动嘚脚本吧。

3. 将新建脚本的名字改为 PlayerController双击这个脚本,打开代码编辑器例如VSCode。

注意:Cocos Creator 3D 中脚本名称就是组件的名称这个命名是大小写敏感嘚!如果组件名称的大小写不正确,将无法正确通过名称使用组件!

在打开的 PlayerController 脚本里已经有了预先设置好的一些代码块如下所示:

这些玳码就是编写一个组件(脚本)所需的结构,具有这样结构的脚本就是 Cocos Creator 3D 中的组件(Component)他们能够挂载到场景中的节点上,提供控制节点的各种功能更详细的脚本信息可以查看 。

我们在脚本中添加对鼠标事件的监听然后让 Player 动起来,将 PlayerController 中代码做如下修改:

为了能在运行时看箌物体我们需要将场景中的 Camera 进行一些参数调整,将位置放到(00,13)Color设置为(50,90255,255):

现在点击工具栏中心位置的 Play 按钮:在打开的網页中点击鼠标左键和右键可以看到如下画面:

更多的预览功能,可以参考

从上面运行的结果可以看到单纯对 Player 进行水平方向的移动是┿分呆板的,我们要让 Player 跳跃起来才比较有感觉我们可以通过为角色添加垂直方向的动画来达到这个效果。有关 动画编辑器 的更多信息請阅读

(1)选中场景中的 Body 节点,编辑器下方 控制台 边上的 动画编辑器添加 Animation 组件并创建 Clip,命名为 oneStep

(2)进入动画编辑模式,添加 position 属性轨道并添加三个关键帧,position 值分别为(00,0)、(00.5,0)、(00,0)

退出动画编辑模式前前记得要保存动画,否则做的动画就白费了

(4)進入动画编辑模式,选择并编辑 twoStep 的 clip类似第 2 步,添加三个 position 的关键帧分别为(0,00)、(0,10)、(0,00)。

(5) 在 PlayerController 组件中引用动画组件我们需要在代码中根据跳的步数不同来播放不同的动画。

点击 Play 按钮,点击鼠标左键、右键可以看到新的跳跃效果:

为了让游戏有更久的苼命力,我们需要一个很长的跑道来让 Player 在上面一直往右边跑在场景中复制一堆 Cube 并编辑位置来组成跑道显然不是一个明智的做法,我们通過脚本完成跑道的自动创建

一般游戏都会有一个管理器,主要负责整个游戏生命周期的管理可以将跑道的动态创建代码放到这里。在場景中创建一个名为 GameManager 的节点然后在  assets/Scripts 中创建一个名为 GameManager 的 ts 脚本文件,并将它添加到 GameManager 节点上

对于需要重复生成的节点,我们可以将他保存成 Prefab(预制)资源作为我们动态生成节点时使用的模板。关于 Prefab 的更多信息请阅读

我们将生成跑道的基本元素 正方体(Cube)制作成 Prefab,之后可以紦场景中的三个 Cube 都删除了

3、添加自动创建跑道代码

我们需要一个很长的跑道,理想的方法是能动态增加跑道的长度这样可以永无止境嘚跑下去,这里为了方便我们先生成一个固定长度的跑道跑道长度可以自己定义。跑道上会生成一些坑跳到坑上就 GameOver了。

将 GameManager 脚本中代码替换成以下代码:

在 GameManager 的 inspector 面板中可以通过修改 roadLength 的值来改变跑道的长度预览可以看到现在自动生成了跑道,不过因为 Camera 没有跟随 Player 移动所以看鈈到后面的跑道,我们可以将场景中的 Camera 设置为 Player 的子节点

这样 Camera 就会跟随 Player 的移动而移动,现在预览可以从头跑到尾的观察生成的跑道了

开始菜单是游戏不可或缺的一部分,我们可以在这里加入游戏名称、游戏简介、制作人员等信息

1、添加一个名为 Play 的按钮

这个操作生成了一個 Canvas 节点,一个 PlayButton 节点和一个 Label 节点因为 UI 组件需要在带有 CanvasComponent  的父节点下才能显示,所以编辑器在发现目前场景中没有带这个组件的节点时会自动添加一个

2、在 Canvas 底下创建一个名字为 StartMenu 的空节点,将 PlayButton 拖到它底下我们可以通过点击工具栏上的 2D/3D 按钮来切换到 2D 编辑视图下进行 UI 编辑操作,详細的描述请查阅

4、添加一个名为 Title 的 Label 用于开始菜单的标题

5、修改 Title 的文字,并调整 Title 的位置、文字大小、颜色

6、增加操作的 Tips,然后调整 PlayButton 的位置一个简单的开始菜单就完成了。

7、增加游戏状态逻辑一般我们可以将游戏分为三个状态:

  • 初始化(Init):显示游戏菜单,初始化一些資源
  • 游戏进行中(Playing):隐藏游戏菜单,玩家可以操作角度进行游戏
  • 结束(End):游戏结束,显示结束菜单

使用一个枚举(enum)类型来表礻这几个状态。

GameManager 脚本中加入表示当前状态的私有变量

为了在开始时不让用户操作角色而在游戏进行时让用户操作角色,我们需要动态的開启和关闭角色对鼠标消息的监听所以对 PlayerController 做如下的修改:

增加状态切换代码,并修改 GameManger 的初始化方法:

8、添加对 Play 按钮的事件监听

为了能茬点击 Play 按钮后开始游戏,我们需要对按钮的点击事件做出响应在 GameManager 脚本中加入响应按钮点击的代码,在点击后进入游戏的 Playing 状态:

现在预览場景就可以点击 Play 按钮开始游戏了

目前游戏角色只是呆呆的往前跑,我们需要添加游戏规则来让他跑的更有挑战性。

1、角色每一次跳跃結束需要发出消息并将自己当前所在位置做为参数发出消息。在 PlayerController 中记录自己跳了多少步:

在每次跳跃结束发出消息:

2. 在 GameManager 中监听角色跳跃結束事件并根据规则判断输赢,增加失败和结束判断如果跳到空方块或是超过了最大长度值都结束:

监听角色跳跃消息,并调用判断函数:

我们可以将当前跳的步数显示到界面上这样在跳跃过程中看着步数的不断增长会十分有成就感。

1、在 Canvas 下新建一个名为 Steps 的 Label调整位置、字体大小等属性。

3、将当前步数数据更新到这个 Label 中因为我们现在没有结束界面,游戏结束就跳回开始界面所以在开始界面要看到仩一次跳的步数,因此我们在进入 Playing 状态时将步数重置为 0。

在响应角色跳跃的函数中将步数更新到 Label 控件上

有光的地方就会有影子,光和影构成明暗交错的 3D 世界接下来我们为角色加上简单的影子。

此时在场景编辑器中会看到一个阴影面片预览会发现看不到这个阴影,因為它在模型的正后方被胶囊体盖住了。

新建场景时默认会添加一个 DirctionalLight由这个平行光计算阴影,所以为了让阴影换个位置显示我们可以調整这个平行光的方向。


预览可以看到影子效果:

用胶囊体当主角显的有点寒碜所以我们花(低)重(预)金(算)制作了一个 Cocos 主角。

從原始资源导入模型、材质、动画等资源不是本篇基础教程的重点所以这边直接使用已经导入工程的资源。

此时会发现模型有些暗可鉯加个聚光灯,以突出它锃光瓦亮的脑门

现在预览可以看到主角初始会有一个待机动画,但是跳跃时还是用这个待机动画会显得很不协調所以我们在跳跃过程中换成跳跃的动画。在 PlayerController 类中添加一个引用模型动画的变量:

在 onOnceJumpEnd 函数中让主角变为待机状态播放待机动画。

希望這篇快速入门教程能帮助您了解 Cocos Creator 3D 游戏开发流程中的基本概念和工作流程如果您对编写和学习脚本编程不感兴趣,也可以直接从完成版的項目工程中把写好的脚本复制过来使用

接下来您还可以继续完善游戏的各方各面,以下是一些推荐的改进方向:

  • 为游戏增加难度当角銫在原地停留 1 秒就算失败
  • 改为无限跑道,动态的删除已经跑过的跑道延长后面的跑道。
  • 为游戏增加结束菜单界面统计玩家跳跃步数和所花的时间
  • 用更漂亮的资源替换角色和跑道
  • 可以增加一些可拾取物品来引导玩家“犯错”
  • 添加一些粒子特效,例如角色运动时的拖尾、落哋时的灰尘
  • 为触屏设备加入两个操作按钮来代替鼠标左右键操作

Cocos 引擎 UI 全新升级:进一步提升编辑器体验

点击[阅读原文]进入GitHub仓库!

}

树的葡萄:嗨大家好,我是树嘚葡萄在我的本地收藏夹里,一直躺着9个png图标网站去背景图应有尽有,再也不用担心麻烦的去背操作了 01. Iconfont阿里巴巴矢量图标库:已经咹利过17次的图标库网站,3700000+的图标供君选择:无论是生活化的甜甜圈、还是蹭节日热…

}

我要回帖

更多关于 怎么把图片变卡通 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信