【发布时间】:2015-05-26 08:57:22
【问题描述】:
对于一个 2D 横向滚动平台游戏,我制作了一个小齿轮系统,描述如下:
- Player(我的主要玩家游戏对象,附有 Gear 脚本)
- Gear(此游戏对象仅用于组织,在脚本中命名为“root”,没有附加脚本)
- Armor(带有 sprite 和 Armor 脚本的盔甲)
- 武器(带有精灵和武器脚本的武器)
我有一个附加到 Player 的脚本,即 Gear,引用“Gear”GameObject 以将其用作我未来项目的父变换。
在装备中,我以这种方式装备武器:
public void Equip(Wearable w){
switch (w.type) {
case Wearable.Type.WEAPON:
GameObject weaponGO = Instantiate(w.gameObject);
weaponGO.transform.SetParent(root.transform);
Destroy (this.weapon.gameObject);
this.weapon = w.GetComponent<Weapon>();
break;
//I did a swicth because i'll do it for armor, pets etc afterwards
}
}
问题是我在付款人上也有动画师,可以攻击、移动等...
所以当我更换我的武器时,它在 0,0,0 处生成并且它根本不跟随动画,并且在我的播放器动画中,我看到“武器:位置(缺失!)”,所以我认为这来自动画参考...但是如何在我的脚本中更改它?
【问题讨论】: