2014年9月4日木曜日

下からすり抜けて上に乗ることができる床の実装例 (Unity C#)

すり抜け床の基本的な考え方は参考資料 1 のサイトを参考にした。角度で切り分けるのが面倒だったので y 座標でざっくり切り分けることにした。

KS コードは以下。すり抜け床にしたいゲームオブジェクトにアタッチして使う。


using UnityEngine;
using System.Collections;

public class ColliderController : MonoBehaviour
{
  Transform playerTransform;

  void Start ()
  {
    playerTransform = GameObject.FindGameObjectWithTag ("Player").transform;
  }

  void FixedUpdate ()
  {
    float f = playerTransform.position.y - thisCollider.bounds.max.y;
    if (f <= 0) {      
      collider2D.enabled = false;
    } else {
      collider2D.enabled = true;
    }
  }
}
  1. 株式会社スマイルブーム. "「すり抜け床」を考えてみる". スマイルブーム.com http://smileboom.com/blog/tkool/throughfloor.html, (参照 2014-09-02).

0 件のコメント:

コメントを投稿