- ① バッテリーとショップを作ろう
- ② ショップアイテムを増やそう (いまここ)
- ③ ショップ完成とボーナスで仕上げ
スクラッチで作る作品について
バッテリーをクリックしてポイントを稼ぎ、ショップでアップグレードを購入するインクリメンタルクリッカーゲーム。3ページのショップ、パーティクルエフェクト、数字ディスプレイ、ボーナスアイテムなど多彩な機能を持つ。
今回の目標
チュートリアルの元になった作品
#1クリック倍率アップの購入
このスプライトが押されたとき で、「★クリック数」が500以上かつマウスが押されていてアイテムに触れている条件をチェックするよ。条件が揃ったら「★クリック数」を-500して、 ( ) を ( ) ずつ変える で「★1クリックの獲得数」を+50するんだ。
オートクリッカーと違って内側の ずっと がないから、購入後もスクリプトは外側のループに戻って次の購入を待つよ。自動でクリック数は増えないけど、クリックするたびに一気に稼げるようになるんだ。
#2ショップアイテム2の購入保護
このスプライトが押されたとき で、「★クリック数」が500未満かつマウスが離れているときに「★クリック数」をそのまま維持するんだ。
#3ショップアイテム2のページ切替
( ) を受け取ったとき で「次のショップ」を受け取り、「★ショップページ」が2のとき 隠す で隠して最背面に送るよ。
#4ショップアイテム2のページ1表示
が押されたとき から ずっと で「★ショップページ」が1のときに 表示する で表示するよ。
#5ショップアイテム2の表示設定
( ) へ移動する で最前面に出して、 コスチュームを ( ) にする でコスチュームを設定するんだ。
#6ショップアイテム3の配置
準備
スプライト「ショップアイテム3」を開く
| スプライトについて |
|---|
| ショップページ1の高額オートクリッカー(1000クリックで+10CPS) |
| どんな役割か |
| 2つ目のオートクリッカーを作るよ。1000クリック必要だけど、買うたびに毎秒のクリック数がどんどん増えていくよ。 |
実装
が押されたとき で x座標を ( ) 、y座標を ( ) にする を使って、x:53、y:-97の位置に配置するよ。
#7ショップアイテム3の初期表示
表示する で表示して、 ( ) へ移動する で最前面、 コスチュームを ( ) にする でコスチュームを設定するよ。
#8ショップアイテム3のホバー演出
もし ( ) ならでなければ と ( ) に触れた の組み合わせで、マウスの接触状態に応じて 大きさを ( ) %にする を切り替えるんだ。目標サイズ90と80に向かってイージングで変化するよ。
#9高額オートクリッカーの購入
このスプライトが押されたとき で、「★クリック数」が1000以上かつマウスが押されていてアイテムに触れているかチェックするよ。条件が揃ったら代金の1000を差し引いて、「★1秒の自動獲得数」を10増やすんだ。
ショップアイテム1と同じ+10CPSなのに10倍の値段がするのは一見損に見えるけど、次のステップで追加される自動加算ループと組み合わさることで、購入を重ねるほど加速していく仕組みになっているよ。
#10高額オートクリッカーの自動加算
ショップアイテム1と同じ、内側の ずっと によるスタック型オートクリッカーだよ。
( ) 秒待つ で1秒待って、 ( ) を ( ) ずつ変える で「★クリック数」に「★1秒の自動獲得数」を加算するよ。購入するたびに新しいスレッドが積み重なって、自動加算の速度がどんどん上がっていくんだ。
#11ショップアイテム3の購入保護
このスプライトが押されたとき で条件をチェックして、 ( ) を ( ) にする で「★クリック数」をそのまま維持するよ。他のショップアイテムと同じ安全装置だね。
#12ショップアイテム3のページ切替
( ) を受け取ったとき で「次のショップ」を受け取り、「★ショップページ」が2のときに 隠す と ( ) へ移動する で最背面に送るよ。
#13ショップアイテム3のページ1表示
が押されたとき から ずっと で「★ショップページ」が1のときに 表示する で表示するよ。これでページを行き来してもアイテムが正しく表示されるんだ。
#14ショップアイテム3の表示設定
( ) へ移動する で最前面に出して、 コスチュームを ( ) にする でコスチュームを整えるんだ。
#15ショップアイテム4の配置
準備
スプライト「ショップアイテム4」を開く
| スプライトについて |
|---|
| ショップページ2のオートクリッカー(5000クリックで+100CPS) |
| どんな役割か |
| ショップページ2の強力なオートクリッカーを作るよ。5000クリック消費すると毎秒100クリック自動で稼いでくれるんだ。 |
実装
が押されたとき で x座標を ( ) 、y座標を ( ) にする を使って、x:52、y:63の位置に配置するよ。ページ2の上段に表示される位置だね。
#16ショップアイテム4の初期表示
表示する 、 ( ) へ移動する 、 コスチュームを ( ) にする で見た目を初期化するよ。ページ切替の仕組みが後から表示・非表示を管理するから、初期化は見た目の準備だけで大丈夫だよ。
#17ショップアイテム4のホバー演出
もし ( ) ならでなければ と ( ) に触れた で、マウスが触れているときはサイズ90へ、離れているときはサイズ80へイージングで近づけるんだ。
#18強力オートクリッカーの購入
このスプライトが押されたとき で3つの条件――マウスが押されている、アイテムに触れている、「★クリック数」が5000以上――を同時にチェックするよ。条件が揃ったら5000を差し引いて、「★1秒の自動獲得数」を+100するんだ。
ページ1のオートクリッカーが+10CPSだったのに対して、こちらは+100CPSだよ。値段は50倍だけど効果は10倍で、コスパは下がるけどゲーム後半では大量のクリック数を稼げるから問題ないんだ。
#19強力オートクリッカーの自動加算
内側の ずっと で ( ) 秒待つ を1秒、 ( ) を ( ) ずつ変える で「★クリック数」に「★1秒の自動獲得数」を加算するよ。購入を重ねるたびに並行スレッドが増えて加速していくんだ。
#20ショップアイテム4の購入保護
他のアイテムと同じ構造で、 ( ) を ( ) にする で「★クリック数」をそのまま維持して変数を保護するよ。
#21ショップアイテム4のページ切替(非表示)
( ) を受け取ったとき で「次のショップ」を受け取り、「★ショップページ」が3のときに 隠す で隠して ( ) へ移動する で最背面に送るよ。
#22ショップアイテム4のページ2表示
( ) を受け取ったとき で「前のショップ」を受け取り、 ずっと の中で「★ショップページ」が2のときに 表示する で表示するよ。
#23ショップアイテム4の表示設定
( ) へ移動する で最前面に出して、 コスチュームを ( ) にする でコスチュームを設定するんだ。ページ2に戻るたびにこの設定が適用されるよ。
#24ショップアイテム5の配置
準備
スプライト「ショップアイテム5」を開く
| スプライトについて |
|---|
| ショップページ2のクリック倍率アップグレード(10000クリックで+1000/click) |
| どんな役割か |
| ショップページ2のクリック倍率アップグレードを作るよ。10000クリック消費すると、1クリックあたり1000ポイント多くもらえるようになるんだ。 |
実装
が押されたとき で x座標を ( ) 、y座標を ( ) にする を使って、x:52、y:-32の位置に配置するよ。
#25ショップアイテム5の初期表示
表示する で表示して、 ( ) へ移動する で最前面、 コスチュームを ( ) にする でコスチュームを設定するよ。
#26ショップアイテム5のホバー演出
ずっと の中で もし ( ) ならでなければ と ( ) に触れた を使って、 大きさを ( ) %にする でサイズを滑らかに変化させるよ。
#27クリック倍率の大幅アップグレード
このスプライトが押されたとき で「★クリック数」が10000以上かどうかチェックして、条件が揃ったら10000を差し引き、 ( ) を ( ) ずつ変える で「★1クリックの獲得数」を+1000するよ。
オートクリッカーと違って内側の ずっと がないから、購入処理の後すぐに次の購入判定に戻るよ。クリック倍率は即座に反映されて、次のクリックからもう増えた分がもらえるんだ。
#28ショップアイテム5の購入保護
このスプライトが押されたとき で条件をチェックして、 ( ) を ( ) にする で「★クリック数」を維持するんだ。全ショップアイテム共通の安全装置だね。
#29ショップアイテム5のページ2表示
( ) を受け取ったとき で「前のショップ」を受け取り、「★ショップページ」が2のとき 表示する で表示するよ。
#30ショップアイテム5の表示設定
( ) へ移動する で最前面に出して、 コスチュームを ( ) にする でコスチュームを設定するんだ。
#31ショップアイテム5のページ切替(非表示)
( ) を受け取ったとき で「次のショップ」を受け取り、「★ショップページ」が3のときに 隠す で隠して ( ) へ移動する で最背面に送るよ。
#32ショップアイテム6の配置
準備
スプライト「ショップアイテム6」を開く
| スプライトについて |
|---|
| ショップページ2のボーナスクリック付与アイテム |
| どんな役割か |
| クリックすると1000クリック分のボーナスがもらえるアイテムを作るよ。即座にクリック数が増えるんだ。 |
実装
が押されたとき で x座標を ( ) 、y座標を ( ) にする を使って、x:53、y:-97の位置に配置するよ。
#33ショップアイテム6の初期表示
表示する で表示して、 ( ) へ移動する で最前面、 コスチュームを ( ) にする でコスチュームを設定するよ。ショップアイテム6の購入ロジックやページ管理は次のバッチで作っていくよ。
#34ショップアイテム6のホバー演出
が押されたとき から ずっと で、 もし ( ) ならでなければ と ( ) に触れた を使ってマウスの接触を判定するよ。触れていればサイズ90に、離れていればサイズ80に向かって 大きさを ( ) %にする でイージングさせるんだ。
#35ボーナスクリックの付与
このスプライトが押されたとき から ( ) を ( ) ずつ変える で「★クリック数」を1000増やすだけのシンプルな仕組みだよ。
#36ボーナスの安全装置
このスプライトが押されたとき で、 ( ) かつ ( ) を使って2つの条件を組み合わせるよ。 ( ) < ( ) で「★クリック数」が1000未満、かつ ( ) ではない で ( ) に触れた がfalseのときに ( ) を ( ) にする で値を維持するんだ。
#37ページ2への表示復帰
( ) を受け取ったとき で「前のショップ」メッセージを受け取り、 ずっと の中で「★ショップページ」が2のときに 表示する で表示するよ。
#38表示時の見た目設定
( ) へ移動する で最前面に出して、 コスチュームを ( ) にする でコスチュームを設定するんだ。これでページを行き来してもアイテムが正しく表示されるよ。
#39ページ3への非表示処理
( ) を受け取ったとき で「次のショップ」を受け取り、「★ショップページ」が3のときに 隠す で隠して ( ) へ移動する で最背面に送るよ。
#40ショップアイテム7の配置
準備
スプライト「ショップアイテム7」を開く
| スプライトについて |
|---|
| ショップページ3のオートクリッカー(100000クリックで+1000000CPS) |
| どんな役割か |
| ショップページ3の超強力なオートクリッカーを作るよ。100000クリック必要だけど、毎秒100万クリックも自動で稼いでくれるんだ。 |
実装
が押されたとき で x座標を ( ) 、y座標を ( ) にする を使って、x:51、y:27の位置に配置するよ。ページ3の上段に表示される位置だね。
#41ショップアイテム7の初期表示
が押されたとき で 表示する 、 ( ) へ移動する で最前面、 コスチュームを ( ) にする でコスチュームを設定するよ。
#42ショップアイテム7のホバー演出
が押されたとき から ずっと で、 もし ( ) ならでなければ と ( ) に触れた で判定して、マウスが触れていればサイズ90、離れていればサイズ80に向かってイージングさせるよ。
#43超強力オートクリッカーの購入
このスプライトが押されたとき で、 ( ) かつ ( ) を使って「★クリック数」が100000以上、マウスが押されている、アイテムに触れている、の3条件を同時チェックするよ。条件が揃ったら ( ) を ( ) ずつ変える で「★クリック数」を-100000して代金を払い、「★1秒の自動獲得数」を+1000000するんだ。
ページ1のオートクリッカーが+10CPS、ページ2が+100CPSだったのに対して、こちらは一気に+1000000CPS。インクリメンタルゲームではこうした桁違いのインフレが後半の爽快感を生むんだよ。
#44超強力オートクリッカーの自動加算
内側の ずっと で ( ) 秒待つ を1秒待って、 ( ) を ( ) ずつ変える で「★クリック数」に「★1秒の自動獲得数」を加算するよ。購入を重ねるたびに新しいスレッドが積み重なって加速していくんだ。
#45ショップアイテム7の購入保護
このスプライトが押されたとき で条件をチェックして、 ( ) を ( ) にする で「★クリック数」をそのまま維持するよ。
#46ページ3での表示処理
( ) を受け取ったとき で「次のショップ」を受け取り、 ずっと の中で「★ショップページ」が3のときに 表示する で表示するよ。
#47ページ3の表示設定
( ) へ移動する で最前面に出して、 コスチュームを ( ) にする でコスチュームを設定するんだ。
#48ページ2への非表示処理
( ) を受け取ったとき で「前のショップ」を受け取り、 ずっと の中で「★ショップページ」が2のときに 隠す で隠して ( ) へ移動する で最背面に送るよ。
#49ショップアイテム8の配置
準備
スプライト「ショップアイテム8」を開く
| スプライトについて |
|---|
| ショップページ3のクリック倍率アップグレード(1000000クリックで+1000000000/click) |
| どんな役割か |
| ショップページ3の巨大クリック倍率アップグレードを作るよ。100万クリック消費すると、1クリックで10億ポイントもらえるようになるんだ。 |
実装
が押されたとき で x座標を ( ) 、y座標を ( ) にする を使って、x:52、y:-32の位置に配置するよ。
#50ショップアイテム8の初期表示
表示する で表示して、 ( ) へ移動する で最前面、 コスチュームを ( ) にする でコスチュームを設定するよ。
#51ショップアイテム8のホバー演出
ずっと で もし ( ) ならでなければ と ( ) に触れた を使って、マウスの接触状態に応じて 大きさを ( ) %にする を90か80に向かって変化させるよ。
まとめ
ショップページ1と2のアイテムが全部実装できたね!毎回同じ「イージングアニメーション → 購入条件チェック → ネストforeverで自動化 → ページ切替対応」のパターンが身についてきたはずだよ。少しずつ手早く組めるようになってきたんじゃないかな。いよいよ次はページ3と、ゲームを盛り上げるボーナスシステムを作るよ!