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"를 조정하면 페이드 시간을 변경할 수 있습니다.
좀 더 매끄럽게 쓸 수 있을지 모르겠지만 어쨌든 그런 동작을 할 수 있으니 잊지 말고 적어 놓으세요.
Reference
이 문제에 관하여(SpriteKit가 터치하는 곳에 애니메이션 보이기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/swiftman/items/eac101f59030132aaa54
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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"를 조정하면 페이드 시간을 변경할 수 있습니다.
좀 더 매끄럽게 쓸 수 있을지 모르겠지만 어쨌든 그런 동작을 할 수 있으니 잊지 말고 적어 놓으세요.
Reference
이 문제에 관하여(SpriteKit가 터치하는 곳에 애니메이션 보이기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/swiftman/items/eac101f59030132aaa54텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)