草庐IT

ios - SCNVector3 组件的类型是什么? CGFloat 还是 float ?

苹果文档给出了SCNVector3的声明:typedefstructSCNVector3{CGFloatx,y,z;}SCNVector3;或者在尝试编写重载函数时:func*(left:SCNVector3,right:CGFloat)->SCNVector3{returnSCNVector3Make(left.x*right,left.y*right,left.z*right)}我收到“无法使用类型参数列表调用''”错误。left.x、left.y和left.z不应该是CGfloat吗?如何以及何时决定CGFloat是double型还是浮点型? 最佳答案

ios - UIBezierPath 为每件作品添加一种颜色,从而产生最后一种颜色

我想为每件作品添加一种颜色。我补充说:letcolors=[[54.0/255.0,78.0/255.0,44.0/255.0],[252.0/255.0,178.0/255.0,141.0/255.0],[242.0/255.0,44.0/255.0,173.0/255.0],[239.0/255.0,42.0/255.0,93.0/255.0],[169.0/255.0,145.0/255.0,135.0/255.0],[122.0/255.0,228.0/255.0,140.0/255.0],[110.0/255.0,134.0/255.0,36.0/255.0,],[32.0/

swift - 如何在不重叠的情况下生成多个节点?

我的屏幕上每0.2-5.0秒生成一次节点,如下所示:overridefuncdidMoveToView(view:SKView){backgroundColor=UIColor.whiteColor()runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(blackDots),SKAction.waitForDuration(1.0)])))}funcrandom()->CGFloat{returnCGFloat(Float(arc4random())/0xFFFFFFFF)}funcra

ios - 为 SKSpriteNode 子类创建初始化器

我一直在尝试使用方便的初始值设定项来覆盖SKSpriteNode初始值设定项,该初始值设定项允许我实例化具有一些额外属性的SKSpriteNode子项,但每次尝试时,我都会收到编译器错误。这是我理解的两大规则。规则:每个便利构造器都必须引用指定的构造器,无论是来自类本身还是父类必须在初始化程序委托(delegate)给父类之前设置子类属性。这是我认为遵循规则的代码:classWalkingMonster:SKSpriteNode{varrangeOfMovement:CGFloatvaroriginalPosition:CGFloatvarplatformNumber:Intvarim

iOS:CoreGraphics - 使用 CGContextClip 和 lineCap = .Round 剪切弧

我有一个圆弧,我画了如下:funcdrawBackgroundMask(context:CGContextRef,center:CGPoint,radius:CGFloat,lineWidth:CGFloat,startAngle:CGFloat,endAngle:CGFloat){letadjustedRadius:CGFloat=radius-(lineWidth/2)-0CGContextSetLineWidth(context,lineWidth)CGContextSetLineCap(context,.Round)CGContextAddArc(context,center.

swift - 如何将通用数字类型 'T' 转换为 CGFloat

我有一个通过通用T类型接受数字类型的类,我希望能够将它转换为CGFloat但它抛出:Cannotinvokeinitializerfortype'CGFloat'withanargumentlistoftype'(T)'我必须在类里面做什么才能成功转换它?CGFloat(self.top)-这是它不喜欢的地方“T”类型定义如下:protocolNumeric:Comparable,Equatable{//init(_v:Float)init(_v:Double)init(_v:Int)init(_v:UInt)init(_v:Int8)init(_v:UInt8)init(_v:Int

ios - SKLightNode 不使用 SKCameraNode 缩放

在SpriteKit中,我使用SKCameraNode来放大和缩小SKScene。场景中的任何SKLightNodes都不会缩放。它们不是Camera的子对象,因此不应该是不变的。在此找不到任何内容-在SO上搜索“SKLightNodeSKCameraNode”会产生0个结果。使用Xcode8.3.3并从一个基本的Game/Swift项目开始,我将GameScene.swift中的sceneDidLoad()替换为:overridefuncsceneDidLoad(){letcameraNode=SKCameraNode()cameraNode.position=CGPoint(x:0

ios - "' CGFloat ' is not convertible to ' Swift 中的双 '"错误 (iOS)

我正在尝试在Swift中将一张图片切割成9block。我收到此错误:'CGFloat'isnotconvertibleto'Double'当我将i或j放入两个变量时出现此错误。下面是用于裁剪图片的部分代码。foriin1...3{forjin1...3{varintWidth=(i*(sizeOfImage.width/3.0))varfltHeight=(j*(sizeOfImage.height/3.0))varportion=CGRectMake(intWidth,fltHeight,sizeOfImage.width/3.0,sizeOfImage.height/3.0);..

swift - 根据节点的旋转对节点应用力

我使用Xcode6、SpriteKit和Swift,我有一个SKSpriteNode,它是新Xcode项目的默认Spaceship图像。这艘飞船有物理体,但不受重力影响,我想模拟太空。我希望当我点击屏幕时,一个力会施加到节点上,这样宇宙飞船就可以前进。问题是当飞船已经旋转了,我尝试施加一个力,飞船不会像我想要的那样前进,而是朝着施加力的方向前进,这是正常的。我想知道是否有任何方法可以根据zRotation向节点施加力?所以无论飞船朝哪个方向,它都会一直向前。 最佳答案 我现在无法尝试,但它应该可以工作://grabthespaces

ios - SpriteKit 和 UIKit 兼容性 : OpenGL error when migrating to Swift 2?

我只是不明白自从我迁移到Swift2后发生了什么。我有一个选项卡式应用程序,但出现此错误::calling-displayhasnoeffect.Assertionfailed:(length+offset我知道这真的很模糊,但我不知道从哪里开始寻找错误。谢谢。编辑:我刚刚意识到这可能与我试图将GameViewController嵌入到TabbedController中有关。但是,在iOS9.0之前,它不会导致任何错误。有什么线索吗? 最佳答案 好的,所以问题出在SKShapeNode上。我正在绘制带有太多顶点的环形部分。通过减少以