스피릿키트의 1염과 램프를 시도해보도록 하겠습니다.

8366 단어 SwiftSpriteKit
제목과 같이 화염과 광원의 조명 처리를 첨가해 보았다.

1. X코드로 새 프로젝트를 만들 때 Game을 선택하고 Game Technology로 "Sprite Kit"를 선택한다.

2. 프로젝트에 파일을 추가하여 [SpriteKit Partical File]을 선택합니다.

3. 불은 색깔을 마음대로 바꿀 수 있어서 파란색으로 만들어 보았어요.

4. 샘플 헤드셋 사건을 덮어쓰고 헤드셋에 불을 낸다.불이 나도 광원이 아니다.그래서 광원으로서 화염이 나오는 곳에 조명을 추가했다.빛의 색깔을 화염과 같다.
GameScene.swift
 override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        /* Called when a touch begins */

        for touch: AnyObject in touches {
            let location = touch.locationInNode(self)


            let firePath = NSBundle.mainBundle().pathForResource("MyParticle", ofType: "sks")

            var fire = SKEmitterNode()
            fire = NSKeyedUnarchiver.unarchiveObjectWithFile(firePath!) as SKEmitterNode

            fire.xScale = CGFloat(0.5)
            fire.yScale = CGFloat(0.5)
            fire.position = location

            self.addChild(fire)

            let lightSprite = SKLightNode()
            lightSprite.position = location
            lightSprite.name = "lightSprite"
            lightSprite.categoryBitMask = 1
            lightSprite.lightColor = UIColor.blueColor()
            self.addChild(lightSprite)


        }
    }

5. 광원이 있어 그림자가 생기는 것은 SKSpriteNode뿐이므로 배경에 추가합니다.
GameScene.swift
    override func didMoveToView(view: SKView) {
        /* Setup your scene here */
        let myLabel = SKLabelNode(fontNamed:"Chalkduster")
        myLabel.text = "Hello, World!";
        myLabel.fontSize = 65;
        myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame));
        self.addChild(myLabel)

        let sprite = SKSpriteNode(color: UIColor.grayColor(), size: CGSizeMake(300, 300))

        sprite.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
        sprite.lightingBitMask = 1

        self.addChild(sprite)
    }
이상은 간단하고 재미있는 공연이었습니다.어디서 이용할 수 있었으면 좋겠어요.

좋은 웹페이지 즐겨찾기