0

これが機能していないようです。C# プロジェクト ファイル (.exe) を開くとエラーが発生し、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」と表示されます。これがその行とその下の行です。

// Update the actual position

Actor.Position = new Vector3(
                        Actor.PositionToSet.X, 
                        Actor.PositionToSet.Y, 
                        (Math.Round(
                            GetUserStepHeight(
                                Actor.PositionToSet),
                                1)));

Actor.PositionToSet = null;
4

2 に答える 2

1

可能性は、1.Actorであるnullか 2.であるかのいずれかActor.PositionToSetですnull

確認するには、次のいずれかを持っています。

if(Actor == null){
    System.Console.WriteLine("Actor is NULL");
}

if(Actor.PositionToSet == null){
    System.Console.WriteLine("Actor.PositionToSet is NULL");
}

または、Visual Studio で LINE BY LINE デバッガーを使用します。

ここに私が何年も前に得たアドバイスがあります:

  1. コーディングする前に考え、コードのメンタル モデルを構築してください。問題が発生した場合は、コードを見ずに何が問題だったかを振り返ってください。

  2. コードの単体テストを行い、コーディング方法論の標準的な方法にします。これにより、何年ものデバッグ時間を節約できます。

于 2013-11-10T05:35:58.210 に答える
0

ActorまたはActor.PositionToSetnull でないことを確認してください。それが唯一の理由です。

于 2013-11-10T05:32:23.663 に答える