画面をスクロールさせる(カメラを動かす)には、
view_portではなくcamera viewの位置を動かします。
// Stepイベント
viewx += 1;
camera_set_view_pos(view_camera[0], viewx, viewy);
こんな感じです。
playerが所定の位置まで行ったら操作受付を止めて自動スクロールするには例えば下記のようになります
ロジックは一例ですのでご自分のやり方で書いてください
(roomのカメラのObject Followingがセットされているとカメラを自前で制御できないので"No Object"にしてください)
playerオブジェクト
// Createイベント
view_x = 0;
view_y = 0;
state = "walk";
view_w = camera_get_view_width(view_camera[0]);
// Stepイベント
if (state == "walk")
{
if (keyboard_check(vk_right)) x += 5;
if (keyboard_check(vk_left)) x -= 5;
camera_set_view_pos(view_camera[0], x-view_w/2, 0);
if (x >= 500)
{
view_x = camera_get_view_x(view_camera[0]);
state = "auto_scroll";
}
}
else if (state == "auto_scroll")
{
if (view_x < 400)
{
view_x++;
camera_set_view_pos(view_camera[0], view_x, view_y);
}
}
通報 ...