我一直在使用SceneKit在球体的外边缘上的两点之间画一个圆柱体。 我已经使用原始几何和使用SCNRendering Delegate的openGL在这两点之间产生了一条界线,但是现在我需要在这两个点之间产生一个圆柱(好吧,不只是两个,而是任意两个坐在球表面上的3Dvector)。 我已经为此工作了大约3天了,而且我已经完成了四元数的实现,但是现在我无法实现。 学术文章,科学研究,什么也没有,没有什么工作是在两个固定点之间重新排列一个圆柱体。 我需要一个algorithm来做到这一点。 无论如何,这是我最近的代码不起作用,但是这只是我已经完成的近2千行代码的一小段代码,没有预期的结果。 我知道我可以移动到更高级的东西,比如构build我自己的SCNProgram和/或SCNRenderer,然后访问GLSL,OpenGL和Metal复杂性,但是这似乎是应该可以使用Scenekit和GLKit向量结构之间的转换和从SCNVector结构,但到目前为止,这是不可能的: 码: 以下代码获取经度和纬度坐标并将其投影到3D球体的表面上。 这些坐标是通过一个专有函数返回的,我在这里构build了一个在我的3D球体上精确显示的{x,y,z}坐标的SCNVector3。 我在两组经度和纬度坐标之间绘制一条线,用原始线绘制线条穿过球体的中心。 所以,正如我上面提到的,我想要这个function,但是用圆柱体,而不是线(顺便提一下,这里列出的经度和纬度坐标是假的,它们是随机生成的,但都落在地球表面上)。 drawLine = [self lat1:37.76830 lon1:-30.40096 height1:tall lat2:3.97620 lon2:63.73095 height2:tall]; float cylHeight = GLKVector3Distance(SCNVector3ToGLKVector3(cooridnateSetOne.position), SCNVector3ToGLKVector3(coordinateSetTwo.position)); SCNCylinder * cylTest = [SCNCylinder cylinderWithRadius:0.2 height:cylHeight]; SCNNode * test = [SCNNode nodeWithGeometry:cylTest]; SCNMaterial *material = [SCNMaterial material]; [[material diffuse] setContents:[SKColor whiteColor]]; material.diffuse.intensity = 60; material.emission.contents = [SKColor […]
有没有一个简单的方法来指定“show”segue(以前称为“push”segue)的方向(从左,右,顶部或底部)? 默认的“show”segue从左到右,但是我希望它从下到上。
你知道如何在新的Cocos2D v3.x中animation一个CCSprite吗? 很多类都改变了,旧的方法似乎不起作用。 NSMutableArray *animFrames = [NSMutableArray array]; for(int i = 1; i <= 3; i++) { CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Sprite-%d.png",i]]; [animFrames addObject:frame]; } CCAnimation *animation = [CCAnimation animationWithName:@"run" delay:0.1f frames:animFrames]; [mySprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO]]]; 任何想法? 谢谢。 额外的信息
我看到这个post: iOS和发现明天 。 提供的代码是: units = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; NSDateComponents* comps = [[NSCalendar currentCalendar] components:units fromDate:[NSDate date]]; // Add one day comps.day = comps.day+1; // no worries: even if it is the end of the month it will wrap to the next month, see doc // Recompose a new date, without any time […]
我一直在我的应用程序中使用AFNetworking 2.0。 我注意到,如果我的Web服务返回一个500状态码,我没有得到响应的主体。 这里是我的PHP代码的一个例子 try { $conn = new PDO( "sqlsrv:server=$serverName;Database = $database", $uid, $pwd); $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); return $conn; } catch( PDOException $e ) { $response->status(500); echo( "Connection Error: " . $e->getMessage() ); } 如果我使用一个简单的rest客户端,这是一个响应主体的例子。 Connection Error: SQLSTATE[08001]: [Microsoft][SQL Server Native Client 11.0]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. 但是,这似乎是我能从AFNetworking得到的唯一答复 Error […]
我知道如何创build静音推送通知(播放无声的声音文件)。 我还想发送不振动手机的推送通知。 如下所示设置静音文件时,手机在locking或应用程序未处于活动状态时仍然会振动。 我的有效载荷仍然振动: { aps = { alert = { "loc-key" = "SOME_KEY"; }; badge = 1; sound = "silence.caf"; }; } 这可能吗?
我必须在iOS应用程序中为特定的C库提供C风格的callback。 callback没有void *userData或类似的东西。 所以我无法在上下文中循环。 我想避免引入全球范围来解决这个问题。 一个理想的解决scheme将是一个Objective-C块。 我的问题:有没有办法将一个块“投”到一个函数指针或包装/掩饰它?
我正在尝试将我的Apple Watch应用程序提交给Apple。 在validation时,它总是会出现各种info.plist问题。 其中之一说: The key 'CFBundleIcons~ipad' in bundle iPrayed.app/PlugIns/iPrayed WatchKit Extension.appex/iPrayed WatchKit App.app is invalid. 此外,我也得到各种错误以及无效的图标名称。 我已经find了这些,但我没有看到他们的任何地方。 此外,Watch App中的CFBundleIcons键永远不会显示在我所拥有的Info.plist中。 我究竟做错了什么? 下面附上三个截图,其中一个错误,一个显示目标的手表应用程序,以及我的一个在手表应用程序的图像资产文件。
我有一些Objective-C遗留代码,声明类似的方法 – (void)doSomethingWithArgument:(ArgType)argument error:(NSError **)error 正如在这里写的https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html Swift会自动将产生错误的Objective-C方法转换为根据Swift原生error handlingfunction抛出错误的方法。 但在我的项目中描述的方法是这样调用的: object.doSomething(argument: ArgType, error: NSErrorPointer) 而且,当我尝试使用它们时会抛出运行时exception: let errorPtr = NSErrorPointer() object.doSomething(argumentValue, error: errorPtr) 我是否需要更多的东西来将Objective-C“NSError **”方法转换成Swift“trows”方法?
我正在运行Xcode 5并为iOS 7构build。当我尝试构build此项目以进行存档时,出现此错误。 我得到它在我的本地机器和我的jenkins生成服务器。 我已经通过故事板,我没有find任何理由这个错误。 它在模拟器和设备上构build得很好。 我什至不知道什么是runtime.nib虽然addEditHCPViewController.nib引用的故事板内的视图控制器之一。 有任何想法吗? CompileStoryboard myApp/Profiles.storyboard cd "/builds/Company/workspace/myApp" setenv IBSC_MINIMUM_COMPATIBILITY_VERSION 6.1 setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" setenv XCODE_DEVELOPER_USR_PATH /Applications/Xcode.app/Contents/Developer/usr/bin/.. /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool –errors –warnings –notices –minimum-deployment-target 6.1 –output-format human-readable-text –compile /builds/Company/workspace/myApp/build/Distribution-iphoneos/myApp.app/Profiles.storyboardc /builds/Company/workspace/myApp/myApp/Profiles.storyboard /* com.apple.ibtool.document.warnings */ /builds/Company/workspace/myApp/myApp/Profiles.storyboard:jlW-RT-oUY: warning: 2 views are vertically ambiguous. /builds/Company/workspace/myApp/myApp/Profiles.storyboard:1Qm-h4-IZr: warning: Position is ambiguous for "Picker". /builds/Company/workspace/myApp/myApp/Profiles.storyboard:d8p-iA-2QW: warning: Frame for "Button" will […]