私はあなたのプレーヤーを攻撃する敵をランダムに作成するスクリプトを使用しています。私はする必要がこれを行うにはSpriteRenderer、名を追加し、ゲームオブジェクトに、を挿入し、それ、その後、資産であるテクスチャにそれを与えます。Unityランタイムのスプライトレンダラーでスプライトを変更しました
GameObject sprGameObj = new GameObject();
sprGameObj.AddComponent<SpriteRenderer>();
sprGameObj.name = "Enemy";
sprGameObj.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("EnemyImage");
コードは、ゲームオブジェクトを挿入し、それはしかし、スプライトに画像「EnemyImage」を追加していないスプライトレンダラと名前を追加します。
は、ここに私のコードです。私はオンラインで見ましたが、他の人は私と同じようなコードを使っていますが、どちらもうまくいきません。
解決策を知っている人はいますか?
私はC#でコーディングしています。
更新:
私は、既存のスプライトの内側にこのコードを入れてみました、それはちょうどそれがイメージの削除:
gameObject.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("EnemyImage");
は画像自体に問題があるだろうか?
ファイルパスに問題がある可能性があります。 「assets/EnemyImage」のようなものを使ってみることができますか? – Andrew
ご協力ありがとうございます。アセットフォルダが「リソース」フォルダであり、そこにイメージを置いていると思ったことに気付きました。私はリソースが資産を意味すると思った。この問題を解決するために、私は自分のイメージをresourcesという名前のフォルダに入れました。ご協力ありがとうございました。私は次回にこのような簡単な間違いをしないようにします。 – Andrew
別のヘッドアップ: 'Resources.Load <>()'は、単一に設定されたスプライトに対してのみ機能します。複数に設定されているものがあれば 'Resources.LoadAll <>()'を使う必要があります。 –