トリガーされたときにスプライトレンダラーを使用してオブジェクトが表示されない

エルビス

宿題のためにマリオのレプリカを1つにまとめて作成しています。「非表示」ブロックを作成しようとしています。最初は非表示になり、ヒットすると表示に変わります。SpriteRenderer.enableを使用して機能させようとしています。最初はオフにするために機能しますが、表示する場合は機能しません。

この特定のブロック用に別のスクリプトを作成しようとしましたが、結果は同じです。すべてのタグが正しく設定されています。Debug.logを使用して、スプライトを有効にする必要がある「if」を入力するかどうかを確認しようとしましたが、結果は否定的です。

これは、特定のブロックのスプライトレンダラーをオフにするstartメソッドです(機能します)。

private void Start()
{
    //rendObject = this.gameObject.GetComponent<SpriteRenderer>();
    if (gameObject.tag == "Invisible")
    {
        gameObject.GetComponent<SpriteRenderer>().enabled = false;
    }
}

これはすべてのブロックスクリプトです:

private void OnCollisionEnter2D(Collision2D collision)
{
    if (timesToBeHit > 0)
    {
        if (collision.gameObject.tag == "Player" && IsPlayerBelow(collision.gameObject))
        {
            if (gameObject.tag == "Invisible")
            {
                gameObject.GetComponent<SpriteRenderer>().enabled = true;
            }
            collision.gameObject.GetComponent<PlayerController>().isJumping = false; //Mario can't jump higher
            Instantiate(prefabToAppear, transform.parent.transform.position, Quaternion.identity); //instantiate other obj
            timesToBeHit--;
            anim.SetTrigger("GotHit"); //hit animation   
        }
    }

    if (timesToBeHit == 0)
    {
        anim.SetBool("EmptyBlock", true); //change sprite in animator
    }
}
ニコラG。

チャットで解決策を見つけましたが、この種の問題を実行したり実行したことがあるすべての人は、次のことを確認する必要があります。

  • gameObjectごとに1つずつ、任意のタイプの2つのコライダーが必要です。
  • 少なくとも1つのリジッドボギー。
  • 適切なコライダーのセットアップ。
  • 適切なタグ。
  • 適切なレイヤー衝突マトリックス。

以下のコードが機能します。

public SpriteRenderer render;

void Start()
{
    render.enabled = false;
}

