iOS: Sable láser con UIAccelerometer y sonido (I)

Detalles del tutorial

  • Tecnología: iOS
  • Dificultad: Nivel medio
  • Tiempo de realización: 45 – 60 minutos

En este tutorial que he dividido en 3 partes, vamos a crear un sable láser que responde al acelerómetro y que incorpora sonidos según el nivel de sacudidas que realicemos. Habrá un sonido constantante que llamaremos pulso, otros sonidos que responderan a la inclinación del iphone y otros sonidos que se lanzarán aleatoriamente al realizar sacudidas. También incorporaremos vibración para dar realismo.

No nos vamos a parar en detalles como imágenes de precarga, iconos o nociones de manejo básico del storyboard, por lo cual para seguir este tutorial es necesario poseer un conocimiento básico de Xcode. Para hacer el ejemplo se ha usado iOS5 y Automatic Reference Counting (ARC). También debeis saber que para testear correctamente el funcionamiento de los contenidos de este tutorial, será prácticamente imprescindible hacerlo en un dispositivo (iPhone aunque puede ser iPad) por razones relativas al uso del acelerómetro.

Crear proyecto y agregar imágenes y sonidos

Comenzamos creando un nuevo proyecto a partir de Single View Application, le nombramos sablelaser y seleccionamos Storyboard y ARC (valores por defecto).

ios sable laser 1
ios sable laser 2

Posteriormente agregamos las imágenes sable.png y fdo_Saber.png al proyecto (con sus correspondientes versiones @2x) y los 14 archivos de sonido que va a tener el sable láser. Lo coloco todo por grupos dentro del proyecto de Xcode para ordenarlo como veis en la imagen.

En la 3ª parte del tutorial podreis descargar el proyecto de Xcode completo.

ios sable laser 3

Añadimos Outlets, IBActions y Frameworks

Vamos a añadir un botón para lanzar el Láser, para lo cual vamos a MainStoryboard y añadimos de la manera habitual una instancia de Round Rect Button dentro de nuestra vista de View Controller. Mapeamos el evento Touch Up Inside con un IBAction que llamaremos startLaser. Con lo cual quedará nuestro ViewController de la siguiente forma:


#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
- (IBAction)startLaser:(id)sender;

@end

#import "ViewController.h"

@implementation ViewController

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
	[super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
	[super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
   return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (IBAction)startLaser:(id)sender {
}

@end

ios sable laser 4

Para el tema de sonido y vibración tendremos que añadir los frameworks AudioToolbox y AvFoundation.

ios sable laser 5

Con esto ya tenemos todo preparado para comenzar a programar las 4 clases de las que va a constar el proyecto: ViewController, SaberOnViewController, SaberOnView y SaberSoundsModel.
Te animo a continuar con la 2ª parte de este tutorial.

Valora esta entrada:

3 votos. Promedio: 3,00 de 5
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas

Entrada archivada en:

Categorías: iOS

Etiquetas:

★ Por Raúl Flores (11 entradas) el

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*