我目前正在嘗試對角色製作兩個手臂,並使用NxRevoluteJoint進行移動。我有這些工作完全在已給出的例子的又一個計劃,我已經使用了相同的代碼在這個新項目,但是我正在一個錯誤(一個標題),我掙扎着如何解決它。我明白指針在某些地方是指向NULL,但我看不出如何對它進行排序。在0x002a2da2處出現NVIDIA未處理異常<work.exe> 0xC0000005:訪問衝突讀取位置0x00000000
的變量是全局設置:
NxRevoluteJoint* playerLeftJoint= 0;
NxRevoluteJoint* playerRightJoint= 0;
這是單獨的函數的代碼,玩家被建成一個複合對象:
NxVec3 globalAnchor(0,1,0);
NxVec3 globalAxis(0,0,1);
playerLeftJoint= CreateRevoluteJoint(0,actor2,globalAnchor,globalAxis);
playerRightJoint= CreateRevoluteJoint(0,actor2,globalAnchor,globalAxis);
//set joint limits
NxJointLimitPairDesc limit1;
limit1.low.value = -0.3f;
limit1.high.value = 0.0f;
playerLeftJoint->setLimits(limit1);
NxJointLimitPairDesc limit2;
limit2.low.value = 0.0f;
limit2.high.value = 0.3f;
playerRightJoint->setLimits(limit2);
NxMotorDesc motorDesc1;
motorDesc1.velTarget = 0.15;
motorDesc1.maxForce = 1000;
motorDesc1.freeSpin = true;
playerLeftJoint->setMotor(motorDesc1);
NxMotorDesc motorDesc2;
motorDesc2.velTarget = -0.15;
motorDesc2.maxForce = 1000;
motorDesc2.freeSpin = true;
playerRightJoint->setMotor(motorDesc2);
在那裏我得到的線誤差在playerLeftJoint->setLimits(limit1);
'NxRevoluteJoint * playerLeftJoint = 0;'你提領一個空指針。 –
我該如何去解除它的引用? – Defterniko
在使用之前指向現有的'NxRevoluteJoint'。類似的正確聯合。 –