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

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

ツールをもっと作る@コードを学ぼう3

// ツールをもっと作る@コードを学ぼう3
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 = randomDouble(from: 0.5, to: 2.0)
}

func addSwirlingAlien(touch: Touch) {
    if touch.previousPlaceDistance < 60 { return }
    let graphic = Graphic(image: 👽)
    scene.place(graphic, at: touch.position)
    graphic.swirlAway(after: 2.5)
}

func addGreeting(touch: Touch) {
    if touch.previousPlaceDistance < 60 { return }
    let greetings = ["howdy", "hello", "hi", "g’day"]
    let greeting = greetings.randomItem
    let graphic = Graphic(text: greeting)
    graphic.textColor = #colorLiteral(red: 0.8078431487, green: 0.02745098062, blue: 0.3333333433, alpha: 1)
    graphic.fontName = .chalkduster
    scene.place(graphic, at: touch.position)
    graphic.rotation = randomDouble(from: -30.0, to: 30.0)
}

// Create and add Fruit tool.
// ツールの名前を絵文字アイコンを指定して、ツールを作る
let fruitTool = Tool(name: "フルーツ", emojiIcon: "🥝")
// ツールの「指を動かした」イベントハンドラに、addFruit関数を設定
fruitTool.onFingerMoved = addFruit(touch:)
// 新しいツールをシーンに追加
scene.tools.append(fruitTool)

// Create and add Alien tool.
let alienTool = Tool(name: "エイリアン", emojiIcon: "👽")
alienTool.onFingerMoved = addSwirlingAlien(touch:)
scene.tools.append(alienTool)

// Create and add Greeting tool.
let greetingTool = Tool(name: "挨拶", emojiIcon: "👋")
greetingTool.onFingerMoved = addGreeting(touch:)
scene.tools.append(greetingTool)