SceneKit_大神03_navigationbar上的3D文字
让学习成为一种习惯
教你如何在IOS中制作NavigationBar 上的3D-Title
效果图如下:
帅吧,一起来学习
一定要自己动手
若引用
动手做哦
// 这是view的颜色和navigation的颜色一致
self.scnView.backgroundColor = [UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1];
//创建场景
self.scnView.scene = [SCNScene scene];
SCNNode *cameraNode =[SCNNode node];
cameraNode.camera = [SCNCamera camera];
cameraNode.position = SCNVector3Make(0, 0, 20);
[self.scnView.scene.rootNode addChildNode:cameraNode];
SCNNode *lightNode = [SCNNode node];
lightNode.light = [SCNLight light];
lightNode.light.type = SCNLightTypeDirectional;
[self.scnView.scene.rootNode addChildNode:lightNode];
self.textNode = [SCNNode node];
[self.scnView.scene.rootNode addChildNode:self.textNode];
self.text = [SCNText textWithString:@"首页" extrusionDepth:3];
self.text.font = [UIFont fontWithName:@"苹果" size:10];
self.text.containerFrame = CGRectMake(-50, -15, 100, 20);
self.text.wrapped = true;
self.text.alignmentMode = kCAAlignmentCenter;
self.text.firstMaterial.diffuse.contents = [UIColor blackColor];
self.textNode.geometry = self.text;
self.inputTextField.delegate = self;
// 代理事件
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
self.text = [SCNText textWithString:textField.text extrusionDepth:3];
self.text.font = [UIFont fontWithName:@"苹果" size:10];
self.text.firstMaterial.diffuse.contents = [UIColor greenColor];
self.text.containerFrame = CGRectMake(-50, -15, 100, 20);
self.text.wrapped = true;
self.text.alignmentMode = kCAAlignmentCenter;
self.textNode.geometry = self.text;
[textField resignFirstResponder];
return true;
}
self.text.firstMaterial.diffuse.contents = [UIColor colorWithRed:self.RSlider.value green:self.GSlider.value blue:self.BSlider.value alpha:1];
[self.textNode runAction:[SCNAction repeatActionForever:[SCNAction rotateByX:1 y:0 z:0 duration:1]]];
总结: 这个SceneKit 游戏引擎的很简单和我们的应用程序相结合的案例,之后还有更多精彩内容奉上,请持续关注!