ARKit之SpriteKit2D简单使用
来源:互联网 发布:linux实现nat网关功能 编辑:程序博客网 时间:2024/05/21 06:43
引言:
DDWC上演示了ARKit的强大功能后,我决定把我心爱的6s升级到iOS11来试试ARKit的功能。
想体验ARKit的功能,首先必须是iOS11+Xcode9+A9以上的设备。具备以上条件,就可以开工啦。
github链接:https://github.com/HZhenF/MyApp2D.git
开篇,我们来谈谈iOS11的初体验吧。
说实在的,我觉得iOS11界面好丑,一些字体也粗糙了不少,更趋向于安卓手机的界面了。更让我不能理解的是,为什么iOS手机会有“文件”这个功能?难道要和安卓一样,可以手动管理自己的文件和系统文件了?如果不是,那么要这个功能干嘛?就像WWDC新版iPad为什么要用一个文件管理?可能小弟不才,见识浅陋,但是,界面我真的觉得丑了不少。
- App Store说了要改的,目前只看到图标改了
- 控制中心可以自定义了。
- 信息可以发送图片、视频等等,和WWDC说的差不多。
- 每次截图后,截图都会自动在手机左下角停留。你可以点击它来编辑截图内容。
不说了。。。简单看看图就知道了。
扯远了,扯远了。
我们开始今天的重点内容吧,本文只谈论SpriteKit2D的简单实用,3D的下次再谈。
- (void)viewDidLoad { [super viewDidLoad]; // Set the view's delegate self.sceneView.delegate = self; // Show statistics such as fps and node count //显示帧率 self.sceneView.showsFPS = YES; //显示界面节点(游戏开发中,一个角色对应一个节点) self.sceneView.showsNodeCount = YES; // Load the SKScene from 'Scene.sks' //加载2D场景 Scene *scene = (Scene *)[SKScene nodeWithFileNamed:@"Scene"]; // Present the scene //AR预览视图展现场景 [self.sceneView presentScene:scene];}
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // Create a session configuration //创建设备追踪设置,万恶之首,之所以要A9以上的设备,全是因为它 ARWorldTrackingSessionConfiguration *configuration = [ARWorldTrackingSessionConfiguration new]; // Run the view's session //启动AR [self.sceneView.session runWithConfiguration:configuration];}
- (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; // Pause the view's session //暂停AR [self.sceneView.session pause];}
/** 点击界面会调用该方法,出现一个你要创建的节点内容 @param view 2D的预览视图 @param anchor 锚点,可以和UILayer的锚点联系起来理解 @return 返回一个节点 */- (SKNode *)view:(ARSKView *)view nodeForAnchor:(ARAnchor *)anchor { // Create and configure a node for the anchor added to the view's session. SKSpriteNode *ssn = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImage:[UIImage imageNamed:@"IMG_3977.PNG"]]]; //SKSpriteNode对象的x,y轴的位置信息 ssn.position = CGPointZero; //锚点 ssn.anchorPoint = CGPointMake(0.5, 0.5); //SKSpriteNode对象的宽度和高度信息的设置 ssn.size = CGSizeMake(30, 30); //SKSpriteNode对象的名字,也就是SKSpriteNode对象的唯一标识符 ssn.name = @"动漫小女孩"; NSArray *emojiArray = [NSArray arrayWithObjects:@"��",@"��",@"��",@"��",@"��",@"��",@"��", nil]; NSString *str = emojiArray[arc4random()%(emojiArray.count - 1)]; SKLabelNode *labelNode = [SKLabelNode labelNodeWithText:str]; labelNode.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeCenter; labelNode.verticalAlignmentMode = SKLabelVerticalAlignmentModeCenter; NSMutableArray *arrM = [NSMutableArray array]; [arrM addObject:labelNode]; [arrM addObject:ssn]; return arrM[arc4random()%2];}
简单的提醒:
点击屏幕,可以创建出不同的小动物和自定义的图片。
数组里面其实放的是各种小动物的,然后我们每点击一次屏幕,就随机取出里面的东西。
SKLabelNode这个节点用类方法初始化,只能放NSString的内容。
想要放自定义的图片,就用SKSpriteNode这个类。
阅读全文
0 0
- ARKit之SpriteKit2D简单使用
- ARKit基本使用流程
- ARKit
- ARKit
- unity使用苹果ARKit-01:Unity-ARKit-Plugin unity使用苹果ARKit
- ARKit最简单的一个Demo
- ARKit 最简单的一个Demo
- 最近简单研究了一下ARKit
- ARKit学习以及创建简单AR程序
- 如何使用Unity做ARkit的Helloword
- arkit-tictactoe:ARKit 外加简单交互,实现 AR 场景的三连棋游戏演
- ARKit文档翻译之ARKit简介(内有apple的例子代码)
- 详解ios之ARkit为何碾压对手(一)
- 【1】coreML入门之结合ARKit场景展示
- ASIHTTPRequest 之简单使用
- Service之简单使用
- logstash使用之简单使用
- ARKit 初探
- 欢迎使用CSDN-markdown编辑器
- NAO/Pepper机器人Linux/Ubuntu深层开发环境搭建
- PAT (Advanced Level) Practise 1031
- log4j 分级别输出日志
- asp.net MVC使用treegrid——jqwidgets插件
- ARKit之SpriteKit2D简单使用
- 51nod 1557 两个集合
- IOS学习笔记(十一)之IOS开发之表视图(UITableView)的基本介绍(一)
- 变量的生命周期和选用
- 第几天? HDU
- vue2使用ueditor
- 考研择校之北理
- Dijkstra算法以及java实现_02(代码部分)
- ServerSocket 用法详解(一)