mBlock【文法】

【mBlock】イベント(第9回)

イベントのプログラムについて学びます。

準備をしよう

下のURLをクリックして、mBlockを開いてください。
https://ide.mblock.cc/

学習内容

初めての方は、以下をご確認ください。

書き方

「イベントモジュールのインポート」、「イベントの宣言」、「発火時の処理定義」の3つを書きます。

イベントモジュールのインポート

イベントを使用する場合に、文頭に書く必要があります。1度書けば、以降の行でイベントが使えるようになります。

以下のコードです。

イベントの宣言

イベントを宣言します。イベントごとに、いつ発火するか(発火=イベントが起こる)が、異なりますので、イベントの種類に応じて記述します。

書き方は、「@event.~」と書きます。「~」はイベントの種類ごとに異なります。

以下は、「緑の旗が押されたとき」を例にあげます。

  1. 「@event」でイベントを使うことを宣言しています
  2. 「greenflag」はイベントの種類です。種類ごとに記述内容が異なります。
発火時の処理定義

イベントが発生したときの処理を定義します。

書き方は、「def」(定義する)に続いて、「on_~():」と書きます。「~」は、イベントの宣言に合わせて書きます。

以下は、「緑の旗が押されたとき」を例にあげます。

  1. 「def」と先頭に必ず書きます
  2. 今回は「緑の旗が押されたとき」なので「on_greenflag():」となります。イベントの宣言と同じイベントになります。
  3. インデントで先頭を下げて、発火時の処理を書きます。

次に、具体的な書き方を見ていきましょう。

緑の旗が押されたとき

@event.greenflag

意味

緑の旗が押されたら、指定の処理を実行する

ブロック

以下のブロックと同じ動きです。

練習

ここでは、実行結果が確認できるように、音「meow」を鳴らします。

mBlockに以下のコードを入れて、実行してみましょう。

from mblock import event

@event.greenflag
def on_greenflag():
  sprite.play_until_done('meow')
実行結果

緑の旗を押したときに、音「meow」が鳴りました。

スペースキーが押されたとき

@event.keypressed(‘space’)

意味

スペースキーが押されたら、指定の処理を実行する

ブロック

以下のブロックと同じ動きです。

練習

mBlockに以下のコードを入れて、実行してみましょう。

from mblock import event

@event.keypressed('space')
def on_keypressed():
  sprite.play_until_done('meow')
実行結果

スペースキーを押したときに、音「meow」が鳴りました。

イベントの種類

上記では、「緑の旗が押されたとき」「スペースキーが押されたとき」を紹介しましたが、他にもいろんなイベントがあります。他のパターンを紹介します。

コード
「上」キーが押されたとき@event.keypressed(‘up arrow’)
def on_keypressed():
「下」キーが押されたとき@event.keypressed(‘down arrow’)
def on_keypressed():
「右」キーが押されたとき@event.keypressed(‘right arrow’)
def on_keypressed():
「左」キーが押されたとき@event.keypressed(‘left arrow’)
def on_keypressed():
「A」キーが押されたとき@event.keypressed(‘a’)
def on_keypressed():
「S」キーが押されたとき@event.keypressed(‘s’)
def on_keypressed():
このスプライトが押されたとき@event.clicked
def on_clicked():

まとめ

以上になります。今回は、イベントについて扱いました。

実際にコードを打ち込んで試していくと、コーディングを自然に覚えられます。

タイトルとURLをコピーしました