Cocos Creator 3.x开发《切水果3D》

news2024/9/22 4:07:55

今天跟大家分享一个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轴旋转,代码如下:

今天的分享就到这里了,关注我,可以获取教程的项目源码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/343261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用sqlmap + burpsuite sql工具注入拿flag

使用sqlmap burpsuite sql工具注入拿flag 记录一下自己重新开始学习web安全之路③。 目标网站:http://mashang.eicp.vip:1651/7WOY59OBj74nTwKzs3aftsh1MDELK2cG/ 首先判断网站是否存在SQL注入漏洞 1.找交互点 发现只有url这一个交互点,搜索框和登录…

Springboot扫描注解类

Springboot扫描注解类的入口在AbstractApplicationContext的refresh中,对启动步骤不太了解的,可参考https://blog.csdn.net/leadseczgw01/article/details/128930925BeanDefinitionRegistryPostProcessor接口有多个实现类,扫描Controller、Se…

【VictoriaMetrics】VictoriaMetrics单机版批量和单条数据写入(Prometheus格式)

VictoriaMetrics单机版支持以Prometheus格式的数据写入,写入支持单条数据写入以及多条数据写入,下面操作演示下如何使用 1、首先需要启动VictoriaMetrics单机版服务 2、使用postman插入单机版VictoriaMetrics,以当前时间插入数据 地址为 http://victoriaMetricsIP:8428/api…

ISYSTEM调试实践10-实时数据采集工具daqIDEA

本文介绍一种实时数据采集的工具daqIDEA,该软件整合在了winIDEA内,可以直接通过winIDEA启动。 daqIDEA类似于jlink的jscop,stlink也有类似功能。原理就是利用仿真探头,将程序运行的变量实时采集出来,并通过曲线的方式显…

记录次数 | V1.1.0版本变动说明

版本内容1、新增词条数据报告---统计累计次数、最早时间、最晚时间等等 2、词条加入内容文本审核功能---创建/修改词条先经过微信文本安全接口审查,审查通过的才能分享公开数据,否则只能自己可见 3、新增分享版本思考这个小程序是有自然流量的&#xff0…

跨域小样本系列4:finetune方法解决CDFSL

来源:投稿 作者:橡皮 编辑:学姐 带你学习跨域小样本系列1-简介篇 跨域小样本系列2-常用数据集与任务设定详解 跨域小样本系列3:元学习方法解决CDFSL以及两篇SOTA论文讲解 跨域小样本系列4:finetune方法解决CDFSL以及…

通付盾汪德嘉——设备指纹的尽头是分布式数字身份

作者简介:汪德嘉,美国威斯康星大学麦迪逊分校数学博士、九三学社社员、正高级工程师;时空码发明者,《身份危机》与《数字身份》专著作者;曾在ORACLE、VISA、IBM等企业部门负责总体设计、产品开发,2011年归国…

深度学习训练营_第P3周_天气识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章:Pytorch实战 | 第P3周:彩色图片识别:天气识别**🍖 原作者:K同学啊|接辅导、项目定制**␀ 本次实验有两个新增任务&…

信息论绪论

本专栏针包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:information-theory】,需要的朋友们自取。或者关注公众号【AIShareLab】,回复 信息论 也可获取。 文章目…

「2」线性代数(期末复习)

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 方阵的行列式 (1) |A^T||A|(2) |&#x1d6…

树莓派 安装 宝塔linux面板5.9. 2023-2-13

​​​​​​​ 一.环境 1.硬件环境: 树莓派3b , 8GB tf卡 ,micro usb电源 2.网络环境: 网线直连路由器 , 可访问互联网 3.软件环境: 树莓派操作系统 CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-2009-sda(linux) 系统刻录工具 Win32DiskImager (win) ip扫描工具 Adv…

Github 上如何提交 pull request

什么是复刻(forking)? 我们可以通过复刻操作将喜爱的仓库保存自己的Github账户中,以便独立地对其进行操作。 通过复刻,我们可以得到包含完整版本历史的目标仓库的实例,之后可以对复刻得到的仓库进行任意操作而不会影响…

iTOP3588开发板直连电脑配置方法(无线上网)配置主机IP

首先使用网线连接好主机和开发板,在没有上电的情况下,可以看到以太网显示网络电缆 被拔出,如下图所示: 当开发板上电以后,开发板网卡与笔记本电脑的网卡会连接,如下图所示: 然后右键点击以太网…

MY2480-16P语音模块的使用

MY2480-16P语音模块的使用开发环境:STM32CUBEMXKEIL5辅助软件:串口助手、迅捷文字转语音一、MY2480-16P语音模块引脚图及引脚定义二、选择触发方式三、使用串口控制MY2480-16P语音模块四、模块使用指南开发环境:STM32CUBEMXKEIL5 辅助软件&a…

Python解题 - CSDN周赛第28期

上一期周赛问哥因为在路上,无法参加,但还是抽空登上来看了一下题目。4道题都挺简单的,有点遗憾未能参加。不过即使参加了,手速也未必能挤进前十。 本期也是一样,感觉新增的题目都偏数学类,基本用不到所谓的…

Buffer Status Reporting(BSR)

欢迎关注同名微信公众号“modem协议笔记”。 以一个实网中的异常场景开始,大概流程是有UL data要发送,UE触发BSR->no UL grant->SR->no UL grant->trigger RACH->RACH fail->RLF->RRC reestablishment:简单描述就是UE触…

Jmeter压测说明

Jmeter使用说明Jmeter下载安装修改编码UTF-8参数说明Get接口测试创建线程组添加HTTP请求添加结果树添加聚合报告启动POST请求添加HTTP信息头管理器设置参数图片上传mysql压测准备数据添加数据库连接jar配置jdbc添加jdbc requestJmeter下载安装 Jmeter官网下载 要求java 1.8以上…

MACD指标在外汇交易中的另类运用方法

外汇交易中怎么另辟蹊径的使用MACD指标 随着外汇市场的不断发展和变化,交易者们不断探索新的方法和技术指标,以提高自己的交易技巧和赢利能力。其中,MACD指标是广大交易者们喜欢使用的一种技术分析工具,它可以帮助交易者判断价格的…

SQL注入Getshell的奇思妙想(上)

前言 前段时间,hvv和找实习的师傅们也多了起来。而我也不例外,尝试投递了不少简历,结果是积累了大量的面试经验。笔者发现大量的hr面试官都喜欢从SQL注入开始询问,所以留心了一下关于SQL注入的问题的频率。结果非常amazing啊&…

传统企业数字化转型,到底难在哪里?

数字化转型过程中面临最大的挑战和问题是什么?这篇整理了企业在数字化转型过程中普遍面临的9大问题和挑战以及如何解决这些问题,希望能够对各位企业数字化转型有多启发和帮助。 01 企业数字化转型三大现状 在梳理企业数字化转型问题之前,我想…