今回は「ペン」を使って画面にステージを描いてみよう
まずはこちらのURLを確認してね。http://scratch.mit.edu/projects/29491516/
Painter Platformer(ペインタープラットフォーマ―)

をおしてスタートして、画面内をクリックしながらマウスを動かすと
白い線が描けるよ。
この白い線が、左下のキャラクターの足場になるよ。
矢印キーでキャラクターを動かせるよ。
「中を見る」ボタンでどんなスクリプトになっているか確認しよう。

ペンで描くスクリプトはとてもシンプル!

ひとつ目の「go」はペンの初期化をしているよ。
「ペンの太さ」「ペンの色」をそれぞれ決めて、ずっとマウスポインターに
ついてくるように 設定しているね。
もうひとつの「go」ではマウスが押されたときにペンをおろして
マウスが押されていないとき(クリックをやめたとき)にペンを上げているね
こうすることで、画面上でマウスが押されているときだけ
ペンで描くことができるよ。
まずはこの通りに組んでみて、試してみるところから始めよう!
キャラクターは「Sprite2」のスクリプトを見てね。

移動するときにXvやYvといった変数をつかっているね

普通の移動だと、「x座標を10ずつ変える」のような
スクリプトをつかうよね?
このXvやYvは加速度をつかった移動のための変数だよ。
(→キーを押し続けると、だんだん移動の速さが早くなるよ)
ただキーを押し続けても、無限に速くなるようなことがないように
加速させたあと、0.9をかけて速さが3.6以上にならないように調整しているよ。
この移動方法は、キャラクターの動きがリアルに見えるので
アクションゲームで移動にこだわりたいときは参考にしてみてね。

この部分は、「白色に触れたら y座標を5ずつ変える」
のようにしてもいいように見えるけど
ナナメの線を引かれたときでも、移動がスムーズに見えるように
わざと分けて1ずつ変えるようにしているよ。
(試しにこの部分を省いてみると、動きがガクガクになっているのがわかるよ)
一番内側の「もしブロック」で「y座標を-5」にしているのは
キャラクターの上側に線がひかれた場合の当たり判定だよ。
(この部分がないと飛び出してしまうことがある)

最後にy座標(ジャンプしたとき)の処理と
ゴール(Sprite6)に触れたときのスクリプトを組めば完成!
障害物を置いてみたり、描ける時間を制限してみたり・・・
いろんな敵を置いてみてもいいね。
キミだけのゲーム作りに挑戦してみよう。
まずはこちらのURLを確認してね。http://scratch.mit.edu/projects/29491516/
Painter Platformer(ペインタープラットフォーマ―)


白い線が描けるよ。
この白い線が、左下のキャラクターの足場になるよ。
矢印キーでキャラクターを動かせるよ。
「中を見る」ボタンでどんなスクリプトになっているか確認しよう。
ペンで描くプログラム
まずはSprite1のスクリプトを見てみよう。
ペンで描くスクリプトはとてもシンプル!

ひとつ目の「go」はペンの初期化をしているよ。
「ペンの太さ」「ペンの色」をそれぞれ決めて、ずっとマウスポインターに
ついてくるように 設定しているね。
もうひとつの「go」ではマウスが押されたときにペンをおろして
マウスが押されていないとき(クリックをやめたとき)にペンを上げているね
こうすることで、画面上でマウスが押されているときだけ
ペンで描くことができるよ。
キャラクターの移動プログラム
※当たり判定や移動方法が少しむずかしいのでぜんぶわからなくても大丈夫!まずはこの通りに組んでみて、試してみるところから始めよう!
キャラクターは「Sprite2」のスクリプトを見てね。

移動するときにXvやYvといった変数をつかっているね

普通の移動だと、「x座標を10ずつ変える」のような
スクリプトをつかうよね?
このXvやYvは加速度をつかった移動のための変数だよ。
(→キーを押し続けると、だんだん移動の速さが早くなるよ)
ただキーを押し続けても、無限に速くなるようなことがないように
加速させたあと、0.9をかけて速さが3.6以上にならないように調整しているよ。
この移動方法は、キャラクターの動きがリアルに見えるので
アクションゲームで移動にこだわりたいときは参考にしてみてね。

この部分は、「白色に触れたら y座標を5ずつ変える」
のようにしてもいいように見えるけど
ナナメの線を引かれたときでも、移動がスムーズに見えるように
わざと分けて1ずつ変えるようにしているよ。
(試しにこの部分を省いてみると、動きがガクガクになっているのがわかるよ)
一番内側の「もしブロック」で「y座標を-5」にしているのは
キャラクターの上側に線がひかれた場合の当たり判定だよ。
(この部分がないと飛び出してしまうことがある)

最後にy座標(ジャンプしたとき)の処理と
ゴール(Sprite6)に触れたときのスクリプトを組めば完成!
アレンジしてみよう!
このゲームは、アレンジ次第でとても面白くなるよ。障害物を置いてみたり、描ける時間を制限してみたり・・・
いろんな敵を置いてみてもいいね。
キミだけのゲーム作りに挑戦してみよう。
コメント
コメント一覧 (2)
すげェェェェェ