Bubbleでカウントダウンを実装!カスタムステートでタイマー機能を作成

こんにちは、NoCodeCampのツバサです。

今日は、「Bubble」を使って、カウントダウン機能をノーコードで実装する方法を解説します。 このチュートリアルでは、ボタンを押すとカウントダウンが始まり、値が減っていく出来上がります。


やりたいこと

  1. ボタンを押した時に、3秒からカウントダウンを開始する。
  2. 3秒から減算して、2秒、1秒と持続的に値を表示する。
  3. 値が0になったらカウントダウンを止める。

ここで覚えるBubbleの手順

  • カスタムステート: 動的な値を管理するために使用。今回の例では、カウントダウンの数値を保持します。
  • Custom Event: 繰り返し処理や特定の条件で実行するアクションを定義できます。
  • Dynamic Data: ページや要素に紐づくデータを表示するための設定。

Bubbleを使った実装の手順

エレメントの配置

  1. 「ボタン」を配置します。
    • 名前を「試験開始」に設定。
  2. 「テキスト」要素を配置します。
    • カウントダウンの値を表示するための場所として、表示値を補正。

カスタムステートの設定

  1. ページ配下 exam に「カスタムステート」を設定します。
    • 名前を「countdowntimer」にし、値の型を「Number」に設定。
    • 初期値を(例)「3」に設定。

ボタン押下時のワークフロー設定

  1. ボタン要素にワークフローを追加します。
  2. アクションの設定:
    • Step 1: countdowntimerの値を「3」に設定。
    • Step 2: Custom Eventを「1秒後にスケジュール」します。

Custom Event の構築

カウントダウン機能を構築するために、Workflowがあと2つ作りましょう。

  1. Decrement Countdown
    • 名前: Decrement Countdown
    • アクションの設定:
      • Step 1: countdowntimerの値を This Page's countdowntimer - 1 に更新します。
      • Step 2: 値が「0」より大い場合のみ、再度 Custom Event 2nd-Decrement Countdownをスケジュールします。
  2. 2nd-Decrement Countdown
    • 名前: 2nd-Decrement Countdown
    • アクションの設定:
      • Step 1: countdowntimerの値をさらに This Page's countdowntimer - 1 に更新します。
      • Step 2: 値が「0」より大い場合のみ、再度 Custom Event Decrement Countdownをスケジュールします。

このように、Decrement Countdown2nd-Decrement Countdown の間でループすることで、連続的にカウントダウンが進む仕組みを実現します。

表示用テキスト要素の設定

  1. テキスト要素に「Dynamic Data」で exam's countdowntimerを設定します。

動作確認

  1. プレビューモードでデバッグモードを有効化して確認。
  2. ボタンを押したときに、値がこの順に表示されることを確認:
    • 3 → 2 → 1 → 0

まとめ

Bubbleを使って、カウントダウン機能をノーコードで実装する方法を解説しました。
この基本的な手順を理解することで、Bubbleを使って、カウントダウン機能をノーコードで実装する方法を解説しました。このカスタムステートを活用した実装は、他にもさまざまな応用が可能です。

例えば:
ポイントシステム: ユーザーの操作に応じてポイントを加算・減算する。
進捗バーの表示: 残り時間に応じて進捗バーを動かす。
アニメーションの制御: カウントダウンごとに画面のエフェクトを変更する。

ぜひ、自分のプロジェクトに導入してみてください!

この記事を書いた人

tsubasatwi( つばさ)

国立工業高専卒業(新居浜工業高等専門学校)
「イベント×IT×営業」のカスタマーサクセスマネージャーとして活躍。セールス→構築管理運用まで全体プロジェクト管理の豊富な経験あり。

・主にITに関するイベント集客/法人営業/開発を担当
・大手通信会社を中心にエンタープライズのIT導入を担当(B2B)

DMMで日本初の NoCodeサロン を運営
「NoCodeCamp プログラミングを使わないIT開発 」
https://lounge.dmm.com/detail/2549/