前提・実現したいこと
初心者ですが色々な動画やサイトを参考にUnityで2Dアクションを制作しております
Playerコントローラー内でLayerMaskを使い複数固定配置したオブジェクト(BounceObjectとしています)を対象にジャンプアクションを組み込もうとしています
実現したいことはボタンを押している間はキャラクターをBounceObjectの中心へ吸い込まれる様に移動させる事でLayerMaskの範囲を少し広くキャッチしやすくして違和感ない操作感を作ろうと考えています
LayerMask内では対象は一つしかない様に配置しています
独学とネットの徘徊で知識と知恵が乏しくごちゃごちゃ汚くて申し訳ありません、リファクタリングなど必要な要素があればご教授ください
該当のソースコード
void Update() { isGround = Physics2D.OverlapCircle(groundPos.position, checkRadius, whatIsGround); isAction = Physics2D.OverlapCircle(actionPos.position, actionRenge, whatBounceObject); Flip(); SetAnimation(); if (Time.time >= nextBounceTime) { BounceAction(); } JumpAction(); //Attack if (Input.GetButtonDown("Fire1") && Time.time >= nextAttackTime) { Attack(); nextAttackTime = Time.time + 1f / attackRate; } ///横軸の移動はFixedUpdate内で処理しています void FixedUpdate() { if (!isBounceKeep) { moveInput = Input.GetAxisRaw("Horizontal"); if (isBounce) { ----------------- /// void BounceAction() { if (isAction && Input.GetButtonDown("Jump")) { isBounce = true; isBounceKeep = true; bounceKeepCounter = bounceKeepTime; } if (isAction && Input.GetButton("Jump") && isBounceKeep) { if (bounceKeepCounter > 0) { //キャラクターが多少離れていても対象のオブジェクトの中心へ移動できたら・・・と考えています //今の状態はLayerMask内でisAction状態になり、ボタンが押された位置で一旦止まりButtonUpか時間切れの処理待ちしています rb.velocity = Vector2.zero; rb.isKinematic = true; bounceKeepCounter -= Time.deltaTime; } else { rb.isKinematic = false; isBounceKeep = false; } } if (isBounce && isAction && Input.GetButtonUp("Jump") && Input.GetAxis("Vertical") > 0) { rb.velocity = Vector2.up * (bounceUpForce * 1.5f); bounceTimeCounter = bounceTime; nextBounceTime = Time.time + 1f / bounceRate; rb.isKinematic = false; isBounceKeep = false; } else if (isBounce && isAction && Input.GetButtonUp("Jump")) { rb.velocity = Vector2.up * bounceUpForce; bounceTimeCounter = bounceTime; nextBounceTime = Time.time + 1f / bounceRate; rb.isKinematic = false; isBounceKeep = false; } if (isGround) { isBounceKeep = false; } } //下にジャンプのクラスetc...
試したこと
検索して見て回ったサイトではもう一つ要領を得なかったのでここに行き着きました
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/28 22:52
2021/09/29 09:34