前回は、ステージを新しく作るところまでやりましたね。今回はステージの中身のコードを書いてみましょう!
スライムをおいてみよう
さっそくプログラミングを始めましょう。まずは、基本のスライムを置くところから。まずは、エディタに書かれたコードの中から色付きのバーを探しましょう(ちなみに、色はランダムで変わります)
見つけたら、クリックしてみましょう。すると、キャラクターのアイコンがたくさんでてきます
これはアセットと呼ばれるハックフォープレイの機能です。ここにあるキャラクターやアイテムは、ハックフォープレイに元から用意されているので、タイピングをすることなくコードを入力できます!
スライムのアイコンをクリックしてみましょう
灰色の四角の中に書かれているのが、スライムを出すために必要なコードです。これを手で書くのはちょっと大変です。中に入れるボタンを押すと、自動でコードが入力されます。クリックしてみましょう
スライムのコードが中に入りました!
ゲーム画面を見ると、草原の真ん中にスライムがいます
プレイヤーを動かして戦ってみましょう。スライムの体力は3になっているので、プレイヤーと同程度の強さになっています。やられてしまっても大丈夫です。あなたはこの世界の創造主なので、自由にパラメータを変えてしまってよいのです
もっとゲームらしくしたいので、スライムをもう1体おいてみました。すると、おかしなことがおきました。コードは追加されたのに、画面上にはスライムが1体しかいません。どういうことでしょうか・・・?
実は、さっきのスライムと位置が重なってしまっているのです!ピッタリ重なっていると、まるで1体のスライムにみたいに見えるんですね!
スライムの位置を変えよう
2体のスライムが重なってしまうのは、一体なぜでしょうか?
その理由はコードに書かれています。スライムのコードを見ると、どちらものスライムにもlocate(7, 5, 'map1')
というコードが書かれていました
- 最初の数字
7
は、左から数えて7の位置にあることを表しています(ただし、数字は1からではなく0から数えます) - 次の数字
5
は、上から数えて5の位置にあることを表しています - 最後の
'map1'
は、スライムがマップ1にいることを表しています
どちらも同じ7
と5
の位置にいるので、重なってしまうようです
最初の数字と次の数字を、好きな数字にかえてみましょう。このとき、,
の記号を消さないように気をつけてください。記号を消すとエラーになってしまいます
数字を書きかえてみました(赤線部分)。……けど、何も起こりません!
実行してみよう
コードを書きかえたあとは、「実行」してあげる必要があります。実行すると、ゲームの中身が新しいコードに入れ替わります
このとき、ゲームがはじめからになってしまいます。勝手にはじめからになると困るので、ハックフォープレイではプレイボタンを押して実行することになっています
プレイボタンが見つかったら、クリックしましょう。上手くいきましたか?2体のスライムが出てきたら成功です。どんどんモンスターを量産しましょう!
もし、このようなエラーが出てきた場合は、コードにエラーがあります
この画面になったら、あわてずにミスがおこる まえにもどすボタンをクリックしましょう。このボタンは、前回実行したところまで戻してくれます。自力でエラーを直せるならその方が良いですが、初めのうちは無理に直そうとせず、素直にもどして、もう一度コードを書きかえましょう
どうしてエラーが起こるの?
一番よくあるエラーは,
や)
などの記号を消してしまうことによって起きる「シンタックスエラー」です。これはあまり聞き覚えのない言葉かも知れません
Scratch など一部のブロックプログラミング言語では、そもそもシンタックスエラーが起きないように上手く設計されているので、Scratch でプログラミングをしている人にとってシンタックスエラーは無縁のものです。しかし、ハックフォープレイ(JavaScript)のようなテキストプログラミング言語では、1文字でも間違えるとエラーになってしまいます。どうしてでしょうか?
それは、間違えてしまったことを書いた本人に教えてあげるためです。コードを書くのは人間なので、そこにはなにかやりたいこと(目的)があるはずです。人間は間違えることもあるので、いつもやりたいこと通りにコードを書ける訳ではありません。むしろ、たくさんのコードを書くプロの人ほど、間違いもたくさんしているはずなのです。それなのに長くて複雑なコードが書けるのは、たとえ間違ったとしてもコンピューターが教えてくれているからです。それが、エラーが起こる理由です
あえて人間の身体に例えるなら、エラーとは痛覚(痛みを感じる仕組み)のようなものかも知れません。人間、痛いのは嫌ですが、もしも全く痛みを感じなかったらどうなるか、考えたことはありますか?もし仮にケガをしても痛みを感じなかったら、病院に行く気がおきず、そのままケガが悪化して死んでしまうかも知れませんね。それと同じで、エラーのないプログラミング言語は、なにか本当に大変なことが起こるまで気づけないかも知れません。なんだか恐ろしいですね
ステージを保存しよう
さて、今回は実際にコードを書いてみました。でも、大事なことを忘れていませんか?
保存しましょう!
皆さんも、せっかくゲームや仕事を頑張ったのに、セーブ(保存)を忘れて努力が水の泡になった!ということは、きっと一度や二度ではないと思います(最近のゲームやソフトは自動セーブなので、そんなことも減ってきていますが)。皆さんが書いたコードはどうでしょう?
実は、すでに保存されています。どこに保存されているのでしょうか?
それは、(今はまだ)あなたが使っているパソコンの中です。今度またステージをつくろうと思った時には、保存されたデータが出てくるはずです。しかし、このままでは、他のパソコンからデータを開くことはできません。家で一人で使うなら良いですが、学校や、プログラミング教室で借りているパソコンだったら、不便ですよね?
そこでハックフォープレイでは、Google アカウントでログインをすることで、他のパソコンとも作品を共有することができます。まずは、画面右上のログインボタンを押しましょう。ステージ作りが途中でも大丈夫です
次に、Google でログインをクリックしましょう
メールアドレスの入力画面になったら、あなたが持っている Google アカウントのメールアドレスを入力します
最後に、パスワードを入力すれば、ログイン完了です。保存するボタンが出てくるので、クリックしてステージを保存しておきましょう
最初に保存したときは「カバー画像」を決める必要があります。これを決めておかないと、たくさんステージを作った時にどれがどれだか分からなくなってしまうからです。好きな画像を選んで、OKをクリックしましょう
少し時間がかかりますが、これでセーブは完了です!
マイページを見てみよう
セーブしたステージは、あなたのマイページから見ることができます。まずは右上のアイコンをクリックしましょう
次に、マイページをクリックしましょう
ここではあなたが作ったステージだけを見ることができます。「非公開」と書かれているのは、自分しか見られないものです。先ほど作ったステージは「非公開」になっているはずです。ステージを「公開」すると、みんなのステージにも出てくるようになります。
ここに並んでいるステージは、あなたのパソコンではなく、ハックフォープレイのサーバーに保存されています。同じ Google アカウントでログインしていれば、別のパソコンでもステージづくりの続きができるのです
これで安心してステージづくりの続きができますね!
まとめ
- アセットを使うと、タイピングせずにスライムを出すことができる
- スライムが重ならないようにするには、コードを書きかえる必要がある
- 作ったステージはパソコンに保存されている
- 他のパソコンからもステージづくりをしたい場合は、Google アカウントでログインする