プログラミングyuu's blog

プログラミングyuu's blog

プログラミングについてできることを説明します!

scratchでアクションゲームを作ろう!初心者用 part.1 ~ジャンプや左右の移動、重力~【プログラミング】

今回からアクションゲームの作り方について解説します。

ゲームと言ったらマリオみたいな2Dアクションゲームを想像する方も多いと思います。

でも、scratchをやり始めて間もない方だと、

「重力ってどうするの?」

「ジャンプって難しそう…」

など思うと思いますが、今回できるだけわかりやすく解説していこうと思います!

 

今回作るサンプル

まず、今回作るものは、このようなものです!

 

スペースキー : ジャンプ

右向き矢印  : 右に移動

左向き矢印  : 左に移動

https://scratch.mit.edu/projects/425036589

(ここから↑リミックスできます!)

本当に単純なものなので、重力だけを付けたいという場合などにも使ってみてください!

 

スクリプト解説

スクリプトは全部でこれだけです!

 

f:id:yuuyuru:20200913094732j:plain

 

1. まず簡単な左右移動についてです

f:id:yuuyuru:20200913095031j:plain

 

まず、最初の疑問として「回転方法を…」というものだと思います。

これが入れていない場合です。

f:id:yuuyuru:20200913095701j:plain

ひっくり返ってしまっています…

 

しかし「回転方法を…」というもの入れることで、上下の反転をなくし、

左右だけの反転にすることができます

 

回転を、0以上、180度以下にすると右90度に向くようになり

回転を、0未満、-180度以上にすると左90度に向くようになります。

 

あとは、右向き矢印が押されるx座標を10プラスするという感じでわかると思います!

 

2. 次は重力の設定です

f:id:yuuyuru:20200913101255j:plain

まず、黒色緑色に触れたときというは、黒はプレイヤーということだと思ってください。

 

そして、緑は地面の色です。

 

ということは、黒色緑色に触れたときというのはプレイヤーが地面に立っているときということになります。その時は何もしないようになっています。

 

空中に浮いているとき(でなければ)はy座標を下げて重力を再現しているということです!

 

3. 次はジャンプ!

f:id:yuuyuru:20200913124302j:plain

先ほどの黒色緑色に触れたときという中は地面に触れているときにしか呼ばれないのでそこに地面に触れていないとできないジャンプをここに入れています!

 

そして、ジャンプの仕組みとしては、

6回に分けてy座標をプラスしてします。

それは、一気に行ってしまうとワープみたいになってしまうので6回に分けています。

それだけですw

落ちるのは重力に任せております。

 

4. 移動範囲を制限する!

f:id:yuuyuru:20200913125856j:plain

なぜ、こんなことをするのかというと、今回はしなくてもいいのですが、

バグを誘発しないようにしておくことをお勧めします。

 

5. 初期設定

f:id:yuuyuru:20200913131801j:plain

最初にスタートする場所を設定しています。

変数を使う場合なども最初に初期化するほうがいい場合もあります。

 

最後に

今回はジャンプや重力など基本の操作仕組みを作りました。

次回は、画面移動やステージ作成などについてやっています。

まっててね!!

 

ブログ初心者なのでアドバイスなどあればお願いします