SpriteKit가 터치하는 곳에 애니메이션 보이기

4811 단어 SwiftSpriteKit

개시하다


친구가 스프릿키트가 만든 애플리케이션을 보다가 혼났어요.
"터치하는 곳에는 애니메이션 디스플레이가 있고, 터치하는 곳에는 쉽게 분별할 수 있는 앱이 있어서 좋다."
일본어로 표현하면 이해하기 어렵지만 아래의 동작.

준비물

  • 클릭 시 표시되는 이미지
  • SpriteKit 사용 가능한 상태의 항목
  • 소스 코드

    
    import SpriteKit
    import GameplayKit
    
    class GameScene: SKScene {
        let img_circle = SKSpriteNode(imageNamed: "circle.png")  //表示される画像
        let action1 = SKAction.fadeIn(withDuration: 0)           //表示アクション
        let action2 = SKAction.fadeOut(withDuration: 0.5)        //フェードアウトアクション
        var actions = SKAction()                                 //表示とフェードアウトをセットにするシーケンス
    
    
        override func didMove(to view: SKView) {
            self.addChild(img_circle) //タッチ時にシーンに表示される画像をシーンに追加
    
            img_circle.alpha = 0      //タッチされないと表示しないのでalphaを0に設定
    
            //非表示状態の画像を表示してフェードアウトさせるシーケンスを作成
            actions = SKAction.sequence([
                action1,
                action2
                ])
        }
    
        //タッチイベント時処理
        override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
            for touch in touches{
                let location = touch.location(in: self) //タッチされた座標を取得
                img_circle.position = location          //タッチ時に表示する画像の位置を設定
                img_circle.run(actions)                 // アクションを実行させる.
            }
        }
    }
    
    

    최후


    "withDruration"의 "0.5"를 조정하면 페이드 시간을 변경할 수 있습니다.
    좀 더 매끄럽게 쓸 수 있을지 모르겠지만 어쨌든 그런 동작을 할 수 있으니 잊지 말고 적어 놓으세요.

    좋은 웹페이지 즐겨찾기