大宮盆栽デイズ - Omiya Bonsai Days -

冗談めかす埼玉のファインマン

イベントごとにツールを作る@コードを学ぼう3

下の解答例は不正解のようです。気になりますが、次に進みます。

// イベントごとにツールを作る@コードを学ぼう3
// A “finger moved” event handler.
func addAlien(touch: Touch) {
    if touch.previousPlaceDistance < 60 { return }
    let graphic = Graphic(image:  👽)
    scene.place(graphic, at: touch.position)
}

// A “graphic touched” event handler.
func fattenAlien(graphic: Graphic) {
    graphic.scale *= 1.5
}

func smallAlien(graphic:Graphic) {
    graphic.scale *= 0.5
}

// Create Tool A.
let toolA = Tool(name: "Tool A", emojiIcon: "🅰️")
// Swap event handler.
toolA.onGraphicTouched = fattenAlien(graphic:)
scene.tools.append(toolA)

// Create Tool B.
let toolB = Tool(name: "Tool B", emojiIcon: "🅱️")
// Swap event handler.
toolB.onFingerMoved = addAlien(touch:)
scene.tools.append(toolB)

let toolC = Tool(name: "Tool C", emojiIcon: "©️")
toolC.onGraphicTouched = smallAlien(graphic:)
scene.tools.append(toolC)