コードでimage_angle
とdirection
を設定しますが、y
の座標だけを変更してください。もちろん、x
の変更は表示されません。
を使用でき
はdirection
とspeed
変数を内蔵しており、ゲームメーカーは、自動的に任意のオブジェクトを移動する、またはあなたがx
とy
座標にlengthdir_x
とlengthdir_y
機能を適用することができます。
direction
とspeed
例:
//create event
playerSpeed = 3;
//step event
image_angle = point_direction(x, y, mouse_x, mouse_y);
direction = image_angle;
speed = 0; //reset speed at start of each step event
//now you wont have to check if key has been released to stop object
if(keyboard_check(ord('W')))
{
//distance between player and target
distance = point_distance(x, y, mouse_x, mouse_y)
if distance < playerSpeed
{
//with this, object will move only to mouse position, not further
speed = distance;
}
else
{
speed = playerSpeed;
}
}
else if(keyboard_check(ord('S')))
{
speed = -playerSpeed;
}
lengthdir_x
とlengthdir_y
例:
// create event
playerSpeed = 3;
// step event
image_angle = point_direction(x, y, mouse_x, mouse_y);
if keyboard_check(ord("W"))
{
x += lengthdir_x(playerSpeed, image_angle);
y += lengthdir_y(playerSpeed, image_angle);
}
else if keyboard_check(ord("S"))
{
x += lengthdir_x(playerSpeed, image_angle-180);
y += lengthdir_y(playerSpeed, image_angle-180);
}
すべてのゲームメーカー機能は、角度0(360で、度数で角度を使用することに注意してください)を反時計回りに増加させる。 任意の関数は、0〜360の範囲以下の値で正しく動作します。たとえば、-90 = 270 (360-90)
および400 = 40 (400-360)
です。 ゲームメーカーがtrue
とfalse
をチェックする方法に注意してください。 0より大きい値<は、チェック時にfalse
となります。
注:私は本当に必要なのはトップラインに注意を払っています... まだ動作しません... – MobyCoding