| + | 目次 |
スティックプログラムの作り方
ゲーム機によくあるスティックってどうやって作るの?
そう思ったこと、一度はありますよね?
このページでは、簡易的なスティックプログラムの作り方を紹介します。
簡易的なスティックプログラムの作り方
用意する画像
- スティックの枠の画像
- スティック本体の画像
どちらも丸いシンプルな画像であれば、スティックのようになります。
作り方
1 はいけいのプログラム

まず、スティックを
決めた位置
によびだすプログラムを作ります。
決めた位置は、スティック本体のプログラムでも使うため覚えておきましょう!
2 スティック本体のプログラム
スティック本体とスティックの枠のキャラが重なってしまう場合は、このようにプログラムを組みます。

(動かしている画像を1番目のポーズ、動かしていない画像を2番目のポーズに登録しています。)
そして、スティック本体に次のようなプログラムを組みます。
![]() |
| キャラがタッチされている間に特定の操作をしたい場合は、「キャラがタッチされていること」を表すへんすうを1にして、繰り返しブロックを動かします。タッチが終わったら、そのへんすうを0に戻します。 |
これでスティックを動かすともももんも動きます。
しかし、
スティックを離したときの処理が無いため
、指を離してももももんが動き続けてしまいます。
そこで、キャラがタッチされなくなったときに
- スティックを 決めた位置 へ戻す
- タッチ中を表すへんすうを0にする
プログラムを追加します。

これで完成です。
完成GIF

本格的なスティックプログラムの作り方
上の状態でも一応動きますが、細かい動きができません。
そこで、動きの速さを調節できるスティックプログラムを作ってみましょう
そこで、動きの速さを調節できるスティックプログラムを作ってみましょう
スティックとキャラを動かすプログラムは次のようになります。

何をしているの?
「なぜこのようなプログラムになるのだろう?」と思った人も多いと思います。(僕もその一人です。)
へんすうを求めている部分では、
三平方の定理を使ってスティックが中心からどれだけ離れているか
を計算しています。
三平方の定理とは?
三平方の定理とは、直角三角形の2辺の長さを A・B、斜辺を C としたとき、
''A2 + B2 = C2''
が成り立つという定理です。
この式を使えば、2辺の長さが分かっているときに残り1辺の長さを求めることができます。
![]() |
| スティックの位置と定位置との差をペンで可視化した例 |
プロゼミでは
- タッチされたよこのいち − よこのいち
- タッチされたたてのいち − たてのいち
を使うことで、スティックがどれだけ傾いているかを求められます。
つまり、
''(タッチされたよこのいち−よこのいち)2 + (タッチされたたてのいち−たてのいち)2 = 距離2''
という計算になります。
へんすうの部分のプログラムを組んでみる
三平方の定理を使うと、このようなプログラムになります。
![]() |
| (タッチされたよこのいち−よこのいち)2 + (タッチされたたてのいち−たてのいち)2 = 距離2 |
三平方の定理で求められるのは
距離の2乗
なので、実際の距離を求めるには「平方根」ブロックを使います。
一見複雑そうですが、本質は
''A2 + B2 = C2''
というシンプルな式です。
※この部分はまだ説明が少ないため、より分かりやすい解説へ編集していただけると助かります。



