是否可以删除游戏对象名称的一部分?例如:
我为子弹的使用示例化了游戏对象。我给予他们一个发射子弹的玩家的名字。所以如果一个玩家的名字是“本”,他的子弹就叫做本的子弹。
gameObject.name = playerName + "'s bullet";
现在我想用这个名字来知道是谁给了另一个玩家最后一击。为了做到这一点,我想找到与子弹同名的玩家对象,并更新他的击杀数。所以我想删除子弹名称中的“s bullet”部分。
长话短说:是否可以删除游戏对象名称的一部分?
希望这是足够清楚en帮助真的很感激。提前感谢!
编辑:这是名称必须更改的部分:
if(other.gameObject.tag == "bullet"){
var colBullet = other.transform.name;
playerHealth = playerHealth - 5;
if(playerHealth <= 0){
onDie();
//colBullet = colBullet - "'s bullet";
GameObject.Find(colBullet);
} }
碰撞对象的名称放在colBullet变量中。我打印了它,它说:这个可以用,但是现在唯一需要做的就是移除's的子弹
3条答案
按热度按时间h43kikqp1#
但是也许有一个不需要操作就能找到玩家名字的属性会更好?
w6mmgewl2#
长话短说:在游戏对象中保留对玩家的引用,而不是其名称。这样,如果您想增加经验或射手每次杀死的金币,则可以保存对玩家的查找。对于流弹或回收的子弹,只需将Player设置为null。
col17t5w3#
你可以使用Replace()函数来删除你想要的部分,像这样: