トランスフォームの場所に応じて、2Dスプライトフリップを機能させる

ジョークラーク

したがって、このコードは何らかの理由で応答していません。常にプレイヤーと向き合うことを試みている敵がいます(敵はプレイヤーの頭を定期的に前後に急降下します)。しかし、タイマーが0に達するたびにフリップを発生させる以外は、実際にはそれほどうまく機能しませんが、フリップ機能を機能させることはできません。フリッパー機能は問題ないことを私は知っています。私はすでにそれとすべてをテストしました。プレイヤーが敵の左側にいるとき、向きを変える、またはその逆を敵に伝える方法がわかりません。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class dragoonDetection : MonoBehaviour {

private Rigidbody2D rb;
private Animator anim;
public Transform Player;
private bool facingRight = true;

void Start ()
{
    rb = GetComponent<Rigidbody2D> ();
    anim = GetComponent<Animator> ();
}

void Update()
{
    Flip();
}

    void Flip()
{
    if (Player.transform.localScale.x > 0) {
        transform.localScale = new Vector3 (1.69f, 1.54f, 1f);
    }
        if (Player.transform.localScale.x < 0) {
            transform.localScale = new Vector3 (-1.69f, 1.54f, 1f);
    }
}

void Flipper()
{
    facingRight = !facingRight;
    Vector2 theScale = transform.localScale;
    theScale.x *= -1;
    transform.localScale = theScale;
}
}

何かアイデアはありますか?FindGameObjectは実際にはプレーヤーのスクリプトを検索していないため、使用は避けたいと思います。プレーヤーにスクリプトが添付されていない子トランスフォームを探しています。また、ゲーム内でいつでも切り替えることができる2つの異なるプレーヤーのGameObjectがあるため、その点では実際には機能しません。

ryeMoss

鳥の位置を常にプレーヤーに向けたい場合は、鳥の位置でプレーヤーの位置に対して何らかのチェックを実行する必要があります。必要最低限​​の方法は、2つのオブジェクトのx位置を比較し、それに応じてスケールを変更することです。

void Update()
{
     transform.localScale = new Vector3(getDir()*1.69f, 1.54f, 1);
}

private int getDir()
{
    if (player.transform.position.x < transform.position.x)
        return -1;
    else 
        return 1;
}

変更がないときにフレームごとにスケールが更新されないように、ここにいくつかの追加のチェックをスローする必要があります。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

トロイダル2DグリッドベースのマップでフォローAiを機能させる方法

分類Dev

インラインフォームブートストラップが機能していません

分類Dev

ストライプトークンは直接充電で機能しますが、プラットフォームを介しては機能しません

分類Dev

jQueryフォームプラグインを使用して複数のフォームを同じサーバー側スクリプトに送信する

分類Dev

Android SDKプラットフォームのバージョンに応じて異なるマニフェストを使用する

分類Dev

djangoでの作成のみでクラスベースのビューを更新する場合、ファイルのアップロードにフォームセットを使用しても機能しません

分類Dev

ブートストラップ4のフォーム送信ボタンの5秒の読み込みスピナーを機能させる

分類Dev

ブートストラップフォーム>入力フィールドグリッドの問題>追加された場合にのみ機能

分類Dev

インストールされているVisualBasicアプリのターゲットプラットフォームを設定/変更するにはどうすればよいですか?corflag.exeの場所と実際のコマンド実行に関する指示

分類Dev

Unity-キャラクターコントローラースクリプト2Dの「WhatIsGround」フィールドに存在しないプラットフォーム用に新しく作成されたレイヤー

分類Dev

スライドがカスタムコンポーネント内にラップされている場合、スライドは機能しません

分類Dev

加重2Dマトリックスの指定されたソースと宛先の場所の間の最適なパスを見つけるために、フラッディングアルゴスリムを適用する方法

分類Dev

デフォルトのテンプレートパラメータとして、他のパラメータに応じてネストされたテンプレートクラスのインスタンス化を設定する方法

分類Dev

ファイルの場所に応じてフォルダアイコンディレクトリをリダイレクトできるプログラムを作成することはできますか?

分類Dev

フォントファミリーがブートストラップの2つの場所にあるのはなぜですか?

分類Dev

Android-クリックされたリストビューアイテムに応じてフラグメントを膨らませる

分類Dev

GoogleクラウドプラットフォームでホストされているdatastaxCassandraクラスターのcqlshにログインできません

分類Dev

プラットフォームに応じたCMake条件付きライブラリのリンク

分類Dev

jqueryを使用してリストアイテム内のブートストラップグリフィコンをスライドさせる方法は?

分類Dev

カスタムアクションクラスを使用する場合、Symfony検証はApiプラットフォームでは機能しません

分類Dev

Qtアプリに別の場所の「プラットフォーム」を表示させるにはどうすればよいですか?

分類Dev

Django-特定のフィールドに入力されていない場合にのみフォームをデータベースに保存する方法(サインアップスパムのハニーポットトラップ)

分類Dev

ブートストラップモーダルフォームスイッチ-ワンクリック機能

分類Dev

地図上のポリラインから自分の場所に応じてスロットを取得する方法

分類Dev

Webサイト全体、Jekyll、ブートストラップ3のデフォルトのフォントサイズを設定する場所

分類Dev

所属する関係がある場合にゲストユーザーにプラットフォームについてコメントさせる方法

分類Dev

スイングアプリをプラットフォームのネイティブアプリのように見せるための方法

分類Dev

リサイクラーアイテムを表示スワイプリフレッシュレイアウトの下に配置されている場合、クリックが機能しない-Android

分類Dev

デフォルトのプログラムのインストール場所を変更しますか?

Related 関連記事

  1. 1

    トロイダル2DグリッドベースのマップでフォローAiを機能させる方法

  2. 2

    インラインフォームブートストラップが機能していません

  3. 3

    ストライプトークンは直接充電で機能しますが、プラットフォームを介しては機能しません

  4. 4

    jQueryフォームプラグインを使用して複数のフォームを同じサーバー側スクリプトに送信する

  5. 5

    Android SDKプラットフォームのバージョンに応じて異なるマニフェストを使用する

  6. 6

    djangoでの作成のみでクラスベースのビューを更新する場合、ファイルのアップロードにフォームセットを使用しても機能しません

  7. 7

    ブートストラップ4のフォーム送信ボタンの5秒の読み込みスピナーを機能させる

  8. 8

    ブートストラップフォーム>入力フィールドグリッドの問題>追加された場合にのみ機能

  9. 9

    インストールされているVisualBasicアプリのターゲットプラットフォームを設定/変更するにはどうすればよいですか?corflag.exeの場所と実際のコマンド実行に関する指示

  10. 10

    Unity-キャラクターコントローラースクリプト2Dの「WhatIsGround」フィールドに存在しないプラットフォーム用に新しく作成されたレイヤー

  11. 11

    スライドがカスタムコンポーネント内にラップされている場合、スライドは機能しません

  12. 12

    加重2Dマトリックスの指定されたソースと宛先の場所の間の最適なパスを見つけるために、フラッディングアルゴスリムを適用する方法

  13. 13

    デフォルトのテンプレートパラメータとして、他のパラメータに応じてネストされたテンプレートクラスのインスタンス化を設定する方法

  14. 14

    ファイルの場所に応じてフォルダアイコンディレクトリをリダイレクトできるプログラムを作成することはできますか?

  15. 15

    フォントファミリーがブートストラップの2つの場所にあるのはなぜですか?

  16. 16

    Android-クリックされたリストビューアイテムに応じてフラグメントを膨らませる

  17. 17

    GoogleクラウドプラットフォームでホストされているdatastaxCassandraクラスターのcqlshにログインできません

  18. 18

    プラットフォームに応じたCMake条件付きライブラリのリンク

  19. 19

    jqueryを使用してリストアイテム内のブートストラップグリフィコンをスライドさせる方法は?

  20. 20

    カスタムアクションクラスを使用する場合、Symfony検証はApiプラットフォームでは機能しません

  21. 21

    Qtアプリに別の場所の「プラットフォーム」を表示させるにはどうすればよいですか?

  22. 22

    Django-特定のフィールドに入力されていない場合にのみフォームをデータベースに保存する方法(サインアップスパムのハニーポットトラップ)

  23. 23

    ブートストラップモーダルフォームスイッチ-ワンクリック機能

  24. 24

    地図上のポリラインから自分の場所に応じてスロットを取得する方法

  25. 25

    Webサイト全体、Jekyll、ブートストラップ3のデフォルトのフォントサイズを設定する場所

  26. 26

    所属する関係がある場合にゲストユーザーにプラットフォームについてコメントさせる方法

  27. 27

    スイングアプリをプラットフォームのネイティブアプリのように見せるための方法

  28. 28

    リサイクラーアイテムを表示スワイプリフレッシュレイアウトの下に配置されている場合、クリックが機能しない-Android

  29. 29

    デフォルトのプログラムのインストール場所を変更しますか?

ホットタグ

アーカイブ