Оптимальное решение для случая игнорирования только одного ключа
return all(
(x == y or (x[1] == y[1] == 'key to ignore')) for x, y in itertools.izip(
d1.iteritems(), d2.iteritems()))
Вы устанавливаете объект в неактивное состояние до , когда появляется система частиц, так что этого не происходит. Вместо того, чтобы сначала устанавливать неактивное, просто сначала отключите рендеринг для объекта.
В случае 2D-игры:
public IEnumerator RespawnCo()
{
thePlayer.gameObject.GetComponent<SpriteRenderer>.enabled = false;
Instantiate(deathSplosion, thePlayer.transform.position,
thePlayer.transform.rotation);
yield return new WaitForSeconds(waitToRespawn);
thePlayer.transform.position = thePlayer.respawnPosition;
thePlayer.gameObject.GetComponent<SpriteRenderer>.enabled = true;
}
Вы можете изменить этот код в соответствии со своими потребностями! Надеюсь, это поможет.