このWikiは古くなりました:新しいWikiへ移動


//#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>



----

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS