#ios #swift #sprite-kit
#iOS #swift #sprite-kit
Вопрос:
var _deltaTime = NSTimeInterval()
var _pointsPerScndSpeed = Double()
var bgVelocity: CGPoint = CGPointMake(_pointsPerScndSpeed, 0.0)
//Cannot convert the expression's to type 'CGFloat'
var amToMove:CGPoint = CGPointMake(bgVelocity.x * _deltaTime, bgVelocity.y * _deltaTime)
//Could not find an overload for '*' that accepts the supplied Arguments
Комментарии:
1. @Yatheesha: Он компилируется на 64-разрядной версии, но не на 32-разрядной.
Ответ №1:
Члены CGPoint
имеют тип CGFloat
, который является a Float
для 32-разрядной архитектуры и Double
для 64-разрядной архитектуры. Swift неявно преобразует типы. Вы можете либо использовать CGFloat
последовательно в своем коде, либо добавить явные приведения:
var bgVelocity: CGPoint = CGPointMake(CGFloat(_pointsPerScndSpeed), 0.0)
var amToMove:CGPoint = CGPointMake(bgVelocity.x * CGFloat(_deltaTime), bgVelocity.y * CGFloat(_deltaTime))