問題タブ [unity3d-2dtools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Unity - 2D ムービング プラットフォームの親子関係
2D ゲームの移動プラットフォームでのキャラクターの子育てに苦労しています。
プレイヤーが移動プラットフォームを踏んだときの検出に OnTriggerEnter2D() を使用しています。彼の親をそのプラットフォームに変更します。一般的な移動プラットフォーム (左右) では、すべて正常に機能します。キャラクターがそのプラットフォームに立っている場合、キャラクターはそれと平行に移動し、歩いたり、ジャンプしたりできます。HingeJoint2D で接続された 2 本のロープにぶら下がっているプラットフォームを使用すると、問題が発生します。プレーヤーは、左右に歩いてそのプラットフォームをスイングする必要があります。キーボード入力を使用するとすべて正常に動作しますが、タッチ入力コントローラーを使用すると、プレーヤーが動かない場合、キャラクターは 1 つの場所にとどまり、そのプラットフォームでは動きません。階層パネルではすべてが正しく、プレーヤーはプラットフォームの子であり、プラットフォームは動いていますが、キャラクターは動いていません。
キャラクターを動かすために私はこれを使用しています:(キャラクターコントローラーの一部)
キーボードやタッチ入力も同様です。違いは「move」変数の取得だけです。プラットフォームの移動とスイングのソリューションも同じです。(階層、親、コライダーなど)
これに数時間苦労していますが、何が問題なのかわかりません。
助けてくれてありがとう。
unity3d - Unity との一貫性のないフロート
「部屋」をランダムに生成するために使用しているプレハブがいくつかありますが、同じコードを使用すると幅が一貫しなくなります。
上部 (northWall) は下部 (southWall) と同じ幅である必要がありますが、明らかに 3 倍のサイズです。
これは、他の「壁」プレハブをインスタンス化する「部屋」プレハブです (この時点では基本的にすべてクワッドです)。
私は夢中になっていますか?遅れただけで、何か足りないのですか?
ありがとう。
unity3d - プレイヤーは動くプラットフォームに固執しません
ゲーム用にいくつかの動くプラットフォームを作成しました。プラットフォームのサイクルの開始と終了を定義する子を持つ PlatformPath1 と呼ばれるゲーム オブジェクトがあり、そのパスをたどる実際のプラットフォームがあります。プラットフォームは完璧に動きますが、予想通り、プレーヤーはプラットフォームと一緒に動きません。プレイヤーをプラットフォームに合わせて動かすにはどうすればよいですか?
PlatformPath1 のコードは次のとおりです。
そして、これがプラットフォームのコードです
unity3d - Unity 2D、不安定なジャンプ
プラットフォーマー ゲームで忙しくしていて、現在ジャンプが不安定です。時々、通常よりも高くジャンプします。
私のジャンプ:
あなたの誰かが解決策/ヒントを知っていれば、それは私を大いに助けてくれるでしょう!
c# - オブジェクトを回転させずにスプライトを回転させる方法、または移動を回転に依存しないようにする方法
私はunity2dで、オブジェクトの位置と比較してマウスの位置に応じてオブジェクトが移動するものを作成しました。これを行うには、オブジェクトからマウスに向かうベクトルがあり、すべての動きはこれに対して平行または垂直ですそれに。
これは、スプライトの回転を追加する前に正常に機能しました(以下に示すように追加されました)
更新でこの関数の実行を停止すると、動きが再び機能します。
オブジェクトを回転させずにスプライトを回転させる方法、または動きを損なわないようにする方法はありますか??
これらの質問のいずれについても何も見つけることができず、理解できません(デンマークのコードで申し訳ありません)
このコードは、上とマウスの間の角度をチェックし (上はユニティでゼロ)、オブジェクトの回転をその角度またはマイナスの角度に設定します。
unity3d - unity2D でオブジェクトを別のクリックされたオブジェクトに向かって移動します
- シーンに「 Player 」というオブジェクトがあります。
- 「 Trees 」と呼ばれる複数のオブジェクトもあります。
ここで、ユーザーが「ツリー」をクリックするたびに、「プレーヤー」がゆっくりとその位置に移動するようにしたいと考えています (Lerp または moveTowards を使用)。
このコードには 2 つの問題があります。
このコードを汎用にしたい
木のオブジェクトをクリックするたびに、プレーヤーをその木に向かって移動させたいと思います。このスクリプトを作成して、各ツリー オブジェクトにアタッチしたくありません。
スクリプトはどこに置くべきですか?
現在、このコードをすべてのツリー オブジェクトに添付しています。
シーン内のすべての木のオブジェクトに適用するには、どのように書き留めればよいですか?
移動中にもう一度クリックすると、前の移動をキャンセルして新しい位置への移動を開始します
- プレイヤーがクリックされた別のオブジェクトに向かって移動しているときに別のオブジェクトをクリックすると、プレイヤーは以前の位置への移動を停止し、新しいポイントへの移動を開始するようにするにはどうすればよいですか 。
新しい UnityScript に順応するのに苦労しています。私は厳密にJavascriptのバックグラウンドから来ており、そのうちの2つは非常に異なるセマンティクスを持つ言語のようです。したがって、誰かがコードでこれに答えた場合(これは私が望むものです:))、詳細なコメントもいただければ幸いです。
私は現在これを行います:
私は Unity を持っていない自宅からこれを書いており、コードの構文を忘れていたので、上記のコードにはタイプミスや問題があると予想されます。