Skip to main content
 首页 » 操作系统

ios之为图片分配图案信息 (iOS)

2024年01月01日42落叶

我是 iOS 开发领域的新手,我正在制作一款小型(可能会上瘾)游戏。我知道 Python 和 HTML/CSS,所以我能够应付计算机术语,但如果您能够解释任何答案,那就太好了。

在我的游戏中,一个图案会在屏幕上闪烁一小段时间,假设它是“左箭头、右箭头、左箭头”(以图片的形式)。然后用户必须复制模式(以正确的顺序)才能向前推进。我将使用 UIGestureRecogniser 以“正确”模式调用提升功能。我编程的下一步是为图片分配“路径”。识别器将测试用户输入是否等于显示的模式,但我需要一种方法让计算机查看显示的模式是否是由用户输入的(抱歉,如果它令人困惑)。从本质上讲,如果用户给出的模式与屏幕上显示的模式相似,那么让计算机识别的最有效方法是什么。

提前谢谢你,

将

请您参考如下方法:

假设您有一个名为 Pattern 的对象,其中包含一个名为 Shape 的对象数组。每个 Shape 对象都有一个名为 type 的属性,它可以是一个枚举,如下所示:

enum ShapeType { 
    case ArrowLeft 
    case ArrowRight 
    case ArrowUp 
    case ArrowDown 
} 

每次生成要显示的模式时,将其保存在 Pattern 对象中,我们称它为“currentPattern”,然后将用户输入放入另一个 Pattern 对象中,然后称之为“用户模式”。

Pattern 和 Shape 类应该提供 == 运算符重载,如下所示:

形状

func == (left: Shape, right: Shape) -> Bool { 
  return left.type == right.type 
} 

在模式中

func == (left: Pattern, right: Pattern) -> Bool { 
  return left.shapesArray == right.shapesArray 
} 

在你的函数中,这种方式将比较模式(比如当他点击完成时,或者当输入计数达到所需计数时),你需要做的就是

if currentPattern == userPattern { 
   // it's correct,proceed to the next step 
}else { 
   // show a pretty losing message 
} 

提示上面的代码是在 Swift 中,如果您使用的是 Objective-C,则需要覆盖 isEqual 而不是 == 运算符。