for(i=0;i<5;i++){
var inst = instance_create_layer(x, y, "instance_layer", obj_Bullet);
with (inst){
speed = other.shoot_speed;
direction = other.dir;
}
dir += 10;
}
for(i=0;i<5;i++){
var inst = instance_create_layer(x, y, "instance_layer", obj_Bullet);
with (inst){
speed = other.shoot_speed;
direction = other.i*10;
}
}
こういうやり方はどうでしょうか?
ありがとうございます!数が増えました!
これらに一定の角度つけて扇状にしたい場合はどうすれば良いのでしょうか?
横から失礼します。
gamemakerのwikiでの解説です。このwikiは何かと参考になるかと・・・
https://www.wikihouse.com/GameMaker/index.php?cmd=read&page=instance_create_layer()&word=instance creat
wikiのプログラムを書きかえました。即興なので変な所あったらすみません。
弾を撃つのをfor文で5回繰り返して(repeatと同じようなもん)、一番下で1回ごとに角度用の変数dirを10ずつ増やしてます。
withの中身が発射した弾が出現した瞬間の処理(弾objectのcreateイベントを持って来てる感じ)なので、そこでローカル変数のdirection(向き)に変数dirを代入してます。(otherはwithの外の変数を持ってくるみたいな意味です)
shoot_speed = 3;
dir = 0;
for(i=0;i<5;i++){
var inst = instance_create_layer(x, y, "instance_layer", obj_Bullet);
with (inst){
speed = other.shoot_speed;
direction = other.dir;
}
dir += 10;
}
連投になりますが、ループ用の変数iを角度にも使えば以下のように省略できます。(さっきの書いてから気づいた)
shoot_speed = 3;
for(i=0;i<5;i++){
var inst = instance_create_layer(x, y, "instance_layer", obj_Bullet);
with (inst){
speed = other.shoot_speed;
direction = other.i*10;
}
}
実装できました!
詳しい解説までありがとうございます。勉強になりました!
また機会があればよろしくお願いします!