我想在主相机视图的Z轴前方放置一个UIView。我添加了如下代码。我正在尝试使用CATransform3DTranslate,但JAPanoView(它是一个uiview)没有显示在Z轴中,提到的值在相机视图的前面。有人能告诉我,我该如何实现它吗?
-(void) initializeScene {
// Create the camera, place it back a bit, and add it to the scene
CC3Camera* cam = [CC3Camera nodeWithName: @"Camera"];
cam.location = cc3v( 0.0, 0.0, 12.0 );
[self addChild: cam];
// Create a light, place it back and to the left at a specific
// position (not just directional lighting), and add it to the scene
CC3Light* lamp = [CC3Light nodeWithName: @"Lamp"];
lamp.location = cc3v( 0.0, 40.0, 0.0 );
lamp.isDirectionalOnly = NO;
[cam addChild: lamp];
// JAPanoView IS AN UIVIEW
JAPanoView *panoView=[[JAPanoView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
//self.view=panoView;
panoView.delegate=self;
[panoView setFrontImage:[UIImage imageNamed:@"Home_front.png"] rightImage:[UIImage imageNamed:@"Home_right.png"] backImage:[UIImage imageNamed:@"Home_back.png"] leftImage:[UIImage imageNamed:@"Home_left.png"] topImage:[UIImage imageNamed:@"Home_up.png"] bottomImage:[UIImage imageNamed:@"Home_down.png"]];
CATransform3D _3Dt = CATransform3DIdentity;
_3Dt = CATransform3DTranslate(_3Dt, 0, 0, -30);
panoView.layer.transform = _3Dt;
[[[CCDirector sharedDirector] openGLView] addSubview:panoView];
// Create OpenGL ES buffers for the vertex arrays to keep things fast and efficient,
// and to save memory, release the vertex data in main memory because it is now redundant.
[self createGLBuffers];
[self releaseRedundantData];
}
UIViews的z顺序是它们在其超视图的子视图属性中的顺序。要将一个子视图放在另一个子视图前面,用户可以简单地按正确的顺序添加子视图,按此顺序将它们放在XIB文件中,或者使用bringSubviewToFront。