Articles of 快速

NEHotspotHelper在框架中的使用

所以从iOS9开始,就有了一个公开的API来允许开发者使用NEHotspotHelper获得WiFi信号。 但要使用它 – 需要申请它,让苹果公司在开发者门户网站为您提供额外的权利。 让我们想象一下,苹果确实可以访问它,但问题是: 它只能在应用程序级别或框架(库级别)中使用吗? 我这样问的理由是因为我看不到框架目标中的权利选项卡,而不是正常的应用程序目标。 任何建议或指向正确的方向将不胜感激。 干杯!

SpriteKit:计算操纵杆的角度并基于此改变精灵

我正在用SpriteKit制作一款RPG鸟眼式游戏。 我制作了一个游戏杆,因为一个D-Pad不能给玩家足够的控制权。 我无法将我的大脑围绕在如何根据游戏杆拇指节点的角度来计算改变角色的Sprite所需的必要数据上。 这是我正在使用的代码 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { for touch in touches { let location = touch.location(in: self) if isTracking == false && base.contains(location) { isTracking = true } } } override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { for touch in touches { let location: CGPoint = touch.location(in: […]

无法在金属着色器修改器中传递统一

我试图写一个简单的着色器,通过统一的颜色来传递用于在着色器中绘制的颜色。 我加载着色器修改器并传递制服: let fragmentShaderPath = bundle.pathForResource("Cube", ofType: "fragment")! let fragmentShader = try String(contentsOfFile: fragmentShaderPath) let shaderModifiers : [String:String] = [ SCNShaderModifierEntryPointFragment : fragmentShader ] cube.geometry?.shaderModifiers = shaderModifiers SCNTransaction.begin() cube.geometry?.setValue(NSValue(SCNVector4: SCNVector4Make(0.0,1.0,0.0,1.0)), forKey: "myColor") SCNTransaction.commit() 这是我的片段着色器修改器代码: #include <metal_stdlib> using namespace metal; float4 myColor; _output.color = myColor; 但没有任何反应:对象被绘制为黑色。 如果我尝试将myColor声明为一个统一的,我得到一个错误:

在ARKit中获取相机的向上vector

我试图获得构成ARKit中截锥体边界的四个向量,我提出的解决scheme如下: find相机的视角的领域 然后find相机的方向和向量 使用这些信息,使用交叉乘积和旋转find四个向量 这可能是一个马虎的做法,但这是迄今为止最好的一个。 我能够从ARCamera.intrinsics和ARCamera.transform属性中获得视角和方向vector。 但是,在这一点上,我不知道如何获得相机的向上向量。 下面是我用来find视角和方向vector的一段代码: func session(_ session: ARSession, didUpdate frame: ARFrame) { if xFovDegrees == nil || yFovDegrees == nil { let imageResolution = frame.camera.imageResolution let intrinsics = frame.camera.intrinsics xFovDegrees = 2 * atan(Float(imageResolution.width) / (2 * intrinsics[0,0])) * 180 / Float.pi yFovDegrees = 2 * atan(Float(imageResolution.height) / (2 * intrinsics[1,1])) […]

如何在场景工具包中添加凹凸贴图?

我试图画一个地球,因为我发现了这个网站的纹理: http : //planetpixelemporium.com/earth.html 我加载了漫reflection,reflection和凹凸贴图: let earthGeometry = SCNSphere(radius: radius) let earthMap = UIImage(named: "Earth_map") let earthBump = UIImage(named: "Earth_bump") let earthSpec = UIImage(named: "Earth_specular") earthGeometry.firstMaterial!.diffuse.contents = earthMap earthGeometry.firstMaterial!.specular.contents = earthSpec let earth = SCNNode(geometry: earthGeometry) 但凹凸贴图没有属性。 我想到的唯一方法是使用MDLMaterial,但是我没有办法将材质转换回SCNMaterial。 方法: + (instancetype)materialWithMDLMaterial:(MDLMaterial *)mdlMaterial 运行在Objective-C中,而不是在Swift中运行。 有谁知道如何将其转换为SCNMaterial,或者使用另一种方式在SCNMaterial中应用凹凸贴图?

SpriteKit中的精灵之间的碰撞

我使用SpriteKit在XCode中进行游戏。 游戏中有一个玩家和不同types的射弹,他必须避免。 当玩家与射弹碰撞时,分数改变,射弹消失。 但是,当两枚弹丸碰撞时,它们会弹跳。 每当两枚弹丸相撞时,我想这样做,就像没有发生任何事情一样,他们继续沿着原来的路线前进。 我该怎么办? *注意:这不是整个代码,只是重要的。 import SpriteKit struct Physics { static let player : UInt32 = 1 static let missileOne : UInt32 = 2 static let missileTwo : UInt32 = 3 } class GameScene: SKScene, SKPhysicsContactDelegate { var player = SKSpriteNode(imageNamed: "p1.png") override func didMoveToView(view: SKView) { physicsWorld.contactDelegate = self player.position = CGPointMake(self.size.width/2, […]

游戏发布与收入:质量与数量

作为一名随机的Flash游戏玩家,我看到很多“游戏”都是可怕的。 这是多言。 但是我想知道,这些开发者正在做些什么? 这是一个相对较好的收入来源,考虑一个高质量的游戏需要多less时间? 我想从开发人员的角度来考虑,虽然这个概念可能延伸到所有的游戏,而不仅仅是闪光。 有人想赚钱 – 比如通过赞助商(Amor Games,Crazy Monkey)或者Flash游戏网站(Kongregate,NewGrounds)。 (不过我不认为赞助商会赞助一场半打的比赛)。