当前位置: 首页 > 知识库问答 >
问题:

团结一致该类不保存其方法中的字段值

温源
2023-03-14

我将Vector3参数从外部类传递给方法。然后将其分配到类字段。然后,当我想检查Update方法中的类字段值时,它说它是零。我做错了什么?

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class CustProjectile : MonoBehaviour
 {
 
     Vector3 direction;
     

     private void OnTriggerEnter(Collider other)
     {
         Destroy(gameObject);
     }
 
     public void InitiateProjectile(float speed, Vector3 direction)
     {
         Debug.Log(direction + "= PARAMETER FROM METHOD");
 
         this.speed = speed;
         this.direction = direction;
       
 
         Debug.Log(this.direction + "= VALUE IN THE CLASS");
     }
 
     private void Update()
     {
         Debug.Log(this.direction + "= VALUE IN THE CLASS FROM UPDATE METHOD");
         var dir2 = transform.position + direction;
         
         transform.position += dir2 * speed * Time.deltaTime;
       
     }
 
 }

这是传递Vector3参数的方法

public void AnimationShootProjectileAttack()
{

// projectile is a prefab

var bullet=Instantiate(projectile, transform.position+new Vector3(0,7f,0), Quaternion.identity);
var bullet_c = bullet.GetComponent<CustProjectile>();

projectileDirection= transform.TransformDirection(Vector3.forward);
bullet_c.InitiateProjectile(10f, projectileDirection);

}

共有1个答案

唐麒
2023-03-14

我发现了问题所在。创建CustSpolder实例时,其属性向量3的编译晚于给出其值的方法。我不知道这是怎么可能的,但它是因为将没有领域给予价值,但…

事实上,我决定再次检查,只是为了确定我不能重现我在问题中的错误。嗯…

 类似资料:
  • 我试图实现一个链表类在C和我有问题。我有添加新节点的=运算符。 链接列表类接口: 这里我有=重载实现: 此外,我还有“数组”访问重载方法: 一切正常-我检查了dibugger, 问题是-=不在“head”中保存新节点- 有人知道为什么新的分配没有链接到头- 谢谢!!

  • 问题内容: 每次显示时,我都试图在类中使用a做某事。 例 我的应用程序启动,打开和首次永远,那么我有一个条款,检查它的价值: 然后,在第一次的时候是,我做的东西一样去到另一个。当我回到自己的身体上时,我也会这样做。总是似乎令人耳目一新。 然后,我认为这可能是问题,并且每次我按时,它都会重新启动或发生某种情况。然后,我在我的容器中添加了一个吸气剂和吸气剂: 从开始就在哪里,然后我将代码从for 更改

  • 问题内容: 在C语言中,在结构中定义字段的顺序是在内存中实例化它们的顺序。考虑到内存对齐,以下结构在内存中的大小将为8个字节,如图所示,但是如果将字段反转,则只有6个字节,因为不需要任何对齐填充。 这种顺序保证存在于C结构,C ++类(和结构)和Objective-C类中。 Swift类和结构中的字段是否同样保证了存储顺序?或者(鉴于该语言不支持与列出的其他指针相同的指针),编译器是否在编译时为您

  • 我有一个CloudKit应用程序,它基本上是一个带有一个额外功能的主细节设置。任何详细信息对象都可以标记为ActiveNote。当应用程序在iPad上时,只显示这个ActiveNote(没有用户交互)。该应用程序包括通知和订阅,所有数据都在专用数据库的自定义区域中。该应用程序运行良好,但有一个例外。 只有两种记录类型。所有数据都以cnote类型存储。当一个细节项目被选择显示在iPad上时,我会将该

  • 快速编辑:正如下面指出的,我应该做BFS,但我需要一个点来停止检索新字段,我还没有时间考虑。谢谢你的帮助! 我试图使用Java反射递归地获取类的字段,本质上创建一个树来显示 这是一个递归解析器,所以我认为递归显示函数是很酷的。不幸的是,它压垮了我。 示例类Foo,具有Class1和Class2字段,每个字段可以有更多不同类的字段: 我的递归方法: println已经用于测试,Foo的一个示例输出(

  • 本文向大家介绍C#程序中session值的保存方法以及转为字符串的方法总结,包括了C#程序中session值的保存方法以及转为字符串的方法总结的使用技巧和注意事项,需要的朋友参考一下 C#中保存Session的三种方法及Web.Config设置 保存session到sql server;,需要指定Sql Server;服务器,这种方法因为要读写数据库最慢 保存session到windows进程,要