Ошибка Swift компилятора: «Double» не конвертируется в CGFloat

Я только начал изучать Свифта. Я создал игровой проект и придумал шаблон. Я ничего не сделал с кодом. Я попытался запустить проект, но возникла ошибка компилятора.

Я ухожу из учебника, так что это может быть что-то не так с моей средой, или книга уже устарела.

Ошибка Swift компилятора: «Double» не конвертируется в CGFloat

import SpriteKit class GameScene: SKScene { override func didMoveToView(view: SKView) { /* Setup your scene here */ let myLabel = SKLabelNode(fontNamed:"Chalkduster") myLabel.text = "Hello, World!"; myLabel.fontSize = 65; myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)); self.addChild(myLabel) } override func mouseDown(theEvent: NSEvent) { /* Called when a mouse click occurs */ let location = theEvent.locationInNode(self) let sprite = SKSpriteNode(imageNamed:"Spaceship") sprite.position = location; sprite.setScale(0.5) let action = SKAction.rotateByAngle(M_PI, duration:1) sprite.runAction(SKAction.repeatActionForever(action)) self.addChild(sprite) } override func update(currentTime: CFTimeInterval) { /* Called before each frame is rendered */ } } 

Ошибка возникает в let action = SKAction.rotateByAngle(M_PI, duration:1)

Вот скриншот настроек проекта введите описание изображения здесь

3 Solutions collect form web for “Ошибка Swift компилятора: «Double» не конвертируется в CGFloat”

Вы можете преобразовать его с помощью CGFloat(M_PI) .

Например, следующий код должен работать в вашем случае (обратите внимание на использование CGFloat )

 let action = SKAction.rotateByAngle(CGFloat(M_PI), duration:1) 

Вы можете объявить pi как это в вашем коде: let π = CGFloat(M_PI) а затем использовать let action = SKAction.rotateByAngle(π, duration:1)

Если вы собираетесь использовать π много, это намного проще.

Вы можете ввести π с ярлыком alt + p

Если вы работаете на 32-битной iOS, то Double не конвертируется в CGFloat, вам нужно добавить литье.

  • Ошибка: неверная версия битового кода (производитель: «800.0.24.1_0» Reader: «703.0.31_0») с XCode 7.3.1
  • как добавить xib-файл в статическую библиотеку в iOS
  • Rounded rect с использованием UIRectCorner в Swift не работает
  • Любой способ использовать Xcode 3 с iOS SDK 4.3?
  • Как проверить, существует ли файл в папке «Документы»?
  • iOS 8.2 не обращение к diddiscoverservices
  • UIPopoverController Dismissal
  • iOS - использование инфраструктуры импорта CocoaPods, но не может ее использовать
  • Объект против внешнего объекта в XCode Interface Builder
  • Повторяющийся self performSelector
  • Как отправить обновленное приложение для iOS с 64-разрядной версией
  • Interesting Posts

    NSPredicate от выбора основных данных по идентификатору объекта (и потенциальному суммированию)

    Соединение Swift 2 OAuth2 LinkedIn

    Форматирование даты и времени в ячейках UITableView

    iOS – выход (0) устарел?

    Как играть в NSData из основных данных в AVAudioPlayer

    Как имитировать HTTP-форму (POST) отправить на iOS

    sqlite.swift, похоже, не фиксирует диск

    XCode Project: как создавать подпроекты как статические библиотеки?

    Приложение IOS bluetooth «Заблокировано из-за сигнала 9» ТОЛЬКО В РЕЖИМЕ ПРЕДПОСЫЛКИ

    Маркер не находит на карте google в subview IOS SWIFT

    viewDidLoad вызывается до выполнения всего метода init

    iOS: могу ли я распространять различные файлы .ipa в разных странах в хранилище APP

    Возможно ли иметь приложение iOS, которое не поддерживает ARC, но с некоторыми файлами дуги?

    Изменить на wantSoftwareDimming в iOS 6?

    Запросить поток тела, исчерпанный при использовании Parse's saveInBackgroundWithBlock:

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.