アイテム生成①
・モデルデータとテクスチャデータを用意
・モデルにテクスチャを貼り付ける
・作りたいアイテムのプレハブを用意する
・アイテムを区別するために、種類を追加。
public class DropItem : MonoBehaviour {
public enum ItemKind
{
Attack,
Heal,
};
public ItemKind kind;
・InspectorビューでItemKindに攻撃強化ならAttack,回復ならHealを設定。
判定内に入ったら取得。
void OnTriggerEnter(Collider other)
{
// Playerか判定
if( other.tag == "Player" ){
// アイテム取得
CharacterStatus aStatus = other.GetComponent<CharacterStatus>();
aStatus.GetItem(kind);
// 取得したらアイテムを消す
Destroy(gameObject);
}
}
・敵の位置にアイテムを出すと、プレイヤーが即獲得になってしまうので、
上空へ飛ばします。
void Start () {
Vector3 velocity = Random.insideUnitSphere * 2.0f + Vector3.up * 8.0f;
rigidbody.velocity = velocity;
}
Start()関数に入れておくことで、最初に呼び出されますので、
ポーンと上に飛ぶわけです。
Updateではありませんので、注意して下さい。
public class DropItem : MonoBehaviour {
public enum ItemKind
{
Attack,
Heal,
};
public ItemKind kind;
void OnTriggerEnter(Collider other)
{
// Playerか判定
if( other.tag == "Player" ){
// アイテム取得
CharacterStatus aStatus = other.GetComponent<CharacterStatus>();
aStatus.GetItem(kind);
// 取得したらアイテムを消す
Destroy(gameObject);
}
}
// Use this for initialization
void Start () {
Vector3 velocity = Random.insideUnitSphere * 2.0f + Vector3.up * 8.0f;
rigidbody.velocity = velocity;
}
// Update is called once per frame
void Update () {
}
}