gpt4 book ai didi

c# - 实例化 C# 时更改附加脚本中 var 的值

转载 作者:行者123 更新时间:2023-11-30 16:02:56 25 4
gpt4 key购买 nike

我不能对我实例化的这个“子弹”应用任何东西,我不能访问它上面的脚本。在实例化之后,我希望附加到它的 scriptbullter 中的 var 取值 1。

if (Input.GetMouseButton (1) && canFire) {

var mousePosition = FindObjectOfType<Camera> ().ScreenToWorldPoint (new Vector3 (Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z - FindObjectOfType<Camera> ().transform.position.z));

GetComponent<Rigidbody2D> ().transform.eulerAngles = new Vector3 (0, 0, Mathf.Atan2 ((mousePosition.y - transform.position.y), (mousePosition.x - transform.position.x)) * Mathf.Rad2Deg - 90);

bullet bulletobj = Instantiate (bulletFired, transform.position + transform.forward * 2, Quaternion.identity) as bullet;
bulletobj.GetComponent<scriptbullet>().bulletDamages = 1; //this line doesn't work

bulletobj.GetComponent<Rigidbody2D> ().velocity = (mousePosition - transform.position).normalized * bulletSpeed * Time.smoothDeltaTime;

canFire = false;
}

在此先感谢大家 :D

最佳答案

bulletobj.GetComponent<scriptbullet>()失败是因为 bulletobj一片空白。从 Instantiate 返回的对象不是 bullet而是一个 GameObject ,将该行代码更改为

GameObject bulletobj = Instantiate (bulletFired, transform.position + transform.forward * 2, Quaternion.identity) as GameObject;

关于c# - 实例化 C# 时更改附加脚本中 var 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37092962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com