[Swift] 스왑 동작에 대한 샘플(SpriteKit 사용)
게임으로 새 프로젝트를 만들고, 테크놀로지로 미리 스피릿키트를 선택한다.
환경: Xcode6-Beta4
GameScene.swift
import SpriteKit
class GameScene: SKScene {
var square: SKSpriteNode!
var startPos: CGPoint!
var beganPos: CGPoint!
override func didMoveToView(view: SKView) {
square = SKSpriteNode(color: UIColor.redColor(), size: CGSizeMake(80, 80))
square.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
self.addChild(square)
startPos = CGPointMake(
square.position.x,
square.position.y
)
println(startPos)
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
let touch: AnyObject! = touches.anyObject()
beganPos = touch.locationInNode(self)
println(beganPos)
println(square.position)
}
override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!) {
var touch: AnyObject! = touches.anyObject()
var movedPos:CGPoint = touch.locationInNode(self)
var diffPos:CGPoint = CGPointMake(
movedPos.x - beganPos.x,
movedPos.y - beganPos.y)
println(diffPos)
square.position = CGPointMake(
startPos.x + diffPos.x,
startPos.y + diffPos.y
)
}
override func touchesEnded(touches: NSSet!, withEvent event: UIEvent!) {
startPos = CGPointMake(square.position.x, square.position.y)
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
}
힘이 들어가기 때문에 해설과 소스가 예쁜 작업이 뒤따른다.먼저 이동해서 올렸어요.
Reference
이 문제에 관하여([Swift] 스왑 동작에 대한 샘플(SpriteKit 사용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mochizukikotaro/items/4b7d9d40e828379c6fd9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)