手机上的拼图游戏

前言

最近项目要求做一个拼图游戏,然后在网上调研发现大多都是类似华容道的拼图游戏,跟我的需求不太匹配。项目需求是做一款真正可以在手机上玩儿的拼图。下面是我做出来的效果图:

效果图

Puzzle.gif

基本思路

首先要确定每个小方块的类型,即方向,坐标,把方向的类型存在一个数组里面

typedef NS_ENUM(NSUInteger, SCPieceType) {
    SCPieceTypeInside = -1, // 凹
    SCPieceTypeEmpty = 0, // 平
    SCPieceTypeOutside  = 1 //凸
};

typedef NS_ENUM(NSUInteger, SCPieceSideType) {
    SCPieceSideTypeTop,// 上
    SCPieceSideTypeBottom,// 下
    SCPieceSideTypeRight,// 右
    SCPieceSideTypeLeft,// 左
};

其次,根据方向坐标画出每个方块的路径


Piece.png

以上坐标是UI给的,是画图的关键,如果有更好的方法欢迎提出。

  • (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;

AB是第一条线段,A既是起点也是控制点1,d是控制点2,BC是第二条线段,ef分别是控制点1.2。通过这6个点加上坐标的旋转平移就能得到上面的图形了。

最后根据路径对图片进行切割

注意

1.每个方向的位置要确定好,一错则全错
2.初始图片需要做处理

demo

https://github.com/SuyChen/SCJigsawPuzzle 欢迎大家找bug,并提出优化意见,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容