为了账号安全,请及时绑定邮箱和手机立即绑定

实例化对象不实例化其他对象

实例化对象不实例化其他对象

C#
狐的传说 2022-08-20 17:27:07
我想让玩家创建一个“佳能基地”,自动拍摄一些“佳能球”,但(在尝试了一些Debug.Log之后),我可以说,只有在实例化“佳能球”之前的代码才会执行:(它被提及为多人游戏。using UnityEngine.Networking;public class PlayerScript : NewtworkBehaviour{  public GameObject canonBase;  public Transform canonBaseSpawnPoint; void Update() {    if (Input.GetKeyDown(KeyCode.R))    {        CmdCreateCanon();    } }  [Command]  void CmdCreateCanon() {    GameObject _canonBase = Instantiate(canonBase.gameObject,     canonBaseSpawnPoint.transform.position, Quaternion.identity);    _canonBase.transform.rotation = canonBaseSpawnPoint.transform.rotation;    NetworkServer.SpawnWithClientAuthority(_canonBase, connectionToClient);   }}//other script:using System.Timers;using UnityEngine.Networking;public class CanonScript : NetworkBehaviour{  public GameObject canonBall;  public Transform canonSpawnPoint;  public int shootAmount;void Start(){    shoot = new Timer(shootTime * 1000);    shoot.Elapsed += Shoot_Elapsed;    shoot.Start();}void Shoot_Elapsed(object sender, ElapsedEventArgs e)  {  for (int  i = 0; i < shootAmount; i++)  {    //Code written down here gets executed    GameObject _canonBall = Instantiate(CanonBall.gameObject, canonSpawnPoint.transform.position, Quaternion.identity) as GameObject;    _canonBall.transform.rotation = canonSpawnPoint.transform.rotation;    //Code written down here doesn't get Instantiated   } }}要添加:使用Debug.Log()我发现for循环中的代码被执行,但canonBall-Instantiation-code后面的所有内容都没有。canonBall与BulletScript链接,因此它被移动(这应该没问题,因为它也适用于其他对象)。“...SpawnPoint是具有禁用网格渲染器和Box Collider的立方体,并附加到实例化其他对象(玩家 - >canonBase; canonBase - >canonBall所需的游戏对象)编辑:现在我认为它不起作用,因为for循环左右?(因为让玩家直接创建一个canonBall(没有计时器和for循环部分)只是工作正常)
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

您可以制作一个协程,如下所示。Start


using System.Collections;

using UnityEngine;



public class Cannon : MonoBehaviour {


    [SerializeField] private GameObject _cannonballPrefab;



    private IEnumerator Start () {

        yield return new WaitForSeconds (2);

        Instantiate (_cannonballPrefab);

    }

}

当您在附加了此脚本的情况下实例化大炮时,将在延迟 2 秒后创建一个炮弹。


查看完整回答
反对 回复 2022-08-20
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号