Cocos Creator 3.x开发《切水果3D》
今天跟大家分享一个Cocos Creator 3D切水果的实战案例,帮助大家掌握Cocos Creator开发3D微信抖音小游戏,开发工具我们采用的是Cocos Creator 3.6。先上一波游戏操作效果图,接下来通过本文来讲解这个游戏的一些核心的技术点。
对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。
游戏项目资源准备
我们刚开始做项目的时候,首先要准备好项目的资源,一个游戏项目包含的资源大致分为:3D场景, 3D角色,3D粒子与特效, 游戏音乐音效,2D UI界面, 游戏数据配置表等。我们把资源分类放好到资源包里面,如图:
资源包按照类别分类进行放好,项目的目录结构会非常的清晰。同时我们把游戏场景,3D模型,2D UI,都通过编辑器做成一个一个的预制体。如下图所示的水果的预制体:
每个水果的结果都类似,如下图榴莲这个水果, 根节点durain下面durain01, durain02两个节点,这两个节点分别表示水果切开后的两个模型节点,另外一个子durain节点是整体的水果的节点。西瓜也类似,每个水果有三个子节点(切开后左边模型节点,切开后右边模型节点,完整的水果节点)。
当水果被切开以后,隐藏掉全节点,显示两个左右半边水果节点,然后左右的水果节点各自运动。《切水果》的3D场景非常简单,就是一个摄像机+3D背景。如图:
UI资源,都根据游戏的设计,做成一个一个的预制体,如下图:
(注:需要资源的同学可以关注我们,领取!)
《切水果3D》的关卡设计与配置表
资源介绍完成以后,就是关卡设计与配置表,水果如何出,有哪些类型,这些不可能用代码写死,所以我们给策划提供了一个关卡配置表,同时每种水果以及相关的数据都会有配置表,在代码种我们做如下两个配置表,如下:
Fragment.csv 配置表:描述了水果的生成逻辑,包括生成的时间间隔,生成的方向,初始的力,水果的大小等,表格头如下:
根据难度登记分成了一些操作,然后先易后难的根据难度来生成对应的水果与操作,这样,越到后面难度越大。
fruit.csv配置表:每个水果的数值描述表,描述了每个水果的属性特征,代码里面读取每个水果的属性特征后,根据这些特征来生成对应的水果实例。
当我们要生成1001的水果的时候,我们从ID 1001,知道它是西瓜,对应的预制体是watermelon。这样就可以根据这条信息把对应的水果创建出来。
核心实现:生成水果与抛出水果
在这个项目种的一个核心的实现就是生成水果与抛出水果,我们先来看生成水果,我们做一个GameMgr的脚本用来管理整个《切水果》的逻辑。GameMgr读取配置Fragment中的数据,根据这个数据来生成水果,代码如下:
接下来我们看CreateFruitWithConfig函数, 如何来创建一个水果物体,代码如下:
节点创建出来以后,根据水果配置的参数,来设置具体水果的位置等信息,我们来看下ResetFruit函数代码如下:
水果的抛物线运动控制
接下来我们来分析一下水果的抛物线运动控制,我们基于Update来迭代抛物线运动,根据我们配置表中的力的大小与方向来做抛物线,设置要给重力加速度,然后x, y上分别迭代,代码如下:
运动过程中,习惯还要旋转,所以不仅要有位移,还要有旋转,我们给水果一个速度wSpeed。让他围绕z轴旋转,代码如下:
今天的分享就到这里了,关注我,可以获取教程的项目源码。
Cocos Creator 3.x开发《切水果3D》相关推荐
- cocos creator周边工具开发【spine预览】小记
cocos creator周边工具开发[spine预览]小记 前言 在工作加班之余用ccc开发了一个丑陋的spine动效预览工具,目前只支持window上运行: 在n个版本的更新和需求下暂时算开发完成 ...
- Cocos Creator 3.0 入门 ! 2D 素材 3D 效果!
用 2D 素材实现 3D 效果! 前言 好久没写教程笔记了,不知大伙是否想念教程干货了? 温馨提示:所有内容纯属个人瞎玩研究,如要上线项目,请自行评估~ oh 最近逛论坛,看到有一位小伙伴想实现下面这 ...
- Cocos Creator:快速开发推箱子游戏
本文首发于公众号: 一枚小工(caizj_cn) Cocos 已获得转载授权! 作者:蒲公英,开发工程师,7 年 Cocos 引擎使用经验. 游戏总共分为 4 个功能模块: 开始游戏(menuLaye ...
- cocos creator组件化开发 对比 cocos studio +cocos2dx开发
相对于使用cocos studio + cocos2dx开发模式,使用cocos creator的组件化开发更为高效和简洁 以按钮myButton节点的点击音效为例: 1:cocos studio + ...
- cocos creator + Matchvs游戏开发攻略(1) - 创建游戏
本人用的游戏引擎为cocos creator 2.x 版本,gameServer语言使用nodejs. 第一步再cocos 官网控制台创建游戏 填写游戏信息添加游戏图标点击创建按钮创建游戏 创建成功后 ...
- 基于Cocos Creator的水果忍者游戏
基于cocos creater的水果忍者游戏 项目介绍 主界面 游戏界面 游戏详情界面 水果运动界面 刀片切割界面 游戏结束界面 下载方式 项目介绍 互联网技术不断革新,用户对于应用的要求在不断提高, ...
- Cocos Creator 开发入门
Cocos Creator 开发入门 H5小游戏,基本都是用的Cocos Creator和LayaBox,egret 这三款引擎IDE. Cocos Creator官网:https://www.coc ...
- 【Cocos Creator 游戏开发】开发日志-前言
启 断断续续三四年,每年也只看一点点Cocos Creator的知识点.正好最近想用其他的东西填满自己的思绪,就开始深入研究基于Cocos Creator的游戏开发吧. 念 个人对3D游戏开发不太熟悉 ...
- Cocos Creator 3.0 教程! 标志板! Billboard !
用2D素材节省包体!节约性能! 前言 标志板是什么呢? billboard 英文翻译为广告牌,标志板和广告牌肯定会有不可告人的联系! 广告牌的使命是什么?就是无论你在哪里,都要让你看到! 标志板也是这 ...
最新文章
- 将LSTM与word2vec结合实现中文自动写作
- uart口图片_认识UART接口
- nginx 的upstream流程是怎样在CONTENT阶段执行的
- php mail函数 附件,[php]mail函数发送邮件(正文+附件+中文)
- 主机开启修改BOOT-----支持KVM
- search strategies
- ActiveMQ集群
- dojo中的this.own()
- poj 2528 Mayor's posters(线段树+离散化)
- Linux的gcc编译器下载,gcc编译器下载
- 解决librdkafka 报WARN:Protocol read buffer underflow
- 剑指offer面试题24. 反转链表(双指针)
- HTML中可伸缩容器怎么设置,CSS布局神器——伸缩盒(语法篇)
- Excel VBA 宏编程入门
- 互补滤波算法及理论推导
- 什么才是【Python】中的鸭子类型和猴子补丁
- vendor php,使用php composer时, 如何优雅修改vendor中第三方代码
- 适合新手玩的游戏APP
- 内存存放方式_如何以正确的方式存放剩余涂料
- 路边拾遗之其他模块(struct/csv/xlwt/smtp)
热门文章
- 用了十年的昵称badboy_我,轻舞飞扬,用QQ二十年了
- layui iframe 中 alert无法弹出
- Photoshop 中利用钢笔路径抠图
- Python阿基米德方法计算Pi
- apk安装提示 Zip: EOCD not found, /storage/emulated/0/Download/*.apk is not zip
- 朴素贝叶斯 php,PHP实现机器学习之朴素贝叶斯算法详解.pdf
- 使用HSSFWorkbook并简单对数据分批查询完成导出excel功能(java实现)
- 使用C#对Word进行读写、搜索、插入图片等操作
- office2013:打开和关闭Word文档提示“MicrosoftWord已停止工作”的解决办法
- SIM卡卡号ICCID号的含义