Nodeと背景の間に、タップした場所でベジェ曲線を描画したい。
当方Swift初心者です。
現在、SpriteKitを使ってアプリを作っています。
タップした場所に、Nodeを移動するところまでできたのですが、画面の中心からNodeまでベジェ曲線(放物線)を描画したいのですが、方法がわかりません。
どなたかご教授ください。
現在の階層は、
Node
背景
の順になっているので、
Node
曲線
背景
の順にしたいと思っています。
現在まで完成しているコードは下記になります。
以下GameScene
import UIKit
import SpriteKit
class GameScene: SKScene {
var myImage : SKSpriteNode!
override func didMoveToView(view: SKView) {
//背景画像。SKSPriteNodeで画像を読み込む。
let backGround = SKSpriteNode(imageNamed:"背景")
//背景を画面の中央に配置する
backGround.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
//画像のサイズを画面に合わせる
backGround.size = self.size
//画像を最下層に設置
backGround.zPosition = -CGFloat.infinity
// シーンに追加.
self.addChild(backGround)
// GameSceneの背景色を青色にする.
self.backgroundColor = UIColor.blueColor()
// Node画像を生成.
myImage = SKSpriteNode(imageNamed:"Node")
// Node画像の描画場所を指定.
myImage.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame));
// シーンに追加.
self.addChild(myImage)
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch: AnyObject in touches {
// タッチされた場所の座標を取得.
let location = touch.locationInNode(self)
//座標獲得
let pointXY = (location.x,location.y)
print(pointXY)
// タッチされた場所に画像を移動.
myImage.position = location
}
}
}
以上GameScene
以下ViewController
import UIKit
import SpriteKit
class ViewController: UIViewController {
override func viewWillAppear(animated: Bool) {
let skView = self.view as! SKView
// 画面サイズと同じ大きさのscene作成
// ストーリーボードでviewのクラスをSKViewに設定しているので、SKViewのインスタンスとして取得できる
let scene = GameScene(size: skView.bounds.size)
// SKView上にsceneを設定
skView.presentScene(scene)
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
以上ViewController
よろしくお願いします。