Add Bases, Autospawn 15 Bases
Add visual effect when base is touched
This commit is contained in:
parent
79dcc78f75
commit
ee69f2c345
@ -10,13 +10,29 @@ import SpriteKit
|
||||
import GameplayKit
|
||||
|
||||
class Base {
|
||||
var spriteNode: SKSpriteNode!
|
||||
var spriteNode: BaseNode!
|
||||
|
||||
init(frame: CGRect, color: UIColor, position: CGPoint) {
|
||||
spriteNode = SKSpriteNode(texture: SKTexture(imageNamed: "Base"), color: color, size: CGSize(width: 30.0, height: 30.0))
|
||||
spriteNode = BaseNode(texture: SKTexture(imageNamed: "Base"), color: color, size: CGSize(width: 50.0, height: 50.0))
|
||||
spriteNode.colorBlendFactor = 1
|
||||
spriteNode.name = "Base"
|
||||
spriteNode.position = position
|
||||
spriteNode.isUserInteractionEnabled = true
|
||||
}
|
||||
}
|
||||
|
||||
class BaseNode: SKSpriteNode {
|
||||
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
print("\(self.name!) was touched and is located at \(self.position)")
|
||||
self.run(
|
||||
SKAction.sequence(
|
||||
[
|
||||
SKAction.resize(byWidth: 20, height: 20, duration: 0.5),
|
||||
SKAction.resize(byWidth: -20, height: -20, duration: 0.5)
|
||||
]
|
||||
)
|
||||
)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@ -13,9 +13,28 @@ class GameScene: SKScene {
|
||||
|
||||
var entities = [GKEntity]()
|
||||
var graphs = [String : GKGraph]()
|
||||
var bases = [Base]()
|
||||
|
||||
override func sceneDidLoad() {
|
||||
|
||||
// Spawn bases
|
||||
for _ in 1...15 {
|
||||
let color = PlayerColors.colors.randomElement()
|
||||
let xRange = Int(frame.minX + frame.width * 0.07)...Int(frame.maxX - frame.width * 0.07)
|
||||
let yRange = Int(frame.minY + frame.height * 0.07)...Int(frame.maxY - frame.width * 0.07)
|
||||
let position = CGPoint(
|
||||
x: Int.random(in: xRange),
|
||||
y: Int.random(in: yRange)
|
||||
)
|
||||
|
||||
print("Generating Base at \(position)")
|
||||
|
||||
let base = Base(frame: frame, color: color!, position: position)
|
||||
|
||||
addChild(base.spriteNode)
|
||||
bases.append(base)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func touchDown(atPoint pos : CGPoint) {
|
||||
@ -31,7 +50,7 @@ class GameScene: SKScene {
|
||||
}
|
||||
|
||||
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
spawnBase()
|
||||
|
||||
}
|
||||
|
||||
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
|
||||
@ -49,10 +68,4 @@ class GameScene: SKScene {
|
||||
override func update(_ currentTime: TimeInterval) {
|
||||
|
||||
}
|
||||
|
||||
func spawnBase() {
|
||||
let color = PlayerColors.colors.randomElement()
|
||||
let base = Base(frame: frame, color: color!, position: CGPoint(x: 100, y: 100))
|
||||
addChild(base.spriteNode)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user