[Swift] SpriteKit를 사용하여 사방에 닿는 위치로 이동합니다.이동 시간도 지정해 봅니다.

6237 단어 XcodeSwiftSpriteKit
Sprite Kit를 사용하여 사각형을 표시하여 그것을 만진 위치로 이동시킵니다.

그림 완성


gif라서 석탄이지만 실제로는 매끈매끈해요.

환경은 Xcode6-Beta4입니다.
사각형을 표시하는 방법은 다음과 같습니다.
http://qiita.com/mochizukikotaro/items/17372688bf7cd55195b1

우선 탭 위치로 순간이동한 소스.

  • "Game"템플릿을 선택하여 새 프로젝트를 만듭니다.
  • 게임 Tchnology에서 "SpriteKit"를 선택합니다.
  • GameScene.swift 다음 그림과 같이 완료되었습니다.
  • GameScene.swift
    import SpriteKit
    class GameScene: SKScene {
    
        // 四角を作成。
        let square = SKSpriteNode(
            color: UIColor.blueColor(),
            size: CGSizeMake(120, 120)
        )
    
        override func didMoveToView(view: SKView) {
    
            // 画面が最初に表示されるときは、真ん中に四角を配置しています。
            self.square.position = CGPoint(
                x: CGRectGetMidX(self.frame),
                y: CGRectGetMidY(self.frame)
            )
    
            self.addChild(square)
        }
    
        override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    
            // タップの度に呼び出す処理を書きます。
            for touch: AnyObject in touches {
                let location = touch.locationInNode(self)
    
                // 瞬間移動させています。
                self.square.position = location
            }
        }
    
        override func update(currentTime: CFTimeInterval) {
            /* Called before each frame is rendered */
        }
    }
    

    다음 이동에 필요한 시간을 지정하는 방법.


    위와 거의 마찬가지로 touchesBegan의 내용만 바꾼다.터치 이동 사용 시SKActionrunAction.
    GameScene.부분 swift
    
    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        for touch: AnyObject in touches {
            let location = touch.locationInNode(self)
    
            // 移動時間を3秒に指定しています。
            let travelTime = SKAction.moveTo(location, duration: 3)
            self.square.runAction(travelTime)
        }
    }
    
    

    좋은 웹페이지 즐겨찾기