0
在SpriteKit中,我可以使用觸摸位置在目標中記錄「命中」,目標中心「靶心」具有座標(0,0)。大量的拍攝後,我會用CGPoints作爲數組獲取所有匹配。由於目標是500 x 500點(SKScene,sks文件),所有點擊可以有一個從-250到+250的x位置,同樣也適用於y位置。Swift:如何將CGPoints從SpriteKit轉換爲CGRect?
在attatched照片中,命中在約(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
}
降低的鏡頭使得熱走高排列不同的x和y值。
我該如何解決這個問題?必須將所有點都轉換爲適合另一個座標系,或者必須改變製作熱圖的CGrect的座標。如何才能做到這一點?