0

Unityで見下ろし型のシューティングゲームを作っています。プレイヤーはワールド内を移動できますが、カメラも一緒に移動するため、プレイヤーは常に画面の中央にいます。

画面の左上隅にテキストを表示しようとしているので、メイン カメラに GUItext コンポーネントをアタッチしました。結果は非常に興味深いものでした。プレーヤーがテキストを移動した瞬間に、画面から飛び出します。

テキストの表示内容はプレーヤーによって制御されるため、プレーヤー スクリプトに次のコード スニペットを追加しました。

public GUIText scoreText;
void Update ()
    {
        scoreText.pixelOffset = new Vector2 (300, 300);
    }

void UpdateScore ()
    {
        scoreText.text = "Lives: " + lives;
    }

しかし、それは何も変わらず、void UpdateScore ()どちらも機能しませんでした。

私は Unity にかなり慣れていないので、これはおそらく非常に単純な間違いです...しかし、私は何がひどく間違っているのでしょうか?

編集:void UpdateScore ()私がから呼び出す今の作品void FixedUpdate ()

EDIT(再度):トランスフォーム(決して移動しない)とGUIテキストコンポーネント以外は何も含まない新しい空のオブジェクトを作成することで問題を修正しました。私が今抱えている問題は、GUI テキストのアンカーが非常に奇妙に動作することです。アンカーを左下に配置した場合にのみ機能します (左上に配置したいのですが)。アンカーを変更しようとすると、アンカーが画面の外に移動します。これが私の階層です:ここに画像の説明を入力

4

2 に答える 2

0

GUIText コンポーネントが、動かない独自のゲームオブジェクトにアタッチされていることを確認してください。現時点では、プレーヤーまたはカメラにあると思います。

(GUIText コンポーネントがアタッチされているゲームオブジェクトが移動すると、表示されるテキストの画面上の位置も移動します。)

于 2016-01-29T02:13:38.990 に答える