welcome: please sign in
location: "etoys真偽値型の変数を利用する"の差分
4と20のリビジョン間の差分 (その間の編集: 16回)
2012-06-16 13:22:27時点のリビジョン4
サイズ: 1007
編集者: masahiko
コメント:
2012-06-18 13:09:31時点のリビジョン20
サイズ: 3224
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 14: 行 14:
 . アイテムを取った後では障害物の1つは通れるようにな  . アイテムを取った後では障害物の1つは通れる
ことにすれば上の画面でもゴールできる
ようになります。
(他のアイデアでもかまいません)
行 18: 行 20:
真偽値型の変数を用いて表すことにします。 真偽値型の変数を用いて表すことができます。
行 20: 行 22:
変数を用いると、アイテムを取った後か、取る前かを簡単に表すことができます。 主人公の変数「'''アイテムを持っている'''」を
 * アイテムを取る前は値が「いいえ」
 * アイテムを取った後は値が「はい」
となるようにして使います。
行 22: 行 27:
主人公の変数「アイテムを持っている」を作成し、 こうしておくと、
アイテムを取った後か取る前かを、変数の値を参照するだけで判定でき
スクリプトが簡単になります。
行 24: 行 31:
 . ゲームスタート時はその値を「いいえ」とし
 . アイテムのところに行ったときに値を「はい」に変えるようにします。
主人公のビューアを開き
変数を作成します。
 . 変数名をわかりやすくつけます
 . 種類を'''真偽値型'''にします
このようになります。
 . {{attachment:game32.png}}

値は「はい」「いいえ」のどちらかになります。
行 28: 行 41:
=== ジョイスティックで動かす ===
主人公をジョイスティックで動かせるようにします。

単純な例を示します。

 . {{attachment:game33.png}}

くわしくは[[etoysジョイスティック|ジョイスティック]]のページを参照してください。
----
=== 障害物にぶつかったとき ===
障害物のところは通れないようにします。

障害物に当たったかどうか判定し、
あたっていないときだけ動けばよいので
このように書けそうですが……
 . {{attachment:game34.png}}
この方法では
障害物に当たったら
そのあとずっと動けなくなってしまいます。

==== 考え方 ====
とりあえず動かしてみて、
障害物にぶつかったら直前の位置にもどせばよい。

例えば、右へ移動してぶつかったときは、同じ値だけ左へ移動すれば元の位置にもどります。
 . {{attachment:game35.png}}

ジョイスティックで動かしているときも、
この考え方でスクリプトを書けます。
----
=== スタートボタン ===
スタートボタンが押されたときは
 . オブジェクトを指定の位置に配置したり、
 . 必要なスクリプトをスタートさせる
などの処理を行いますが、それに加えて

 . 変数「アイテムを持っている」の値を'''いいえ'''にしておきます。

----
=== アイテムを取ったとき ===
変数「アイテムを持っている」の値を'''はい'''に変えます。
----
=== アイテムを取った後 ===
変数「アイテムを持っている」の値により処理を変えます。
----
次回続きを作り、ゲームを完成させます。

真偽値型の変数を利用する

主人公をジョイスティックを使って動かして遊ぶゲームを作ります。

  • game31.png

例えばこのような画面で

  • いくつかある障害物のところは通れない。
  • 途中でアイテムを取ってからでないと、ゴールできない。

という条件で作ることにします。

例えば

  • アイテムを取った後では障害物の1つは通れる

ことにすれば上の画面でもゴールできるようになります。 (他のアイデアでもかまいません)


変数の利用

アイテムを取ったかどうかを 真偽値型の変数を用いて表すことができます。

主人公の変数「アイテムを持っている」を

  • アイテムを取る前は値が「いいえ」
  • アイテムを取った後は値が「はい」

となるようにして使います。

こうしておくと、 アイテムを取った後か取る前かを、変数の値を参照するだけで判定でき スクリプトが簡単になります。

主人公のビューアを開き 変数を作成します。

  • 変数名をわかりやすくつけます
  • 種類を真偽値型にします

このようになります。

  • game32.png

値は「はい」「いいえ」のどちらかになります。


ジョイスティックで動かす

主人公をジョイスティックで動かせるようにします。

単純な例を示します。

  • game33.png

くわしくはジョイスティックのページを参照してください。


障害物にぶつかったとき

障害物のところは通れないようにします。

障害物に当たったかどうか判定し、 あたっていないときだけ動けばよいので このように書けそうですが……

  • game34.png

この方法では 障害物に当たったら そのあとずっと動けなくなってしまいます。

考え方

とりあえず動かしてみて、 障害物にぶつかったら直前の位置にもどせばよい。

例えば、右へ移動してぶつかったときは、同じ値だけ左へ移動すれば元の位置にもどります。

  • game35.png

ジョイスティックで動かしているときも、 この考え方でスクリプトを書けます。


スタートボタン

スタートボタンが押されたときは

  • オブジェクトを指定の位置に配置したり、
  • 必要なスクリプトをスタートさせる

などの処理を行いますが、それに加えて

  • 変数「アイテムを持っている」の値をいいえにしておきます。


アイテムを取ったとき

変数「アイテムを持っている」の値をはいに変えます。


アイテムを取った後

変数「アイテムを持っている」の値により処理を変えます。


次回続きを作り、ゲームを完成させます。

etoys真偽値型の変数を利用する (最終更新日時 2012-06-22 00:13:05 更新者 masahiko)