第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法將結(jié)構(gòu)分配給其他腳本中的結(jié)構(gòu)

無法將結(jié)構(gòu)分配給其他腳本中的結(jié)構(gòu)

C#
白板的微信 2022-08-20 15:08:08
我正在研究玩家的動作編碼,我想為“道具”等準(zhǔn)備預(yù)制的動作統(tǒng)計(jì)數(shù)據(jù)。為了便于組織,我制作了一個與移動腳本分開的統(tǒng)計(jì)管理腳本,并將移動變量打包在結(jié)構(gòu)中,以便在游戲模式下切換出來。我可以從統(tǒng)計(jì)信息管理腳本導(dǎo)入傳出統(tǒng)計(jì)信息結(jié)構(gòu),但我想將該結(jié)構(gòu)分配給移動腳本中它自己的變量,以便于處理。它確實(shí)復(fù)制了,但我的新結(jié)構(gòu)變量在其所有內(nèi)部變量上返回0,而不是從原始結(jié)構(gòu)復(fù)制值。Tl;dr Im 嘗試將結(jié)構(gòu)從一個腳本復(fù)制到另一個腳本,但是當(dāng)所述結(jié)構(gòu)副本時,副本具有 0 的變量。統(tǒng)計(jì)管理腳本public struct StatsSet{    public int JumpCount;    public float JumpPower;    public float MoveSpeed;    public float QuickFallMultiplier;    public float BaseFallMultiplier;}//Public variables for experimental movement stats testingpublic int ExJumpCount = 1;public float ExJumpPower = 6.0f;public float ExMoveSpeed = 4.0f;public float ExQuickFallMultiplier = 2.0f;public float ExBaseFallMultiplier = 2.5f;public int Statpick = 1;public StatsSet StatsOut;private StatsSet ExStats;private StatsSet BaseStats;// Use this for initializationvoid Start () {    BaseStats.JumpCount = 1;    BaseStats.JumpPower = 6.0f;    BaseStats.MoveSpeed = 4.0f;    BaseStats.QuickFallMultiplier = 2.0f;    BaseStats.BaseFallMultiplier = 2.5f;    ExStats.BaseFallMultiplier = ExBaseFallMultiplier;    ExStats.JumpCount = ExJumpCount;    ExStats.JumpPower = ExJumpPower;    ExStats.MoveSpeed = ExMoveSpeed;    ExStats.QuickFallMultiplier = ExQuickFallMultiplier;    Statpick = 1;}// Update is called once per framevoid Update () {    if (Statpick == 0)    {        StatsOut = ExStats;    }    else if (Statpick == 1)    {        StatsOut = BaseStats;    }}動作腳本private Rigidbody PlayerRigid;private int JumpCheck;private bool IsGrounded = true;public Collider GroundCollider;private int HiddenJumpCount;//Import of player stats dataprivate PlayerStats PStats;private PlayerStats.StatsSet PlayerStats;// Use this for initializationvoid Start(){    PStats = GetComponent<PlayerStats>();    PlayerRigid = GetComponent<Rigidbody>();    PlayerStats = PStats.StatsOut;    JumpCheck = PlayerStats.JumpCount;    Debug.Log("Up and running...");}PStats.Out 返回我預(yù)期的值,但 PlayerStats 返回看似空的值
查看完整描述

1 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個贊

這些腳本都在使用,所以我的猜測是首先發(fā)生的,當(dāng)它抓住結(jié)構(gòu)時,它會抓住一個,因?yàn)槟愕慕y(tǒng)計(jì)管理腳本還沒有初始化它。您可以向每個問題中添加一個以確認(rèn)這是您的問題,但以下是解決方法:Start()MovementScript.Start()default(StatsSet)Debug.Log()

一種選擇是在統(tǒng)計(jì)信息管理腳本中重命名為 。您可以在此視頻中了解有關(guān)喚醒與開始的更多信息,但是TL;DR,所有活動腳本都運(yùn)行其,然后所有腳本都運(yùn)行其.Start()Awake()Awake()Start()

您的另一個選擇是更改“腳本執(zhí)行順序”。如果不觸摸腳本執(zhí)行順序設(shè)置,則不同函數(shù)的順序?qū)⑹俏粗?。您可以使用該設(shè)置菜單來確保統(tǒng)計(jì)信息管理腳本始終在移動腳本之前執(zhí)行,方法是為其提供明確的執(zhí)行順序。Start()


查看完整回答
反對 回復(fù) 2022-08-20
  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號