我正在研究一种摇滚纸剪刀鞋游戏,我不知道如何做到这一点。我有两个UIImageView(s),每个都是一个图像。我希望能够比较这两个图像。我在网上查了一下,找不到任何东西。我希望能够说出
if([imageView1.image == rock] && [imageView2.image == scissor]) {
textLabel.text = @"You won!";
}
我知道这种语法当然是错误的,但我试图展示我正在寻找的英语部分。任何帮助表示赞赏。
我没有任何类型的源代码向您展示,因为我不知道我在做什么。我不是在寻找像素到像素的比较,或者任何复杂的事情,我只想找到一种方法来确定图像是否相同。
答案 0 :(得分:3)
好的,这是我如何使用枚举解决这个问题。首先,声明你的枚举。你可以随意调用它,我称之为RPS_STATE
enum RPS_STATE {
RPS_ROCK,
RPS_SCISSOR,
RPS_PAPER,
RPS_UNDEFINED
};
为init目的包含一个未定义的状态总是有用的。现在,枚举中定义的这些东西实际上只是0-3的整数。
因此,在设置图像时可以使用以下内容。
-(void) setToRock:(UIImageView *) view {
view.image = rockImage;
view.tag = RPS_ROCK;
}
-(void) setToScissor:(UIImageView *) view {
view.image = scissorImage;
view.tag = RPS_SCISSOR;
}
-(void) setToPaper:(UIImageView *) view {
view.image = paperImage;
view.tag = RPS_PAPER;
}
然后你可以很好地设置和比较它们。
[self setToPaper:imageView1];
[self setToPaper:imageView2];
if(imageView1.tag == imageView2.tag){
}
等等。您还可以将枚举用作类型。例如
enum RPS_STATE variableHoldingOnlyRPSState;
希望有所帮助:)