从龙珠到Cocos游戏开发中的无限循环滚动背景

引言

从龙珠到Cocos游戏开发中的无限循环滚动背景

近日,鸟山明去世的消息传来,网友们纷纷表示哀悼,这位被外交部哀悼的鸟山明或许你不熟悉,但是他的作品《龙珠》承载着一代人的记忆与青春。

**《龙珠》**作为一部向中国文化致敬的作品,笔者在刷视频时回忆了许多,当看到上面那段视频时,结合前几天的龙抬头,百感交集。

画面中,饱含梦想的少年追逐神龙,不断向前奔跑。像极了一场没有终点的酷跑游戏。

言归正传,今天给大家介绍一下如何在Cocos游戏开发中 实现酷跑游戏 中的无限循环滚动背景

本文源工程在文末获取,小伙伴们自行前往。

1. 什么是无限循环滚动背景

无限循环滚动背景是指在一个游戏或应用程序中的背景图像或纹理,通过不断循环滚动来模拟连续的运动效果,同时在滚动到一定程度时重新开始,从而创建了一种无限的感觉。

这种技术通常应用于2D游戏或应用程序中,用于模拟角色移动、车辆行驶等场景中的背景运动效果。

2. 无限循环滚动背景怎么实现

实现无限循环滚动背景的一种常见方法是,在背景图像(或纹理)的两个或多个副本之间无缝地切换,并确保当一个副本滚动到一定位置时,另一个副本可以接替它的位置,从而保持滚动连续性。

这样,即使玩家或对象在游戏中移动,也能持续观察到滚动的背景,而不会出现中断的感觉。

3. 无限循环滚动背景的Cocos实例

1.资源准备

首先我们借用一下酷跑游戏中的主角和背景图,资源仅供学习,请勿用作其他用途。

2.拼UI

如图所示,背景主要分成两部分,一部分是近景跑道,另外一部分是远景海与天。

其中实现无限循环滚动背景的关键在于:

  • 1.任意不同或者相同的背景块之间必须可以无缝连接。
  • 2.每个由背景散件组成的背景组必须占满一屏。

循环原理 如下图,当左边一块背景块完全离开视野后,移动到右边一块背景块的右边。

3.写代码

首先 添加一个BackgroundLoop组件,在start方法中克隆我们拼接好的一个背景块。

然后update方法中不断修改所有背景组位置,形成一个移动的效果。

为了区分近景和远景,我们添加一个移动速度的配置,使近景移动快,远景移动慢。

第一个背景块移动到屏幕外后,移动到屏幕右侧。

最后给近景和远景都添加上组件,并且配置不同的移动速度。

4.效果演示

由于太过于单调了,我们添加一个主角,这样就好看多了。

结语

本文源工程 可通过私信 发送BackgroundLoop获取。

近日,笔者受麒麟子 (深耕游戏引擎与游戏开发15年 ,每一滴干货都源自商业项目 实践)的邀请,以嘉宾 的形式加入知识星球,星球主要用于:

  • 聚焦问题、深度交流、一对一提问
  • 分享商业机会、交流变现心得
  • 分享社群独家干货信息
  • 使你获得技术与商业双修精进

总的来说,星球的目标 只有一个:提供优质内容,让你更加优秀 。感兴趣的小伙伴可以扫码 了解和捧场。72小时内随时退款 ,试试未尝不可!点击直达

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

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

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

推荐专栏:

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

100个Cocos实例

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

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

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

知识付费专栏

点击下方绿色按钮+关注。

相关推荐
草莓熊Lotso9 分钟前
C++ 方向 Web 自动化测试入门指南:从概念到 Selenium 实战
前端·c++·python·selenium
Olrookie21 分钟前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
533_1 小时前
[vue] dayjs 显示实时时间
前端·javascript·vue.js
故事与他6451 小时前
XSS_and_Mysql_file靶场攻略
前端·学习方法·xss
莫的感情2 小时前
下载按钮点击一次却下载两个文件问题
前端
一个很帅的帅哥2 小时前
JavaScript事件循环
开发语言·前端·javascript
小宁爱Python2 小时前
Django Web 开发系列(二):视图进阶、快捷函数与请求响应处理
前端·django·sqlite
fox_2 小时前
深入理解React中的不可变性:原理、价值与实践
前端·react.js
Github项目推荐2 小时前
你的错误处理一团糟-是时候修复它了-🛠️
前端·后端
Code小翊2 小时前
C语言bsearch的使用
java·c语言·前端