[Swift] 스프릿키트가 머리를 뽑는 위치에 직사각형을 만들어 내려놓고 쌓는다.
그림 완성
방법
GameScene.swift
는 다음과 같이 완성되었다.출처
GameScene.swift
import SpriteKit
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
// フレームサイズを、ビューの境界と同じにします。
self.size = view.bounds.size
// 重力の向きと強さを設定。
self.physicsWorld.gravity = CGVectorMake(0.4, -2.4)
// エッジを作ってノードが画面からはみ出さないようにします。
self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
}
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
// 長方形をつくる。
let rectangle = SKSpriteNode(color: UIColor.greenColor(), size: CGSizeMake(80, 40))
rectangle.position = location
// 長方形に物理的な性質をもたせる。(これで重力に従う。)
rectangle.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(80, 40))
self.addChild(rectangle)
}
}
override func update(currentTime: CFTimeInterval) {}
}
사이즈의 보충이라기보다는 잡감이다.
처음self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
나는 이렇게 하면 틀을 넘지 않을 것이라고 생각했지만 안 된다.바닥은 잘 드러나지만 직사각형은 양쪽으로 드러난다.
그러므로self.size = view.bounds.size
설정되었습니다.이렇게 하면 양쪽에서 드러나지 않을 거예요.
확인해 봤는데 지정self.size
전의 상태에서
치수 조사하기println(view.bounds.size) // (320.0,480.0)
println(self.frame.size) // (1024.0,768.0)
이렇게 됐어.그러니까 드러내야 돼.
Reference
이 문제에 관하여([Swift] 스프릿키트가 머리를 뽑는 위치에 직사각형을 만들어 내려놓고 쌓는다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mochizukikotaro/items/e7a47d23b35cc774f516
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
println(view.bounds.size) // (320.0,480.0)
println(self.frame.size) // (1024.0,768.0)
Reference
이 문제에 관하여([Swift] 스프릿키트가 머리를 뽑는 위치에 직사각형을 만들어 내려놓고 쌓는다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mochizukikotaro/items/e7a47d23b35cc774f516텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)