我的《打螺丝闯关》上线啦!想知道怎么做到的吗?

2024-08-28 10:28

本文主要是介绍我的《打螺丝闯关》上线啦!想知道怎么做到的吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

我的《打螺丝闯关》上线啦!

大家好,小伙伴们久等了,距离上次发文,居然已经整整断更快一个月了!

在这过去的一个月里,笔者除了忙于在公司里面救火,还默默地复刻着前阵子比较火打螺丝游戏。

这速度想要蹭热度肯定是赶不上了,主要嘛是为了解决素材饥荒,想弄一个主题介绍Cocos游戏开发从零开发游戏到上线,不知道小伙伴们感不感兴趣呢?

赶紧点击搜索《打螺丝闯关》体验试试吧!欢迎在评论区留下你宝贵的意见哦!

言归正传,本文简单介绍一下Cocos游戏开发如何实现打螺丝游戏的从零到上线,如果对您有帮助,建议点赞分享收藏!

总览

从零到上线

接下来,跟随笔者一起看看复刻一款打螺丝游戏从零到上线需要哪些知识点,具体从零到上线的流程是怎样的?

1.立项

我们先看看立项的定义:

立项是指通过一定的决策程序和组织活动,确定项目的可行性和必要性的过程。

通属地来说就是:

  • 要做什么游戏
  • 为什么要做这样的游戏
  • 这游戏怎么做

关于前面两点,笔者在引言部分已经阐述了,复刻一款打螺丝游戏,解决目前文章素材饥荒情况。

至于这游戏怎么做,下面笔者会给大家细细道来。

2.游戏制作工具

时下能够制作和开发游戏的工具非常多,要写代码和不用写代码的都有。

为了避免读者们选择困难,大家就直接使用Cocos进行开发制作就行,版本的话也不用纠结,直接使用时下最新版的CocosCreator3.8

当然,具有非常强的领导力的你,也可以带领团队开发与实现你心目中的游戏。

3.美术资源

说到美术,很多小伙伴可能就已经望而止步。美术作为游戏的灵魂之一,起着非常重要的作用。

关于美术资源的获取,笔者能够想到的可能有以下几种:

  • 找一个会美术的贵人,可以一起深入探讨游戏开发。
  • 拿起键盘就自己研究,虽然不一定好看,但是能用。
  • 国内外许多游戏资源网站都有免费开源的,东拼西凑总有好的。
  • 时下热门的AI绘图,虽然环境不一定好弄,但是解决了望而止步的问题。

笔者就有这么个贵人,感谢她。

4.游戏开发框架

游戏开发框架的目的就是节省你的开发时间,让你在游戏开发过程中可以着重考虑游戏功能的实现,不需要纠结如何打开和管理某个界面(UI管理),如何将美术资源加载到游戏中去(资源管理)、如何解决游戏发热卡顿闪退等问题(性能优化)等等。

关于游戏框架的好坏,没有统一的标准,只要你能把游戏制作出来,只要你用的顺心顺手,只要你能够不断迭代,那么它就是适合你的最好的游戏开发框架。

笔者使用的是前面手把手教搭建的Cocos2.x开发框架迭代而来的CocosCreator3.x的开发框架。

5.游戏分析与实现

常规的打螺丝游戏就是通过螺丝将木板固定在墙壁上,我们通过点击螺丝,然后点击其他没有阻挡的孔位,就能将螺丝移动,没有了螺丝固定的木板,会按照物理世界的效果发生旋转或者掉落。

常规打螺丝游戏主要有以下几种游戏对象:

  • 螺丝:它作为打螺丝游戏的核心,首先要实现的功能就是能够点击抬起和放下,然后就是能够对木板进行固定。
  • 螺丝孔:用于插入螺丝,主要提供点击的方法判断被点击和获取。
  • :它需要实现的功能就是根据自身的形状判断是否阻挡了螺丝孔,然后就是检测掉落和销毁。
  • 关节连接:其实就是板上的螺丝孔,用于螺丝固定木板时的定位。

首先是我们的螺丝,由于我们使用了引擎自带的物理,需要添加CircleCollider2D组件进行碰撞检测,然后还需要添加RigidBody2D组件使得物理效果生效,需要注意的是,螺丝的主要起到固定的作用,需要把Type设置成Static静态模式。

在这里插入图片描述

其中我们自定义的螺丝类,核心方法拔起/点下状态的设置。

以及移动螺丝之后需要移除原关节,并且生成新关节固定新的木板的方法。

在这里插入图片描述

紧接着就是我们的螺丝孔,主要添加自定义的螺丝孔类和自定义的螺丝孔编辑类。

