インスタンス変数を追加してみよう

ここでは、星を例にして、インスタンス変数(オブジェクトに固有の変数)を追 加してみましょう。 この変数を使って、星を加速させます。 この例では英語表示になっています。 "サプライ"から星をドラッグ&ドロップします。

ハロを出します。

ビューワを開きます。 一番上のタイトルバーの星の横のメニュー部分をクリックします。 バージョンが違う場合、メニューの横の ボタンになっていることがあります。

メニューが出ます。 一番上の"add a new instance variable" (または"新しいインスタンス変数の追加")をクリックします。

変数の名前を聞いてくるので、名前を入れます。 ここでは変数名を"g"としました。 正しく変数名を入力したら、"accept"を押します。

インスタンス変数が増えました! ここでは"星's g"ができました。 初期値は"5"になっています。

星を加速させよう

変数が用意できたので、これを使って星を加速させます。 スクリプトが呼び出されるたびに、gの値を5ずつ増やしてみます。 こうすれば、最初はgの値が5、次は10、その次は15と5ずつ増えていきます。

まず、星を直進させるスクリプトを書きましょう。 そして、星の"g"だけ前に進むようにスクリプトを変更します。

以下のようになります。 ここで時計をクリックすれば、星が5ずつ前に進むことがわかります。

さて、ここからが本番です。 スクリプトが実行されるたびに、"g"の値を増やすタイルを貼り込みます。 "星's g" の値の左向き矢印をドラッグして、スクリプトにドラッグします。

"星's g ← 5" は、星のインスタンス変数gに5を入れるということです。 これではずっと"g"は5のままです。

5の隣の三角をクリックして式を出します。 これは"星's g ← 5 + 1"という意味になりますから、"g"はずっと6になります。

"g"の現在の値に"5"を足した結果を、新しい"g"に入れたいですね。 そのためには、"星's g ← 5 + 星's g"とすればよさそうです。 "星's g"のタイルをドラッグして、"1"のところにドラッグしましょう。

これでスクリプトが呼び出されるたびに、

  1. 星を進める 星のg
  2. 星のg ← 5 + 星のg
が実行されますから、星が加速してぶっ飛んで行きます。 時計を押して試してみましょう。

特に判定をしていないので、壁にぶつかったら止めましょう。

以上で説明を終ります。


トップページに戻る 質問ページに戻る
意見や質問のメールは masuda@im.dendai.ac.jpまで