[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
142(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/07/03(火) 22:33:56.89 ID:wgFi8W22(1) AAS
>>134134(2): 名前は開発中のものです。 [] 2018/07/03(火) 18:42:33.52 ID:DgOGkLki(1/3) AAS
Taitleオブジェクト(TXT表示だけ)が表示中は
敵オブジェクトが弾を発射しない様に改造しているのですが
Enemyにアセットしたcsの、弾を撃つ命令を
if文で、「Taitleオブジェクトが非表示なら弾を撃つ」とすればいいだけだと
思ったのですが、うまくいきません。
Enemy.csの弾の命令は
while (true)
{
// 子要素を全て取得する
for (int i = 0; i < transform.childCount; i++)
{
Transform shotPosition = transform.GetChild(i);
// ShotPositionの位置/角度で弾を撃つ
spaceship.Shot(shotPosition);
}
// shotDelay秒待つ
yield return new WaitForSeconds(spaceship.shotDelay);
}
なんですが、
このコードって恐らく公式の
外部リンク:unity3d.com
のコードでしょうか?
だとすると
「弾を撃つ必要がない時はyield break;を使用してコルーチンを終了させます。」
という具合に書いてるので、これを利用するとですね
// canShotがfalseの場合、ここでコルーチンを終了させる
if (spaceship.canShot == false) {
yield break;
}
となってるので、Titleが非表示の時はbreakするようにすればいいのかなぁと思います
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s