2014-11-25 3 views
0

Я работаю над игрой, и я хотел бы выбрать фоновое изображение игровой сцены из Camera Roll.Image Picker в SKScene

У меня есть все необходимые коды для импорта imageView из Camera Roll в ViewController.m, но он не работает в Game SKScene.

Я попытался импортировать в SKScene ImageView, который вы выбрали из ImagePicker, и установить его в качестве фонового изображения, но приложение вылетает, когда я его создаю.

Заранее спасибо.

+0

Пожалуйста, постарайтесь сосредоточиться на конкретном вопросе. Кроме того, попробуйте включить только соответствующий код – musefan

ответ

0

Я не совсем уверен, что вы пытаетесь сделать здесь, но хотите ли вы получить снимок с камеры и сделать ее фоном?

@interface ViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate> { 

IBOutlet UIImageView *ImageView; 
UIImagePickerController *picker; 
UIImage *image; 
} 

//.m file 

-(IBAction)TakePhoto:(id)sender { 
picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
[picker setSourceType:UIImagePickerControllerSourceTypeCamera]; 
[self presentViewController:picker animated:YES completion:NULL]; 
} 

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 

//Saving the image 
NSString *imgName= @"imgname.png"; 
[[NSUserDefaults standardUserDefaults]setValue:imgName forKey:@"imageName"]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

[BackGround setImage:image]; //Setting the background to the image 

if (image.size.width < image.size.height) { 
BackGround.contentMode = UIViewContentModeScaleAspectFill; //If the image too big make it fit 
BackGround.clipsToBounds = YES; 

//Re-save the image 
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:imgName]; 
UIImage *imageSave = image; // imageView is my image from camera 
NSData *imageData = UIImagePNGRepresentation(imageSave); 
[imageData writeToFile:savedImagePath atomically:NO]; 
} 
[self dismissViewControllerAnimated:YES completion:NULL]; 
} 

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
[self dismissViewControllerAnimated:YES completion:NULL]; 
} 



//Collect the image, pass it between files/view controllers 

NSString *imgName= [[NSUserDefaults standardUserDefaults]valueForKey:@"imageName"]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDir = [paths objectAtIndex:0]; 
NSString *filePath=[NSString stringWithFormat:@"%@/%@",documentsDir,imgName]; 
[BackGround setImage:[UIImage imageWithContentsOfFile:filePath]]; 
Смежные вопросы