2016-05-14 10 views
0

SpriteKitでは、ターゲットの中心である「ブルズアイ」の座標(0,0)を持つターゲットに「ヒット」を記録するためにタッチロカトンを使用できます。十分な射撃の後、私はすべてのヒットをCGPointsの配列としてフェッチします。ターゲットは500 x 500ポイント(SKScene、sks-file)なので、すべてのヒットは-250から+250までのx位置を持ち、同様にy位置を持つことができます。貼ら写真でSwift:CGPointをSpriteKitからCGRectに変換する方法は?

Target

、ヒットは、約(150、150)に点として登録されています。

問題は、有名なLFHeatMap https://github.com/gpolak/LFHeatMapを使用するときに発生します。

+ (UIImage *)heatMapWithRect:(CGRect)rect 
         boost:(float)boost 
         points:(NSArray *)points 
        weights:(NSArray *)weights; 

LFHeatMap私はUIImageViewに追加する配列に基づいて、UIImageを生成します。問題はUIViewsはSKScenes

func setHeatMap() { 

     let points = getPointsFromCoreData() 
     let weigths = getWeightsFromCoreData() 

     var rect = CGRectMake(0, 0, 500, 500) 
     rect.origin = CGPointMake(-250, -250) 


     let image = 
LFHeatMap.heatMapWithRect(rect, boost: 1, points: points, weights: weights) 
     heatMapView.contentMode = UIViewContentMode.ScaleAspectFit 
     heatMapView.image = image 
    } 
ショットを下げる

enter image description here

より高い熱移動を行う 異なって配置され、xとyの値を有することです。

どうすればこの問題を解決できますか?すべての点を別の座標系に合わせるために変換するか、またはヒートマップを作成するCGrectの座標を変更する必要があります。これはどうすればできますか?

答えて

0

これは、ソリューションが最初に発生したときには非常に簡単でした。 ループを通ってpoints配列を実行し、point.yに-1を掛けます。 y軸上のすべてのvalusが正しいです。

関連する問題