【发布时间】:2012-06-03 11:42:43
【问题描述】:
我的屏幕截图显示我正在开发单词匹配游戏。在这个游戏中,我将我的单词分配给不同位置的特定序列中的不同 UIButtons(我的红色箭头显示这个序列),其余的 UIButtons 我分配一个随机字符(AZ)。当我单击任何 UIButtons 时,它的标题将分配给当前部分 Fornt 中的 UILabel:我将这个 UILabel 文本放在计时器前的 UILabel 文本下方。当它与我的任何一个匹配时UILabels 将被删除。我已经实现了所有这些过程。
但我的问题是黑线显示的问题。如果玩家找到第一个单词是“DOG”。他单击序列中的两个 UIButtons,但不按序列中的第三个按钮。(如黑线所示)。所以在这里我希望当玩家按下任何不在序列中的 UIButtons 时,删除前面的文本(即“ DO") 的 UILabel ,现在 UILabel 的 Text 只是 "G" 。 这是我获取 UIButtons 标题并将其分配给 UILabel 的代码。
- (void)aMethod:(id)sender
{
UIButton *button = (UIButton *)sender;
NSString *get = (NSString *)[[button titleLabel] text];
NSString *origText = mainlabel.text;
mainlabel.text = [origText stringByAppendingString:get];
if ([mainlabel.text length ]== 3)
{
if([mainlabel.text isEqualToString: a]){
lbl.text=@"Right";
[btn1 removeFromSuperview];
score=score+10;
lblscore.text=[NSString stringWithFormat:@"%d",score];
words=words-1;
lblwords.text=[NSString stringWithFormat:@"%d",words];
mainlabel.text=@"";
a=@"tbbb";
}
else if([mainlabel.text isEqualToString: c]){
lbl.text=@"Right";
[btn2 removeFromSuperview];
score=score+10;
lblscore.text=[NSString stringWithFormat:@"%d",score];
words=words-1;
lblwords.text=[NSString stringWithFormat:@"%d",words];
mainlabel.text=@"";
c=@"yyyy";
}
else
if([mainlabel.text isEqualToString: d]){
lbl.text=@"Right";
[btn3 removeFromSuperview];
score=score+10;
lblscore.text=[NSString stringWithFormat:@"%d",score];
words=words-1;
lblwords.text=[NSString stringWithFormat:@"%d",words];
mainlabel.text=@"";
d=@"yyyy";
}
else {
lbl.text=@"Wrong";
mainlabel.text=@"";
}
}}
提前感谢
【问题讨论】:
-
您是否可以继承 UIButton 或创建一个 UIButton 类别来添加您可以在运行时设置的属性,该属性指定按钮是否是单词的一部分?这可能会对您有所帮助:stackoverflow.com/questions/5500327/…
-
为每个按钮分配标签。并在您按下时获取标签。将标签保存在变量中,例如 name , prevTapBtn=10 然后另一个变量 nextTapBtn=11 应该是 11,比前一个抽头大一。如果是这样,那么 countinue else 删除。希望这会对你有所帮助。
标签: iphone ios algorithm uibutton uilabel