zoukankan      html  css  js  c++  java
  • 【代码笔记】iOS-钢琴小游戏

    一,效果图。

    二,工程图。

    三,代码。

    RootViewController.h

    复制代码
    #import <UIKit/UIKit.h>
    //加入头文件
    #import <AudioToolbox/AudioToolbox.h>
    
    
    @interface RootViewController : UIViewController
    {
        NSString *soundFile;
    }
    
    @end
    复制代码

     

    RootViewController.m

    复制代码
    #import "RootViewController.h"
    
    @interface RootViewController ()
    
    @end
    
    @implementation RootViewController
    
    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            // Custom initialization
        }
        return self;
    }
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        
        //初始化界面
        [self addView];
    }
    #pragma -mark -fucntions
    -(void)addView
    {
        NSArray *titleArray=[[NSArray alloc]initWithObjects:@"DO",@"RE",@"MI",@"FA",@"SO",@"LA",@"SI",@"C",@"D",@"E",@"F",@"G", nil];
        
        for (int i=0; i<12; i++) {
            UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake(50, 80+30*i, 70, 20)];
            [button setTitle:[titleArray objectAtIndex:i] forState:UIControlStateNormal];
            [button addTarget:self action:@selector(doClickAction:) forControlEvents:UIControlEventTouchUpInside];
            button.tag=i;
            button.backgroundColor=[UIColor redColor];
            [self.view addSubview:button];
        }
    
    }
    -(void)playSound:(NSString*)soundKey{
        
        NSString *path = [NSString stringWithFormat:@"%@%@",[[NSBundle mainBundle] resourcePath],soundKey];
        SystemSoundID soundID;
        NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
        AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath, &soundID);
        AudioServicesPlaySystemSound(soundID);
        
    }
    #pragma -makr -doClickActions
    -(void)doClickAction:(UIButton *)btn
    {
        NSLog(@"---doClickActions--");
        NSLog(@"--btn.tag---%ld",btn.tag);
        
        if (btn.tag==0) {
            soundFile = [NSString stringWithFormat:@"/001.mp3"];
            [self playSound: soundFile];
    
        }else if (btn.tag==1){
            soundFile = [NSString stringWithFormat:@"/002.mp3"];
            [self playSound: soundFile];
        }else if (btn.tag==2){
            soundFile = [NSString stringWithFormat:@"/003.mp3"];
            [self playSound: soundFile];
        }else if (btn.tag==3){
            soundFile = [NSString stringWithFormat:@"/004.mp3"];
            [self playSound: soundFile];
        }else if (btn.tag==4){
            soundFile = [NSString stringWithFormat:@"/005.mp3"];
            [self playSound: soundFile];
        }else if (btn.tag==5){
            soundFile = [NSString stringWithFormat:@"/006.mp3"];
            [self playSound: soundFile];
        }else if (btn.tag==6){
            soundFile = [NSString stringWithFormat:@"/007.mp3"];
            [self playSound: soundFile];
        }else if (btn.tag==7){
            soundFile = [NSString stringWithFormat:@"/C.mp3"];
            [self playSound: soundFile];
        }else if (btn.tag==8){
            soundFile = [NSString stringWithFormat:@"/D.mp3"];
            [self playSound: soundFile];
    
        }else if (btn.tag==9){
            soundFile = [NSString stringWithFormat:@"/E.mp3"];
            [self playSound: soundFile];
    
        }else if (btn.tag==10){
            soundFile = [NSString stringWithFormat:@"/F.mp3"];
            [self playSound: soundFile];
    
        }else if (btn.tag==11){
            soundFile = [NSString stringWithFormat:@"/G.mp3"];
            [self playSound: soundFile];
    
        }
    }
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    复制代码

     

     

     
     
  • 相关阅读:
    STL中set底层实现方式? 为什么不用hash?
    main 主函数执行完毕后,是否可能会再执行一段代码?(转载)
    计算机网络(转载)
    2014! 的末尾有多少个0
    最常见的http错误
    内存分配(转载)
    delphi中指针操作符^的使用
    虚拟方法virtual的用法
    调用父类方法
    指针
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/5249497.html
Copyright © 2011-2022 走看看