- 追加された行はこの色です。
- 削除された行はこの色です。
- 点と点の距離 へ行く。
//#kaisou
[[Tonyu基礎練習]] - [[練習:数学と物理とゲーム]] - ''点と点の距離''
[[dist]]メソッドの説明を見ると、次のような説明があると思います。
**書式
dist(x,y)
:x| 線分(0,0)-(x,y)のx
:y| 線分(0,0)-(x,y)のy
**戻り値
戻り値:線分(0,0)-(x,y)の長さ
これは、図であらわすと次のようになります。黄色い線の長さがdist(x,y)です。
&ref(dist.png);
これを応用して、「2つの点の距離」を測ることができます。次の図を考えましょう。
&ref(dist2.png);
ここでの黄色い線の長さはいくらでしょう。
例題:敵のプログラムにおいて、自機と敵の距離が16以下の場合、自機を殺すようにしなさい。&br;
//prog
teki.tonyu
if (dist(x-$Jiki.x,y-$Jiki.y)<=16) $Jiki.die();
[[dist]]関数に関しては命令レファレンスも参照して下さい。
<table bgcolor=#ffddee><tr><td>
''練習問題''
<blockquote>
次のようなオブジェクトを作ってみましょう
-マウスカーソルとの距離が300 以下になったら、キャラクタパターンが3になる
-そうでなければ、キャラクタパターンが4になる
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591124Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591122Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591123Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591125Rseov9df81r3m2nF59e8v784jw5kfdr
</blockquote>
</td></tr></table>
<table bgcolor=#ffddee><tr><td>
''練習問題''
<blockquote>
まず、次のような2種類のオブジェクトを作ってみましょう
-''$fusen'' : その場でだんだん大きさが大きくなるオブジェクト([[DXスプライト]]を使います。)
-''$Jiki'' : カーソルキーで動くオブジェクト
これに次のような改造を行いましょう。
-$fusenが$Jikiにぶつかったときに、$fusenが死ぬ
-ただし、当たり判定の大きさは、$fusenの大きさ(scaleX)に比例するようにしてください。
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591128Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591126Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591127Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591129Rseov9df81r3m2nF59e8v784jw5kfdr
</blockquote>
</td></tr></table>
----