Scratch 3.0(スクラッチ3.0)& ロボットプログラミング教室

Scratch 3.0 タブレット用コントローラーの作り方

Scratch 3.0(スクラッチ3.0)からは、パソコンだけでなくタブレットにも対応するようになりました。とても素晴らしいことなのですが、タブレット用のゲームを作るときに、ちょっと困ったこともあるのではないでしょうか。パソコンのみに対応していたScratch 2.0(スクラッチ2.0)では、マイキャラを矢印キーで操作していたと思いますが、タブレットには矢印キーがありません。

そこで今回は、タブレットでもマイキャラを操作できるコントローラーの作り方を説明したいと思います。

1 ネコ(マイキャラ)のスクリプト

マイキャラであるネコは、「スピード」という変数の値により歩くスピードが変化し、「中心の向き」という値ブロックにより中心という名前のスプライトと同じ方向を向くようにスクリプトを作りました。

また、「スピード」という変数の値が0よりも大きくなると、ネコのコスチュームが切り替わるアニメーション効果のスクリプトも作りました。

2 中心のスクリプト

中心というスプライトは、丸枠と上下左右に▲マークのあるコスチュームにしました。

X座標-180、Y座標-125から動かず、画面をタッチしているときは常にマウスポインターの方向を向くようにしました。ただし、「回転方法を回転しないにする」ブロックを追加し、ステージ上の見た目は回転していないようにしました。

また、画面タッチ位置までの距離が25未満のときは「丸表示」メッセージを送信し、25以上の時は「丸表示2」というメッセージを送信します。

さらに、画面をタッチしていない時は、ネコ(マイキャラ)の動く速さが変わる「スピード」変数の値を0にしました。これにより、画面をタッチしているときだけ、ネコ(マイキャラ)が動くようになります。

3 丸のスクリプト

丸というスプライトは、丸い形のコスチュームにしました。この丸スプライトがネコ(マイキャラ)のコントローラです。

「丸表示」というメッセージを受け取ったときは、「マウスのポインターへ行く」ブロックにより画面タッチした位置に移動するようにしました。「丸表示」メッセージは、中心というスプライトと画面タッチ位置の距離が25未満のときに送信されるので、中心スプライトの中心点からの距離が25未満のときは、丸スプライトは画面タッチ位置について行くようになります。

また、この丸スプライトはネコ(マイキャラ)のコントローラーなので、中心スプライトの中心点と丸スプライトの距離によりネコ(マイキャラ)の速さが変わるように、その距離を3で割った値をスピード変数に代入しました。例えば、中心スプライトの中心点と丸スプライトの距離が24の場合、ネコ(マイキャラ)は24/3=8歩のスピードで動くようになります。

「丸表示2」というメッセージを受け取ったあとのスクリプトは、中学校で習う三角関数を使用しています。

中心スプライトの中心点と画面タッチ位置の距離が25以上のときに「丸表示2」メッセージが送信されます。「丸表示2」メッセージを受け取ったとき、丸スプライトは画面タッチ位置について行かず、三角関数のスクリプトにより中心スプライトの中心点から25の位置で、中心点から画面タッチ位置の直線上に移動するようになります。Scratch(スクラッチ)では0度が上軸方向のため、sinがX座標、cosがY座標となっております。

【関連する投稿ページ】

・書籍「スクラッチ3.0でゲームを作ろう! 小学1年生からのプログラミング教室」をAMAZONで好評発売中!
・DVD「一緒に作るSCRATCH 3.0ゲームプログラミング実践編」がAMAZONランキング1位に!
・PCNこどもプロコン2018で、KIDSPROスクール生2名が佳作受賞
・第1回北区こどもプログラミングコンテストで、KIDSPROスクール生が審査委員賞を受賞
・Scratch 3.0(スクラッチ3.0)正式版リリース/Scratch 3.0対応のゲーム集を公開
・「一緒に作るSCRATCH 3.0ゲームプログラミング実践編」をAMAZONで予約注文開始
・第6回デジタルえほんアワード授賞式のスナップショット
・第6回デジタルえほんアワードで、KIDSPROスクール生2人がグランプリ受賞と入選
・AmazonDOD売れ筋ランキング1位に!DVD「スクラッチゲームプログラミング入門編」
・「ゼロから始めるスクラッチゲームプログラミング入門編」をAmazonで予約注文開始
・荒川区の複合施設「ゆいの森あらかわ」でプログラミングワークショップ実施
・アンガーマネジメントキッズ講座開催のお知らせ
・Hanakoママ「保育園キッズの習いごと」特集に紹介
・javaやC言語などの学習コースがない理由
・プログラミングと学力(勉強)の関係性について
・TBSラジオ「THE FROGMAN SHOW AI共存ラジオ 好奇心家族」に出演
・アイディア(思考)を実現化させる
・授業の流れ(キッズ・プログラミング教室KIDSPRO)
・地域情報ウェブマガジン荒川102に取材して頂きました
・プログラミング教育の必要性について
・プログラミング教育による効果について

【キッズ・プログラミング教室KIDSPROについて】

【Scratch(スクラッチ)コースの紹介動画】

1322