1.用CocosCreator开发拼图小游戏——基础问题

本文介绍使用CocosCreator开发拼图小游戏时如何处理图片切割、块图片顺序打乱以及判断拼图完成的方法。通过代码实现图片切割,采用两两交换位置打乱顺序,并利用三维数组位置排序判断游戏完成。
摘要由CSDN通过智能技术生成

上一篇忘说道,该系列严格意义上对纯新手不太友好,因为不会较系统的过一遍怎么开发拼图小游戏,更多的只是提下思路,说一下里面的关键实现方法。如果纯新手有需求麻烦私聊在下。

上一篇说道,做一款拼图小游戏,需要解决的基础问题有:
1)图片的处理,是一开始就将图片用切图软件切好,还是通过代码来实现图片切割效果;
2)块图片的顺序打乱;
3)如何判断图片拼回了原样。

那么顺序了解下上面说的问题。

一、图片的处理,是一开始就将图片用切图软件切好,还是通过代码来实现图片切割效果。
首先是根据项目需求来看,如果需求是:
“要求同样的图片,可以按照2x2,3x3等格式进行切割”,那程序能实现的话就尽可能程序实现,可以稍微减轻美术的压力(当然你和美术有仇就随意了)
“块图片不是矩形,则是带凹凸形状的”,这种如果不要求随机性的话,那美术能实现就让美术实现吧。(当然如果要求随机性,那就还是只能程序上了,至于怎么实现,shader,mask之类的套路可能可行,菜鸡本鸡没试也没想过)
功能怎么实现,很大程度上要根据策划要求来写,除非开发者有丰富经验,否则不建议自己脑补这个功能以后可能会怎么扩展,不但增加了开发难度,还可能发现这个功能最后还被舍弃了。
在这个demo中,我们假设块图片是规则的矩形,故我们直接采用“代码切割图片”的方法来实现功能。
通过百度(百度大法好),得知CocosCreator中,SpriteFrame类中,提供了一个方法
SpriteFrame方法
通过传入一个Rect类型参数,该方法可以直接修剪图片的可显示范围。从而实现我们的目的,下面附上代码实现。

interface SfGridInfo {
x: number,
y: number,
width: number,
height: number
sf: cc.SpriteFrame,

}

/** 切割SpriteFrame */
private _cutSpriteFrame ( sf: cc.SpriteFrame, col: number, row: number ) {
  
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值