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

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

グラフィックを変える@コードを学ぼう3

コードを追加したのは、`Modify alpha`の部分だけです。alpha の値が0.25より大きければ、0.25に変更。そうでないならば、alpha を1.0に変更ということだけです。

// グラフィックを変える@コードを学ぼう3
// “Graphic touched” event handler.
func modifyGraphic(graphic: Graphic) {
    // Modify alpha.
    if graphic.alpha > 0.25 {
        graphic.alpha = 0.25
    } else {
        graphic.alpha = 1.0
    }
    // Modify scale.
    if graphic.scale < 2.0 {
        graphic.scale = 2.5
    } else {
        graphic.scale = 1.5
    }
}
// “Finger moved” event handler.
func addFruit(touch: Touch) {
    if touch.previousPlaceDistance < 60 { return }
    let fruit = "🍏🍐🍊🍋🍉🍒🍓🍌".componentsByCharacter()
    let graphic = Graphic(text: fruit.randomItem)
    scene.place(graphic, at: touch.position)
    graphic.scale = 2.5
}

// Create and add Fruit tool.
let fruitTool = Tool(name: "Fruit", emojiIcon: "🍒")
fruitTool.onFingerMoved = addFruit(touch:)
scene.tools.append(fruitTool)

// Create and add Modify tool.
let modifyTool = Tool(name: "Modify", emojiIcon: "⚒")
modifyTool.onGraphicTouched = modifyGraphic(graphic:)
scene.tools.append(modifyTool)