对精灵进行滚动视图locking并放大
参考我以前的问题:
Swift 2.0,SpriteKit – 滚动查看不使用页面。
我想获得滚动视图(这是UIScrollView的子类),我必须locking在屏幕中间的精灵,而不是只是能够停止在精灵之间的差距滚动。
我也试图让它在屏幕中央稍微放大(如十字路口字符select菜单)
这是我的scrollview:
scrollView = CustomScrollView(frame: CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height), scene: self, moveableNode: moveableNode, scrollDirection: .Horizontal) scrollView.contentSize = CGSizeMake(self.frame.size.width * 3, self.frame.size.height) // * 3 makes it three times as wide as screen view!.addSubview(scrollView) /// Set scrollView to first page scrollView.setContentOffset(CGPoint(x: 0 + self.frame.size.width * 2, y: 0), animated: true) /// ScrollView Sprites for each page in scrollView /// Makes positioning much easier. let page1ScrollView = SKSpriteNode(color: SKColor.clearColor(), size: CGSizeMake(self.frame.size.width, self.frame.size.height)) page1ScrollView.zPosition = -1 page1ScrollView.position = CGPointMake(CGRectGetMidX(self.frame) - (self.frame.size.width * 2), CGRectGetMidY(self.frame)) moveableNode.addChild(page1ScrollView) let page2ScrollView = SKSpriteNode(color: SKColor.clearColor(), size: CGSizeMake(self.frame.size.width, self.frame.size.height)) page2ScrollView.zPosition = -1 page2ScrollView.position = CGPointMake(CGRectGetMidX(self.frame) - (self.frame.size.width), CGRectGetMidY(self.frame)) moveableNode.addChild(page2ScrollView) let page3ScrollView = SKSpriteNode(color: SKColor.clearColor(), size: CGSizeMake(self.frame.size.width, self.frame.size.height)) page3ScrollView.zPosition = -1 page3ScrollView.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) moveableNode.addChild(page3ScrollView) /// Test label page 1 let sprite1 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 50, height: 50)) sprite1.position = CGPointMake(0, 0) page1ScrollView.addChild(sprite1) let sprite2 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 50, height: 50)) sprite2.position = CGPointMake(sprite1.position.x + (sprite2.size.width * 1.5), sprite1.position.y) sprite1.addChild(sprite2) let sprite3 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 50, height: 50)) sprite3.position = CGPointMake(sprite2.position.x + (sprite3.size.width * 1.5), sprite1.position.y) sprite1.addChild(sprite3)
我已经尝试过执行ray的项目中find的locking代码(请参阅链接问题),但我没有运气得到它的工作。 有任何想法吗?
- iAds和SpriteKit:SKScene仅在设备上全屏退出时冻结
- Xcode 7:'supportedInterfaceOrientations'实现中的返回types冲突:'UIInterfaceOrientationMask'vs'NSUInteger'
- 迅速 – 随着时间的推移增加对象的速度
- Swift SpriteKit edgeLoopFromRect问题
- 什么是处理多个SKScenes的最好方法?
- 与session.dataTaskWithRequest UIAlertView问题
- SpriteKit:如何从SKSpriteNode中的一个点获取像素颜色?
- SpriteKit – 创build一个计时器
- 如何使雪碧套件显示在正确大小的@图像从阿特拉斯?