私は学校プロジェクトのためにゲームを作っています。私はブロックが崩れ落ちるのを望むこの部分にこだわっています。プレイヤーがブロックに触れ、次のブロックに移動すると、破壊されます。とても困っていて、援助が大好きです。 私が目指してるものの概念はここで見ることができます。各ブロックにはhttp://www.coolmath-games.com/0-b-cubedプレイヤータッチの落下ブロック - Unity(C#)
答えて
を、あなたはOnCollisionExit()
方法(reference)を含むスクリプトを添付する必要があります。衝突パラメータを渡して(参照参照)、衝突情報を使用して、衝突者を離れるオブジェクトがプレーヤであることを確認します(たとえば、インスペクタにプレーヤータグを付け、コリジョンのタグを確認します)。
この方法では、ブロックを倒すためのコードを配置します。
オブジェクトにコライダーが追加されているかどうかを確認してください。問題が発生した場合は、いくつかのコードを返信してください。私はあなたに連絡します。
実際にここで衝突を検出する必要はありません。それは必要ではない。ベースの立方体の位置とx、z平面のプレイヤー立方体の位置を比較するだけです(プレイヤーの立方体は基本立方体の上にあるので、Y軸に違いがあります)。コリジョンは必要ありません。 playerキューブが他のものをホバーする(position check)かどうかをチェックし、次の動きをplayercubeよりも強くしてbasecubeにつけて、1秒後にそれを破壊する、すべての基本キューブにスクリプトを添付します。
EDIT
コードは次のようになります:)シンプル。多かれ少なかれ。
GameObject playerCube; //this is reference to Player object
bool playerEnter = false;
bool playerLeft = false;
void Start()
{
playerCube = Gameoject.Find("PlayerCube"); // here you put the name of your player object as a string. Exactly as it is in the hierarchy
}
void Update()
{
if(playerCube.transform.position.x == transform.position.x && playerCube.transform.position.z == transform.position.z)
{
playerEnter = true; // this checks if player stepped on the cube
}
if((playerCube.transform.position.x != transform.position.x || playerCube.transform.position.z != transform.position.z) && playerEnter == true && playerLeft == false) //checks if player left the cube
{
playerLeft = true; // we do this so the code below is executed only once
gameObject.AddComponent<Rigidbody>(); // ads rigidbody to your basecube
Destroy(gameObject, 1.0f); //destroys baseCube after one second
}
多かれ少なかれそれを行うべきだと思います。最後の試合では、おそらくあなたの仕事にコルーチンを使用するでしょう。また、キューブがすでに破壊されているかどうかを確認する方法を考える必要があります。プレイヤーが次のキューブを踏むことができるかどうかをゲームが検出します。
編集2 あなたの階層、コード、およびあなたが正確にしたいことを知っていないとうまくいかないかを伝えるのは難しいです。このコードを勉強してください - あなたのニーズに若干の調整を加えた後に動作します
- 1. Unityの滑らかな落ち - C#
- 2. 段落の段落右下
- 3. xnaの落下と衝突
- 4. Unity C#Time.deltaTimeバグ
- 5. ノックアウトJSのフィールド落下JS
- 6. UnityのC#エラー
- 7. Unity(C#)のGetComponent
- 8. CSS段落の下の段落を整列する
- 9. Wit.aiタイムアウトC#Unity
- 10. Unity C#CharacterController Script
- 11. Unity C#NullReferenceException
- 12. Unityドロップダウンリストをc#
- 13. Unity High_ScoreバッジC#
- 14. C#、Unity、Prism、xamarin
- 15. Doodle jump unity C#
- 16. unity c#linq firsordefault
- 17. C#テキストのブロックのブロック
- 18. 小数点以下の桁落ちグリッチ
- 19. timestempからの落下時間、分、秒?
- 20. 剛体のない落下キューブ
- 21. Unity 2Dボックスコライダーが別のポートに落ちるPlayercollider upwards
- 22. C#unity interception by attribute
- 23. Unity 3D C#Strings.XMLメソッド
- 24. UNITY 3D C#XML MERGE
- 25. Unity c#help、doodle jump
- 26. C#Unity 2D Object Pooling
- 27. Unity Enemy AIスクリプトC#
- 28. Unity C#壁にバウンス
- 29. UNITY C#GetComponent Returns Null
- 30. C#が:特定の段落
実際にあなたの問題は何ですか?ウィックキューブをチェックするプレーヤーが立っているか、ベースキューブを落としていますか? –
私はブロックがプレーヤーによって触れられたかどうかを検出する方法が本当ではない、そしてそれが落ちるためにそのブロックを残しているならば。 – Jarrod
ブロックの添付スクリプトのOnMouseDownは間違いなく開始になります。 –