LoginSignup
0
0

More than 3 years have passed since last update.

DXRuby:「当たり判定」を自分で作ってみよう

Last updated at Posted at 2020-02-16

概要

この記事は中学高校生向けプログラミング教室の教材として作ったものを一部改変したものです。

ゲームで大変よく使う「当たり判定」(衝突判定)について、DXRubyでは===checkなどの便利な機能が付いています。しかし、いつもこのような機能が使えるとは限りません。

では、自分で作るとしたらどうしたらよいでしょうか?実は、いろいろな判定方法が考えられます。

atari_7b.png

atari_en7b.png

前の記事
プログラミング初心者向け:DXRubyで 1ステップずつ作っていく「ブロック崩し」 - Qiita

次の記事
DXRuby:「当たり判定」を自分で作ってみよう A. 四角形の四隅の座標で判定する - Qiita

当たり(衝突)判定の方法

いろいろなやり方が考えられるでしょうが、まずは以下の3通りのやり方が思いつきます。

A. 四角形の四隅の座標で判定する
B. 円の中心からの距離で判定する
C. 色で判定する

それぞれ、別記事になっています。

技術解説

ソースコード

使用ライブラリ

Windows向けRuby用2DゲームライブラリDXRubyを使用します。
バージョン1.4.2以上を想定しています。

1.4.2より前のバージョンとの主な相違点

  • Window.loopが複数置ける

  • マウス位置を取得するInput.mouse_pos_xInput.mouse_pos_yの新しい書き方として、Input.mouse_xInput.mouse_yが追加

→ DXRuby 1.4.6:更新履歴

DXRubyインストールの注意点

→ DXRuby 1.4.6 をWindows10で使う時の注意点とインストール方法 - noanoa07 - Qiita
https://qiita.com/noanoa07/items/0ce14c2404df38de94b7

参考サイト

困ったときは、このページの「チュートリアル」と「マニュアル」にだいたい書いてあります。

古いバージョンのリファレンスも役に立つときがあります。

このテキストのブログ記事での解説です。

ライセンス

ソースコード、本解説ともにパブリックドメイン

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0