HSPで縦シューティングゲームを作っていこう③当たり判定の実装

この記事は科学太郎氏が提供しているゲーム制作のミニ講座 シューティングゲームを作ろうを参考に実践をもとに記事を構築しています。HSPの基本的な構文等については以下の記事から参照していただければと思います。
いまさらはじめるHSP入門。

HSPの関数を定義してみよう

当たり判定の実装で関数定義がでてくるので、まずは関数定義の仕方を見ておこう。関数定義は#defcfuncというキーワードを使います。hspの関数は必ず値を返す必要があるのでreturnを必ず使用する必要があります。また呼び出し時には単体で呼び出すことができない点も注意が必要です。

    mes Add(1, 2)
    mes Sayhello()
    mes Sayhi("tom")
    stop

#defcfunc Add int a, int b
    return a + b
#defcfunc Sayhello
    return "hello world"
#defcfunc Sayhi str name
    return "hello" + name

またstopを入れておかないとエラーになります。普通のプログラミング言語で使われる関数と同じようにとらえてしまうとおかしなことになるので注意が必要です。

関数と命令の違い

  • 命令 → パラメーターをもとに動作する機能を提供するもの
  • 関数 → パラメーターを一定の法則で加工して値を返すもの

当たり判定の実装で挫折。頭が悪いの90%。構文が読みづらいの10%