【2D】ゲーム作成ツールGameMaker part3【マンセー】
■ このスレッドは過去ログ倉庫に格納されています
0671名前は開発中のものです。
2009/01/03(土) 13:09:48ID:3LsZl9GNよくわからんけど、自機が発した弾が発射元の自機の情報を得たいってこと?
自機弾の発射するイベントで、instance_create()が返す弾のインスタンスIDが使えるから、
{
bullet = instance_create(x,y,objBullet);
bullet.status1 = status1; // bulletインスタンスにstatus1変数を用意し、値に自機の情報である status1 を代入。
bullet.status2 = status2;
...
}
とやって、自機インスタンスのステータスを弾のインスタンスに設定したりするのもいいし、
上記と同様の箇所で
{
bullet = instance_create(x,y,objBullet);
bullet.myShipID = id; // id は自機のインスタンスID
}
とやって、自機インスタンスのIDを、弾側のインスタンスの変数に教えてあげるもの手。
弾側で自機のインスタンスIDが分かってれば、ステータスを参照するのが可能になる。
ただし、上記のいずれの方法も、弾側の生成イベントが終わってから変数が設定されるので、
弾側の生成イベント中でこれらの値を利用しようとするとエラーになる。
これを解決するには、弾の自機情報を元に行う初期化をユーザーイベント(下記例では0番)に記述し、
変数設定後にユーザーイベントを呼び出す方法がある。
{
bullet = instance_create(x,y,objBullet);
...(bulletインスタンスの変数に発射もとの自機の情報を設定する)
with(bullet) {
event_user(0); // 生成した弾に、ユーザーイベント0番を呼び出す
}
}
実装サンプル : ttp://www.mediafire.com/download.php?jhyy1yju1mt
■ このスレッドは過去ログ倉庫に格納されています