Skip to content

Instantly share code, notes, and snippets.

FROM swift:4
WORKDIR /build
COPY Sources ./Sources
COPY Package.swift .
RUN swift package resolve
RUN swift build
COPY pkg-swift-deps.sh /usr/bin/pkg-swift-deps
#!/bin/bash
BIN="$1"
OUTPUT_TAR="${2:-swift_libs.tar.gz}"
TAR_FLAGS="hczvf"
DEPS=$(ldd $BIN | awk 'BEGIN{ORS=" "}$1\
~/^\//{print $1}$3~/^\//{print $3}'\
| sed 's/,$/\n/')
tar $TAR_FLAGS $OUTPUT_TAR $DEPS
@jjacobson93
jjacobson93 / skaction_test6.swift
Created March 20, 2017 23:51
Custom SKAction
let updateTimeLabel = SKAction.customAction(withDuration: 5) {
(node, elapsedTime) in
if let label = node as? SKLabelNode {
label.text = "\(elapsedTime)s"
}
}
let timeLabel = SKLabelNode(fontNamed: "Chalkduster")
timeLabel.text = "0s"
timeLabel.run(updateTimeLabel)
@jjacobson93
jjacobson93 / skaction_test5.swift
Created March 20, 2017 23:32
Run block SKAction
let coin = SKSpriteNode(imageNamed: "coin.png")
let animate = SKAction.rotate(byAngle: π/2, duration: 0.75)
let updateScore = SKAction.run {
scoreValue += 10
}
let sequence = SKAction.sequence([animate, updateScore])
coin.run(sequence)
@jjacobson93
jjacobson93 / skaction_test4.swift
Created March 17, 2017 07:24
Repeat SKAction
let moveAction = SKAction.moveBy(x: 10, y: -15, duration: 0.8)
let player = SKSpriteNode(imageNamed: "player.png")
let moveFiveTimes = SKAction.repeat(moveAction, count: 5)
player.run(moveFiveTimes)
@jjacobson93
jjacobson93 / skaction_test3.swift
Created March 16, 2017 02:59
Grouping SKActions
let moveAction = SKAction.moveBy(x: 10, y: -15, duration: 0.8)
let rotateAction = SKAction.rotate(byAngle: π, duration: 0.5)
let moveAndRotate = SKAction.group([moveAction, rotateAction])
let player = SKSpriteNode(imageNamed: "player.png")
player.run(moveAndRotate)
@jjacobson93
jjacobson93 / skaction_test2.swift
Created March 16, 2017 02:50
Running an SKAction
let moveAction = SKAction.moveBy(x: 10, y: -15, duration: 0.8)
let player = SKSpriteNode(imageNamed: "player.png")
player.run(moveAction)
@jjacobson93
jjacobson93 / skaction_test1.swift
Created March 16, 2017 02:45
Creating an SKAction
let moveAction = SKAction.moveBy(x: 10, y: -15, duration: 0.8)
func giveMeAStringMaybe(_ maybe: Bool) -> String? {
return maybe ? "Yes!" : nil
}
let str1: String? = giveMeAStringMaybe(true)
let lowercaseStr1: String? = str1?.lowercased()
print(lowercaseStr2) // prints: "yes!"
let str2: String? = giveMeAStringMaybe(false)
let lowercaseStr2: String? = str2?.lowercased()
@jjacobson93
jjacobson93 / guard_let_test1.swift
Last active March 14, 2017 20:57
Swift Guard-let Statement
func giveMeAStringMaybe(_ maybe: Bool) -> String? {
return maybe ? "Yes!" : nil
}
let str: String? = giveMeAStringMaybe(true)
guard let unwrappedStr = str else {
print("str is nil")
// unwrappedStr is NOT accessible here
return
}