在这里插入图片描述

螺丝孔类比较简单,主要用于标记螺丝孔,和简单监听一下点击事件。

在这里插入图片描述

木板的实现稍微复杂一点,主要包括快速编辑关卡用的编辑器类,以及自定义的木板类。同样需要刚体组件。

其中木板类的核心在于判断木板是否遮挡住了螺丝孔。

其次就是失去了螺丝的固定之后的模板需要检测是否销毁。

在这里插入图片描述

6.快速编辑关卡

作为一个不断闯关的游戏,我们需要有快速编辑关卡的能力,于是我们需要许多高效方便的编辑器来协助。简单列举几种:

1.板编辑器

板类编辑器的核心有以下实现:

  • 快速切换板的颜色
  • 快速修改板的孔数
  • 快速翻转、旋转
  • 快速调整板的层级
  • 自动吸附
  • 自动调整板的长度和旋转

在这里插入图片描述

简单介绍一下如何通过编辑器快速更改板的颜色。

  • 首先我们通过@property属性显示到编辑器面板。

  • 监听set属性,玩家点击时,对板进一步操作。

  • 核心操作都是通过监听编辑器消息来进行,这块官方文档比较少,需要自行去探索。

  • 例如查询物件的uuidEditor.Message.request("asset-db", "query-uuid", urlAsset);

  • 再或者动态修改组件的属性。

    async set_property<T extends Component>(component: T, nameProperty: string, typeValue: any, value: any) {await Editor.Message.request("scene", "set-property", {uuid: component.node.uuid,path: `__comps__.${component.node.components.lastIndexOf(component)}.${nameProperty}`,dump: {"type": `cc.${typeValue.name}`,"value": {"uuid": value.uuid}}});
    }
    
2.孔编辑器

孔编辑器相对比较简单,需要给孔动态插上螺丝,或者修改孔为锁上状态。

其中的关键是能够动态地克隆编辑器里assets目录下的物件,例如动态克隆螺丝钉

用到的编辑器消息的主要方法如下:

async instantiate(urlPrefab: string, parent: Node) {let uuidPfb = await this.query_uuid(urlPrefab);let uuid = await Editor.Message.request("scene", "create-node", {parent: parent.uuid,assetUuid: uuidPfb});return cce.Node.query(uuid);
}
3.一键打钉

当我们编辑完所有木板之后,最后一步是需要提前生成好螺丝,避免在运行时操作影响性能。

7.软著申请与备案

有了上述工具和内容,我们就可以快速地完成一版游戏Demo,另外游戏上线比较花时间的一个环节就是软著的申请和备案,我们在完成一版游戏初版之后就可以开始进行这些内容了,相关内容的文章前面笔者都有介绍,欢迎大家进行翻阅和与笔者交流。

完成这些的申请之后,需要一定时间地等待,可以继续不断的完善游戏。当然,关于时间也是有一定的操作空间的。

8.继续完善游戏

在完成游戏的初步制作之后,我们可以考虑给游戏添加许多优化的内容,例如:

  • 添加游戏的设置,添加音乐、音效、震动效果,加强用户体验反馈。

  • 添加游戏圈、添加到小程序等优化留存的功能。

  • 添加更多玩法引流,搭建游戏矩阵,优化收益。

  • 添加游戏中的排行榜(世界排行榜、好友排行榜)等。

  • 添加一些激励视频广告产生收益。

  • 添加GM面板进行快速调整属性参数与测试。

9.流量主情况

由于笔者前面有线上游戏已经开通流量主,同一主体下的新账号可以直接开通,下面是上线三天纯自然的内容。

虽然不多,也算是小小的开箱效果。

在这里插入图片描述

结语

以上Cocos游戏开发如何实现打螺丝游戏的从零到上线的简单介绍,会根据阅读情况是否出相关系列的完整教程哦,感谢大家的阅读!

赶紧点击搜索《打螺丝闯关》体验试试吧!欢迎在评论区留下你宝贵的意见哦!

更多实用源码可通过阅读原文搜索"亿元程序员"获取。

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《填色之旅》《方块掌机经典》《贪吃蛇掌机经典》《重力迷宫球》大家可以自行点击搜索体验。

实不相瞒,想要个在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

知识付费专栏

你知道和不知道的微信小游戏常用API整理,赶紧收藏用起来~

100个Cocos实例

8年主程手把手打造Cocos独立游戏开发框架

和8年游戏主程一起学习设计模式

从零开始开发贪吃蛇小游戏到上线系列

这篇关于我的《打螺丝闯关》上线啦!想知道怎么做到的吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114497

相关文章

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C