微信小游戏开发教程-2D游戏原理讲解

本文详细解析了2D游戏中循环背景图的实现原理,通过巧妙利用资源,实现无限滚动效果。同时,深入探讨了物体移动、边缘检测及碰撞检测的机制,特别是采用矩形重合判断碰撞的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小游戏开发教程-2D游戏原理讲解

原理

为了更加形象的描述,这里先上一张图:

在这里插入图片描述

  1. 背景

    a. 首先,我们看到背景好像是一张无限长的图片在向下移动。实际则不然,这是一张顶部和底部刚好重叠的图片。这是一种节省资源讨巧的做法,然后绘制的时候同时绘制两张刚好拼接在一起,下面我们画一张图来形象的说明。

    在这里插入图片描述

    b. 我们看到这张图片是首尾可以拼接到一起的一张图片,然后两张图拼一起一起是下面这样:

    在这里插入图片描述

    c. 下面红色的框代表屏幕显示的区域,就飞机大战的情况我们将背景图的初始状态设置如下:

    在这里插入图片描述

    d. 然后让图片逐渐往下移,我们看到中途的状态是这样:

    在这里插入图片描述

    e. 最后移动到最顶部的时候重置到最初的状态,这样就实现了背景图的无限循环。这是2D游戏中常用的背景图技巧。

    在这里插入图片描述

  2. 物体移动

    游戏中敌人的移动和子弹的移动还有玩家自身机体的移动我们统一称为物体的移动。

    先来看敌人和子弹的移动,这实际上就是一张图片在屏幕上竖直方向上移动。然后不断刷新位置,人眼看到就像是在移动一样。

  3. 边缘检测

    玩家操控的机体我们要控制它在屏幕内,超出屏幕外就会很奇怪,所以这里要做以下边缘检测,当玩家移动到屏幕外时限制到屏幕边缘无法往边缘外移动。

  4. 碰撞检测

    游戏中我们看到,子弹打中敌人的时候就代表了消灭敌人,什么情况下才是打中了敌人呢?当子弹和敌人机体碰撞的时候即代表打中了敌人。如何判断子弹打中了敌人?这里我们用一种较为简单的方法判断,旨在说明碰撞检测原理。

    我们假设敌人飞机在屏幕上是一个放快,子弹也是一个方块。这两个方块在屏幕上都有绝对坐标,当这两个方块的区域有重合的时候即发生了碰撞。这样碰撞检测就很容易做,即判断两个矩形的区域是否重合即可。以上就是所谓的碰撞检测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值