シンプルな動作。右
と左
へ移動するだけ。
初期の値で右からスタートするか、左からスタートするか動作を選べる。
移動範囲を指定して動かすので、特定の範囲以外には動かない。移動速度も指定できるが、移動速度が速すぎる場合、速度に応じた厳密な距離を測ってないから移動範囲を多少オーバーすることにはなる。
※無茶な値を代入された場合のチェックは一切行なっていない。
インスタンス変数の利用を極力減らすために本来の用途では無いが ystart を利用している。あまり適切な使い方ではないため、気になる場合はここを修正して使うこと。
動作デモ:Simple_Turn
Create イベント用
※ Init_SimpleTurn というユーザ定義関数を作成して、オブジェクト・インスタンスの Create Event から Init_SimpleTurn ユーザ定義関数に引数を三つ与えて呼び出してください
以下スクリプトは Init_SimpleTurn ユーザ定義関数の中身です。
///Init_SimpleTurn(hspeed, width, Direction); /* Init_SimpleTurn(3, 300, 0); */ hspeed = argument0; tw = argument1; if (argument2 == 0)//"Left" { image_xscale = 1; direction = 0; xstart = x; ystart = x - tw; } else if (argument2 == 1)//"Right" { image_xscale = -1; direction = 180; xstart = x + tw; ystart = x; };
Step イベント用
///Step_SimpleTurn(); /* Step_SimpleTurn(); */ if (x >= xstart && direction == 0) { direction = 180; image_xscale = 1; } else if (x <= ystart && direction == 180) { direction = 0; image_xscale = -1; };