void dropInvaders() { if (allInvaders.Length != 0) { foreach (GameObject invader in allInvaders) { invaderBehaviour script = invader.GetComponent <invaderBehaviour> (); script.drop(dropStep); } } }
// Use this for initialization void Start() { if (cam == null) { cam = Camera.main; } Vector3 maxCorner = new Vector3(Screen.width, Screen.height, 0.0f); Vector3 maxCornerW = cam.ScreenToWorldPoint(maxCorner); maxWidth = maxCornerW.x; GameObject invaderPrefab; invaderMoveRight = true; invaderMoveDown = false; float startPositionX = -maxWidth / 1.2f; float starPositionY = ceiling; // make this a function of the screen size so that it is consistent proportionally // across all screen sizes invaderSpeed = maxWidth * 2; for (int i = 0; i < MAX_ROWS; i++) { if (i == 0) { invaderPrefab = invader_1; } else if (i > 0 && i < 3) { invaderPrefab = invader_2; } else { invaderPrefab = invader_3; } for (int j = 0; j < MAX_COLUMNS; j++) { Vector3 position = new Vector3(startPositionX + spacingX * j, starPositionY + spacingY * i, 0.0f); GameObject invader = Instantiate(invaderPrefab, position, Quaternion.identity) as GameObject; if (i % 2 == 0) { invaderBehaviour invaderScript = invader.GetComponent <invaderBehaviour> (); SpriteRenderer invaderSpriteRenderer = invader.GetComponent <SpriteRenderer> (); Sprite newStartPostion = invaderScript.position_2; invaderSpriteRenderer.sprite = newStartPostion; } } } }
void moveInvaders() { bool flip = false; if (allInvaders.Length != 0) { foreach (GameObject invader in allInvaders) { invaderBehaviour script = invader.GetComponent <invaderBehaviour> (); bool retVal = script.move(-maxWidth, maxWidth, invaderSpeed, invaderMoveRight); if (flip == false && retVal == true) { flip = true; } } } if (flip) { invaderMoveDown = true; invaderMoveRight = !invaderMoveRight; } }