忍者ブログ

ゲーム作るさ-GameMaker

ゲーム作りの日記。ゲーム作りに役に立つ記事を書いて行きます。 ゲーム作りに使用するのは主にGameMakerとGameMaker Studioです。

製作メモ 座標と角度と距離

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

製作メモ 座標と角度と距離

今回は座標と角度と距離についてのメモですはい。

GameMakerにはこんな便利な変数や関数ががあるんじゃよというメモ。



座標系

当たり前なことやちょい便利なものまで...


x座標
y
y座標
※ 原点はroomの左上 & GMの仕様でy座標の向きが逆(上のほうが値が小さい)

xstart

インスタンス生成時のx座標
ystart
インスタンス生成時のy座標

xprevious
1step前のx座標
yprevious
1step前のy座標

lengthdir_x(len,dir)
lenに距離、dirに角度を指定したときのx軸距離
lengthdir_y(len,dir)
lenに距離、dirに角度を指定したときのy軸距離

図に表すとこんな感じ(わかりにくくてさーせん)

ちなみにこいつを公式に直してみるとこうなる
wx = x + cos(degtorad(dir))*len
wy = y - sin(degtorad(dir))*len

(wx,wy)に知りたいx,y座標が代入されます
dirが角度でlenが距離
yはなんで引いてるかと聞かれればGMの仕様上y軸の向きが逆だからです。


距離系


wx = x - x2
wy = y - y2
(x,y)から(x2,y2)までの距離を返す
これはxとyをわけて測っているので分けて使いたい時などによく使う
ちなみにこれは向きが分かる、wx値がプラスだと右方向に-だと左方向に進んでいることが分かる
yもおんなじ感じ

point_distance(x1,y1,x2,y2)
座標(x1,y1)から(x2,y2)までの距離を返す

これは単純に距離を測りたい時に使う。
これだと向きは分からないです。マイナスの値にはならないです。



角度系



direction
インスタンスが進んでる方向を示します。(0から360)

角度を指定するだけでなく進んでる方向調べたい時も便利です。
dir = direction
image_angle = dir

例えばこんな時とか
ちなみに座標を動かしてる場合でもちゃんとdrectionを調べてくれてるみたいです。

point_direction(x1,y1,x2,y2)
座標(x1,y1)から座標(x2,y2)までの角度を度で返してくれます。

これもよく使います。例えば時期狙いの弾を撃ちたい時などによく使いますね。

degtorad(x)
度をラジアン値で返してくれます

radtodeg(x)
ラジアン値を度で返してくれます。



とまぁ、僕が知ってる感じのやつはこれくらいでしょうか。
忘れないようにメモとして書き殴っておきました。




拍手

PR

コメント

プロフィール

HN:
つっきー@月筒木
性別:
非公開
趣味:
ゲーム作り
自己紹介:
ごろりんとゲーム作ってます

P R