手机上的拼图游戏

前言

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

效果图

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,并提出优化意见,谢谢!

你可能感兴趣的:(手机上的拼图游戏)