private void OnCollisionEnter2D(Collision2D other)
{
    if (other.gameObject.tag == "Player")
    {
        render.enabled = true;
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

シーンがレンダリングされたときにオブジェクトが表示されない

分類Dev

純粋なパイプを使用して、単一のオブジェクトが配列Angularに追加/削除されたときにのみ再レンダリングをトリガーするにはどうすればよいですか?

分類Dev

クラスライブラリプロジェクトのオプションとしてフレームワーク4.6.2が表示されない

分類Dev

jqueryを使用して更新ボタンをクリックしているときにブートストラップモーダルが表示されない

分類Dev

値が異なる同じクラスオブジェクトがデータソースとして渡されたときに、ビューが再レンダリングされないのはなぜですか

分類Dev

値が異なる同じクラスオブジェクトがデータソースとして渡されたときに、ビューが再レンダリングされないのはなぜですか

分類Dev

データリーダーは、オブジェクトからデータが抽出されるときに、オブジェクトのインスタンスに設定されていないオブジェクト参照を提供します

分類Dev

カスタムレンダラーを使用しているときにXamarinFormsSwitchのToggledイベントがトリガーされない

分類Dev

ボタンがクリックされたときにブートストラップモーダルがトリガーされない-jQuery

分類Dev

別のオブジェクトをヒットしたときにOnTriggerEnterがトリガーされない

分類Dev

オブジェクトが作成したストレージがファイルが見つからないというエラーによってトリガーされたクラウド関数

分類Dev

「オブジェクトがすでに存在するため、IDを持つオブジェクトを追加できませんでした」が、プレイグラウンドテスト環境にオブジェクトが表示されない

分類Dev

PyCharmsオートコンプリートがライブラリから返されたオブジェクトに対して機能しない

分類Dev

DataTablesライブラリにエクスポートオプションを追加した後、ページの長さが表示されない

分類Dev

タイプスクリプトによってエラーとして発生しないタイプなしで宣言されたオブジェクト

分類Dev

タイプスクリプトでジェネリックを使用しているときにエラーメッセージが表示される

分類Dev

オブジェクトが表示されていないときにリンククリックをトリガーする

分類Dev

sum関数を使用してリスト内にオブジェクトを追加するときにサポートされていないオペランドタイプエラー

分類Dev

ビューが表示された後にクリックをトリガーすると、スイッチが正しくレンダリングされない

分類Dev

オブジェクト内にあるときにJavascriptmousemoveイベントがトリガーされない

分類Dev

C ++オブジェクトのインスタンス化-空の括弧を使用してオブジェクトがインスタンス化されたときに呼び出されるコンストラクター

分類Dev

生成されたタイプのインスタンスを作成できません:このオブジェクトにパラメーターなしのコンストラクターが定義されていません

分類Dev

国リスト:国オブジェクトをループして<options>をレンダリングするとエラーが返されます

分類Dev

タイプスクリプトオブジェクトをコンソールに記録するときにプロパティが表示されない

分類Dev

パブリックおよびプライベートのオーバーロードされたコンストラクターを使用しているときのc ++ガベージメンバー値

分類Dev

オブジェクトを関数に渡すときに、テンプレート化されたコンストラクターがクラスをパラメーターとして受け取らないようにするにはどうすればよいですか?

分類Dev

リンクをクリックした後、ブートストラップライトボックスにライトボックスが表示されない

分類Dev

マルチスレッドサーバーは、複数のクライアントが接続しようとすると、「破棄されたオブジェクトにアクセスできません」というエラーを表示します

分類Dev

リダイレクトされたページに表示される成功アラートが機能しない

Related 関連記事

  1. 1

    シーンがレンダリングされたときにオブジェクトが表示されない

  2. 2

    純粋なパイプを使用して、単一のオブジェクトが配列Angularに追加/削除されたときにのみ再レンダリングをトリガーするにはどうすればよいですか?

  3. 3

    クラスライブラリプロジェクトのオプションとしてフレームワーク4.6.2が表示されない

  4. 4

    jqueryを使用して更新ボタンをクリックしているときにブートストラップモーダルが表示されない

  5. 5

    値が異なる同じクラスオブジェクトがデータソースとして渡されたときに、ビューが再レンダリングされないのはなぜですか

  6. 6

    値が異なる同じクラスオブジェクトがデータソースとして渡されたときに、ビューが再レンダリングされないのはなぜですか

  7. 7

    データリーダーは、オブジェクトからデータが抽出されるときに、オブジェクトのインスタンスに設定されていないオブジェクト参照を提供します

  8. 8

    カスタムレンダラーを使用しているときにXamarinFormsSwitchのToggledイベントがトリガーされない

  9. 9

    ボタンがクリックされたときにブートストラップモーダルがトリガーされない-jQuery

  10. 10

    別のオブジェクトをヒットしたときにOnTriggerEnterがトリガーされない

  11. 11

    オブジェクトが作成したストレージがファイルが見つからないというエラーによってトリガーされたクラウド関数

  12. 12

    「オブジェクトがすでに存在するため、IDを持つオブジェクトを追加できませんでした」が、プレイグラウンドテスト環境にオブジェクトが表示されない

  13. 13

    PyCharmsオートコンプリートがライブラリから返されたオブジェクトに対して機能しない

  14. 14

    DataTablesライブラリにエクスポートオプションを追加した後、ページの長さが表示されない

  15. 15

    タイプスクリプトによってエラーとして発生しないタイプなしで宣言されたオブジェクト

  16. 16

    タイプスクリプトでジェネリックを使用しているときにエラーメッセージが表示される

  17. 17

    オブジェクトが表示されていないときにリンククリックをトリガーする

  18. 18

    sum関数を使用してリスト内にオブジェクトを追加するときにサポートされていないオペランドタイプエラー

  19. 19

    ビューが表示された後にクリックをトリガーすると、スイッチが正しくレンダリングされない

  20. 20

    オブジェクト内にあるときにJavascriptmousemoveイベントがトリガーされない

  21. 21

    C ++オブジェクトのインスタンス化-空の括弧を使用してオブジェクトがインスタンス化されたときに呼び出されるコンストラクター

  22. 22

    生成されたタイプのインスタンスを作成できません:このオブジェクトにパラメーターなしのコンストラクターが定義されていません

  23. 23

    国リスト:国オブジェクトをループして<options>をレンダリングするとエラーが返されます

  24. 24

    タイプスクリプトオブジェクトをコンソールに記録するときにプロパティが表示されない

  25. 25

    パブリックおよびプライベートのオーバーロードされたコンストラクターを使用しているときのc ++ガベージメンバー値

  26. 26

    オブジェクトを関数に渡すときに、テンプレート化されたコンストラクターがクラスをパラメーターとして受け取らないようにするにはどうすればよいですか?

  27. 27

    リンクをクリックした後、ブートストラップライトボックスにライトボックスが表示されない

  28. 28

    マルチスレッドサーバーは、複数のクライアントが接続しようとすると、「破棄されたオブジェクトにアクセスできません」というエラーを表示します

  29. 29

    リダイレクトされたページに表示される成功アラートが機能しない

ホットタグ

アーカイブ