/// <summary> /// Setter opp dataene som trengs for å tegne en bokstav som faller /// </summary> /// <param name="content">Contentmanager</param> /// <param name="receivedSprite">Navn på filen som skal tegnes</param> /// <param name="drawPlacement">Hvor teksturen skal tegnes</param> /// <param name="falling">Hvorvidt bokstaven skal "falle" eller ikke</param> /// <param name="ySpeed">Hvor raskt bokstaven skal falle</param> public FallingObject(ContentManager content, String receivedSprite, Vector2 drawPlacement, bool falling, int ySpeed) { this.ySpeed = ySpeed; this.falling = falling; sprite = new DrawSprite(content, receivedSprite, drawPlacement, 1); this.drawPlacement = drawPlacement; }
public Ladybug(ContentManager content) { _ladybugTexture = GlobalVars.LADYBUG_SPRITE_NAME; _clicks = 0; _timeExisted = 0.0; _timeSinceDespawn = 0.0; _isDead = false; _draw = new DrawSprite(content, _ladybugTexture, new Rectangle(0, 0, 0, 0), GlobalVars.LADYBUG_SPRITE_RECTANGLE, 1) ; }
/// <summary> /// Laster inn tittel og begin tekst /// setter startposisjonen til tittel /// kaller reset /// </summary> public void initialize() { titleStartPos = new Vector2(screenWidth, GlobalVars.GROUND_Y_POS); title = new DrawSprite(game.Content, @"StartScreen\gameTitle", titleStartPos, 1); begin = new DrawSprite(game.Content, @"StartScreen\beginText", Vector2.Zero, 1); begin.opacity = 0; begin.placeInMidOfScreen(); reset(); }
/// <summary> /// Gjør klar objekter med posisjon som er plassert i forhold til hverandre, dette gjør /// hvis man endrer på basePos så vil alle elementene flytte seg deretter. De er lagt inn i /// en array for iterere igjennom lettere, selv om det er litt vanskeligere å holde oversikt /// over hvilken som er textures[4] enn textureBrownBlock. /// Setter posisjonene til de brune blokkene, vinduet og steinveien i GlobalVars for bruk i andre klasser. /// </summary> /// <param name="game"></param> public DrawBG(Game game) { textures[0] = new DrawSprite(game.Content, "Roof North West", 1, new Vector2(basePos.X, basePos.Y-86), 0.1f); textures[1] = new DrawSprite(game.Content, "Roof North", 5, new Vector2(basePos.X + textures[0].width, textures[0].position.Y), 0f); textures[2] = new DrawSprite(game.Content, "Roof North East", 1, new Vector2(textures[1].position.X + (textures[1].width * 5), textures[0].position.Y), 0f); textures[3] = new DrawSprite(game.Content, "Roof West", 1, new Vector2(basePos.X, textures[1].position.Y + textures[1].height - 87), 0.2f); GlobalVars.FIRST_BROWN_BLOCK_POS = new Vector2(basePos.X + textures[3].width, textures[3].position.Y); textures[4] = new DrawSprite(game.Content, "Brown Block", 4, GlobalVars.FIRST_BROWN_BLOCK_POS, 0.2f); textures[5] = new DrawSprite(game.Content, "Roof North2", 1, new Vector2(textures[4].position.X + textures[4].width * 4, textures[1].position.Y + 43), 0.2f); textures[6] = new DrawSprite(game.Content, "Roof East", 1, new Vector2(textures[4].position.X + textures[3].width * 5, textures[3].position.Y), 0.1f); textures[7] = new DrawSprite(game.Content, "Roof South West", 1, new Vector2(basePos.X, textures[3].position.Y + (textures[3].height / 2)), 0.3f); textures[8] = new DrawSprite(game.Content, "Roof South", 4, new Vector2(basePos.X + textures[7].width, textures[7].position.Y), 0.3f); GlobalVars.WINDOW_POS = new Vector2(textures[8].position.X + textures[8].width * 4, textures[7].position.Y); textures[9] = new DrawSprite(game.Content, "Window Tall", 1, GlobalVars.WINDOW_POS, 0.25f); textures[10] = new DrawSprite(game.Content, "Roof South East", 1, new Vector2(textures[9].position.X + textures[9].width, textures[7].position.Y), 0.3f); textures[11] = new DrawSprite(game.Content, "Wall Block Tall", 7, new Vector2(basePos.X, textures[7].position.Y + (textures[7].height / 2)), 0.1f); textures[12] = new DrawSprite(game.Content, "Door Tall Closed", 1, new Vector2(basePos.X + textures[11].width * 5, textures[7].position.Y + (textures[9].height / 1.6f)), 0.15f); textures[13] = new DrawSprite(game.Content, "Stone Block", 7, new Vector2(basePos.X, textures[10].position.Y + textures[11].height + 31), 0f); GlobalVars.GROUND_Y_POS = (int) textures[13].position.Y; }
/// <summary> /// Citizens konstruktør /// </summary> /// <param name="content">Spillets Content-objekt</param> /// <param name="citizenNumber">Hvor mange citizens-objekter som er opprettet (inkludert denne)</param> public Citizen(ContentManager content, int citizenNumber) { //Hvor mange citizens-objekter som er opprettet (inkludert denne) _citizenNumber = citizenNumber; //Velger en tilfeldig sprite utifra en liste _spriteNumber = GlobalVars.RAND.Next(GlobalVars.CITIZEN_SPRITE_NAME.Length); _sprite = GlobalVars.CITIZEN_SPRITE_NAME[_spriteNumber]; //En innbyggers utgansgsposisjon _spawnPos = new Vector2(-300, GlobalVars.GROUND_Y_POS); /*Oppretter objektet som skal tegne innbyggeren. Må ha egen "source" (beskjæring). Får en layerDepth basert på _citizenNumber (for å forhindre at flere innbyggere kjemper om samme zIndex)*/ _drawable = new DrawSprite(content, _sprite, new Rectangle((int)_spawnPos.X, (int)_spawnPos.Y, GlobalVars.CITIZEN_BOX_WIDTH, GlobalVars.CITIZEN_BOX_HEIGHT), GlobalVars.CITIZEN_SPRITE_RECTANGLE, 0.8f + (float)((float)_citizenNumber / 100)); _speed = GlobalVars.CITIZEN_INIT_SPEED; //Tidtaker _timeoutCounter = 0; //Tidtaker _changeSpeedCounter = 0; //Boolean som gir timeout når en innbygger er reddet (klikket på) _respawnDelay = false; }
public Gem(ContentManager content, String gemTexture) { _canClick = true; _draw = new DrawSprite(content, gemTexture, new Rectangle(0, 0, 0, 0), GlobalVars.GEM_SPRITE_RECTANGLE, 1); }
/// <summary> /// Henter ut replayButton og exitButton og setter rektangelet deres /// Henter også ut "You Win!" teksten /// Til slutt regnes den totale bredden på bokstavene ut, for så å plassere én og én bokstav ut ifra det /// </summary> public void initialize() { replay = false; tempText = game.Content.Load<Texture2D>(@"GameOverScreen\startOver"); replayRectangle = new Rectangle(screenWidth / 2 - tempText.Width - space, screenHeight / 2 - tempText.Height / 2, tempText.Width, tempText.Height); replayButton = new DrawSprite(game.Content,@"GameOverScreen\startOver", replayRectangle, 1); tempText = game.Content.Load<Texture2D>(@"GameOverScreen\exit"); exitRectangle = new Rectangle(screenWidth / 2 + space, screenHeight / 2 - tempText.Height / 2, tempText.Width, tempText.Height); exitButton = new DrawSprite(game.Content, @"GameOverScreen\exit", exitRectangle, 1); winText = new DrawSprite(game.Content, @"GameOverScreen\win", new Vector2(0, 50), 1); for (int i = 0; i < letterWidth.Length; i++) totalLetterWidth += letterWidth[i]; xPos = (screenWidth / 2) - (totalLetterWidth / 2); for (int i = 0; i < gameOverText.Length; i++) gameOverText[i] = new FallingObject(game.Content, @"GameOverScreen\GameOverLetters\" + letterFileNames[i], new Vector2(xPos += letterWidth[i], -100), true, 10); }