private void OnCollisionEnter2D(Collision2D objectInfo) { if (objectInfo.gameObject.name == "Tilemap") { activeAnimation(PlayerState.isRunning); jumpCount = 0; Scrolling.start = true; } if (objectInfo.gameObject.tag == "enemy") { foreach (ContactPoint2D hitPos in objectInfo.contacts) { EnemyMng opossum = objectInfo.gameObject.GetComponent <EnemyMng>(); if (isDestroyEnemy(hitPos)) { opossum.Destroy(); } } } if (objectInfo.gameObject.tag == "frog") { foreach (ContactPoint2D hitPos in objectInfo.contacts) { FrogMng frog = objectInfo.gameObject.GetComponent <FrogMng>(); if (isDestroyEnemy(hitPos)) { frog.Destroy(); } } } }
public void Update() { if (isAlive) { float deltaX = speed * GfxTools.Win.deltaTime; position.X += deltaX; float maxX = position.X + width / 2; float minX = position.X - width / 2; if (maxX > GfxTools.Win.width - distToSide) { float overflowX = maxX - (GfxTools.Win.width - distToSide); position.X -= overflowX; deltaX -= overflowX; } else if (minX < distToSide) { float overflowX = minX - distToSide; position.X -= overflowX; deltaX -= overflowX; } sprite.Translate(deltaX, 0); //Translate heart sprite energy under player for (int i = 0; i < heartsEnergy.Length; i++) { if (heartsEnergy[i] != null) { heartsEnergy[i].Translate(deltaX, 0); } } for (int i = 0; i < bullets.Length; i++) { if (bullets[i].IsAlive) { bullets[i].Update(); // Console.WriteLine("X: " + bullets[i].Position.X + " Y: " + bullets[i].Position.Y); if (BarrierManager.Collides(bullets[i].Position, bullets[i].GetWidth() / 2)) //perchè non /2 { // Game.Stop(); bullets[i].IsAlive = false; } else if (EnemyMng.CollideWithBullet(bullets[i])) { bullets[i].IsAlive = false; Game.AddScore(5); } } } } }