스피릿키트의 1염과 램프를 시도해보도록 하겠습니다.
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)
}
이상은 간단하고 재미있는 공연이었습니다.어디서 이용할 수 있었으면 좋겠어요.
Reference
이 문제에 관하여(스피릿키트의 1염과 램프를 시도해보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rnsm504/items/b5ccb597da9a1aa491c8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)