关灯游戏的小总结

关灯游戏总结

首先创建“灯”类,继承UIView。

创建“灯”的个数,在ViewController.m内创建多个大小相等的视图框,因为我们这些视图窗都要放在这个View里面。

           这时候可用用for循环,嵌套创建出行和列,然后给各个窗口添加一个tag标签,使用 窗口名.tag,方便稍后使用。

//在屏幕上创建出4*7 28个视图(布局)

    for (int j=0; j<7; j++) {

        for (int i=0; i<4; i++) {

        Light *deng=[[Light alloc]initWithFrame:CGRectMake(i*80+5, j*60+10, 70, 50)];

            deng.tag=100+10*j+i;//为每个视图加上标签

        [self.view addSubview:deng];

        }

    }

 

然后我们来丰富“灯”的内容。

给他换换背景颜色(用图片代替,图片名为2.png):

self.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"2"]];

接下来我们来描写触摸时触发的事件:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{

    Light *lt1=(Light*)[self.superview viewWithTag:self.tag-1];

    Light *lt2=(Light*)[self.superview viewWithTag:self.tag+1];

    Light *lt3=(Light*)[self.superview viewWithTag:self.tag-10];

Light *lt4=(Light*)[self.superview viewWithTag:self.tag+10];

//以上为点击一个视图时,周围(上下左右)的视图跟着被选中。

紧跟着我们给每个视图加入changeImage的动画效果,翻转

    [self changeImage];

    [lt1 changeImage];

    [lt2 changeImage];

    [lt3 changeImage];

    [lt4 changeImage];

}

翻转动画效果的实现如下:

-(void)changeImage{

    [UIView beginAnimations:nil context:nil];//动画开始

    [UIView setAnimationDuration:1];

    //UIAnimationTransition翻转动画,是个枚举类,1为UIViewAnimationTransitionFlipFromLeft(向左翻转)

    [UIView setAnimationTransition:1 forView:self cache:YES];

[UIView commitAnimations];

增加翻转的内容以丰富游戏的趣味性,这时候我们就设计这么一个思想:当点击窗口1时 如果显示为A,那么变为B(四周窗口也进行此操作)。这时候我们就要有个判断的条件,所以我们先定义个实例用于判断:@property(assign,nonatomic)BOOL flag;//用于标记开关

注:FANMIAN和ZHENGMIAN 使用的是宏用法,定义的内容:

#define ZHENGMIAN [UIColor colorWithPatternImage:[UIImage imageNamed:@"1"]]

#define FANMIAN [UIColor colorWithPatternImage:[UIImage imageNamed:@"2"]]

    //用三目运算写

    self.backgroundColor=self.flag?FANMIAN:ZHENGMIAN;

    self.flag=!self.flag;

    //普通判断法写

//    if (self.flag==YES) {

//       self.backgroundColor=FANMIAN;

//        self.flag=NO;

//    }

//else{   

//    self.backgroundColor=ZHENGMIAN;

//    self.flag=YES;

//}

}

 

这样我们就完成了整个游戏的基本创作,如果需要给他添加更多的更丰富的内容,我们可以在各个节点进行丰富~

posted on 2013-10-28 09:18  IOS菜菜菜菜鸟  阅读(251)  评论(0编辑  收藏  举报

导航