其实,对于普通基本的使用来说,PanoramaGL不难。
按照Google上的步骤,很简单。其中注意一下几点:
因为,这个项目是12年更新的,所以没有使用ARC,如果,你引用了它的库,你会发现ARC错误,即使你全部加上-fno-objc-arc,你也会发现**变量的错误,网上有改正的方法,但是有的地方,改了还是报错,而且许多地方都要更改(**,-fno-objc-arc),所以,我选择建立工程后,把工程修改为不适用ARC,对自己新建的文件修改,添加-f-objc-arc,使用ARC。这样即使报错,双击fix一下就编译通过了。
以下是我的代码。
.h文件
@interface ViewController : UIViewController <PLViewDelegate>//热点代理
{
@private
PLView *plView;
}
.m文件
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
plView = (PLView *)self.view;
plView.delegate = self;
//开启加速
plView.isAccelerometerEnabled = YES;
//水平 加速
plView.isAccelerometerLeftRightEnabled = YES;
//灵敏度
plView.accelerometerSensitivity = kAccelerometerSensitivityMinValue;
/*
#define kDefaultAccelerometerSensitivity 7.0f
#define kDefaultAccelerometerInterval 1.0f/60.0f
#define kAccelerometerSensitivityMinValue 1.0f
#define kAccelerometerSensitivityMaxValue 10.0f
#define kAccelerometerMultiplyFactor 100.0f
*/
//刷新时间间隔 秒[NSTimeInterval
plView.accelerometerInterval = 0.01f ;
[self _loadView];
- (void)_loadView
{
//添加全景图片
NSObject<PLIPanorama> *panorama = [PLSphericalPanorama panorama];
[(PLSphericalPanorama *)panorama setTexture:[PLTexture textureWithImage:[PLImage imageWithPath:[[NSBundle mainBundle] pathForResource:@"3" ofType:@"jpg"]]]];
//Add a hotspot
//添加热点
PLTexture *hotspotTexture = [PLTexture textureWithImage:[PLImage imageWithPath:[[NSBundle mainBundle] pathForResource:@"hotspot" ofType:@"png"]]];
PLHotspot *hotspot = [PLHotspot hotspotWithId:1 texture:hotspotTexture atv:0.10f ath:0.10f width:0.08f height:0.08f];
//width height 热点大小 atv上正数下负数 ath 位置右边正数 左边负数
[panorama addHotspot:hotspot];
PLHotspot *hotspot1 = [PLHotspot hotspotWithId:2 texture:hotspotTexture atv:-13.1f ath:55.10f width:0.08f height:0.08f];
[panorama addHotspot:hotspot1];
[plView setPanorama:panorama];
}
//Hotspot event
//热点事件
- (void)view:(UIView<PLIView> *)pView didClickHotspot:(PLHotspot *)hotspot screenPoint:(CGPoint)point scene3DPoint:(PLPosition)position
{
NSLog(@"点击了热点%d",(int)hotspot.identifier);
}
热点的作用为:随着图片转动。所以,你想标示一个图片上的固定点,你就需要热点了。最后给出两个参考的网址
http://www.codeproject.com/Articles/60635/Panorama-iPod-Touch-iPhone 许多博客都是翻译的这个
https://code.google.com/p/panoramagl/wiki/UserGuide 可以根据这个建立工程
一个重要的文件
PLConstants.h许多不懂的参数可以到这来看看默认的设置
转载是请保留:来自http://blog.youkuaiyun.com/ralbatr