Java tutorial
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package com.gamemaker.gameworld; import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.g2d.*; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType; import com.gamemaker.ERhelpers.AssetLoader; import com.gamemaker.GameObjects.Obstacles; import com.gamemaker.GameObjects.*; import com.gamemaker.ERhelpers.Button; public class GameRenderer { protected Game game; protected GameWorld myWorld; protected OrthographicCamera cam; protected ShapeRenderer shapeRenderer; protected SpriteBatch batcher;//this is for drawing pictures for u protected int gameHeight; protected TextureRegion bg1, bg2, bg3, bgFin1, bgFin2, bgFin3, bgFin4, tree_image, wh, watericon, water25, water50, water75, water100, HP25, HP50, HP75, HP100, HPicon, idle, Bag, rockimage, digstick, bushOnionImage, monster, billycanImage, cokeCanImage, batteryImage, cigarettesImage, meatpieImage, phoneImage, wheelBraceImage, grubsImage, phrase1Active, phrase1Pressed, phrase2Active, phrase2Pressed, phrase3Active, phrase3Pressed, phrase4Active, phrase4Pressed, antTrapImage, fallStoneImage, saltLakewh; protected Animation playerAnimation1, playerAnimation2; protected ScrollHandler scroller; protected Background background1, background2, background3, backgroundFin1, backgroundFin2, backgroundFin3, backgroundFin4; protected Waterhole waterhole; protected Player player; protected BitmapFont font, font2, font3, font4; protected Items rock, digStick, bushOnion, billycan, cokecan, battery, cigarettes, meatpie, phone, wheelbrace, grubs; protected Backpack backpack; protected Obstacles tree; protected Animation monsterAnimation, kingAnimation; protected AntTrap[] antTrap; protected FallStone[] fallStone; protected SmallAnimals[] rabbit; protected Animation rabbAnimation; private TextureRegion warndimissStand, warnhelpStand, playerDeathFinal; private TextureRegion warnStand; private Animation warnAnimation; private Animation warnidle1Animation, warnidle2Animation, warnhelpAnimation, warndismissAnimation, shadowAnimation, kingStand, playerDeath; private Boolean startSoundPlay = false, rockSoundPlay = false, waterSoundPlay = false, bushSoundPlay = false, monsterSoundPlay = false, billycanSoundPlay = false, swipeAudioPlay = false; private boolean flagHelp = true, flagDeath = true, deathSoundPlay = true; private float[] shadowRuntime; GlyphLayout layout = new GlyphLayout(); private float tempRunTimeGameOver = 0, tempRunTimeLevelFinal = 0; public float mapLoadTime = 0; public TextureRegion restartButton_on, restartButton_off; public Button restartBtn; public TextureRegion mapStateBg, mapLine1, mapLine2, mapLine3, mapLine4, mapLine5, mapLine6, mapLine7, mapColor1, mapColor2, mapColor3, mapColor4; private float angle = 360f; public GameRenderer(GameWorld world, int gameHeight) { myWorld = world; this.gameHeight = gameHeight; cam = new OrthographicCamera(); cam.setToOrtho(true, 1280, 720); batcher = new SpriteBatch(); batcher.setProjectionMatrix(cam.combined); shapeRenderer = new ShapeRenderer(); shapeRenderer.setProjectionMatrix(cam.combined); //button restartButton_on = AssetLoader.restartBtn_on; restartButton_off = AssetLoader.restartBtn_off; restartBtn = new Button(530, 300, 150, 100, restartButton_on, restartButton_off); //watericon and hp icon water25 = AssetLoader.water25; water50 = AssetLoader.water50; water75 = AssetLoader.water75; water100 = AssetLoader.water100; HP25 = AssetLoader.HP25; HP50 = AssetLoader.HP50; HP75 = AssetLoader.HP75; HP100 = AssetLoader.HP100; //map mapStateBg = AssetLoader.mapStateBg; mapLine1 = AssetLoader.mapLine1; mapLine2 = AssetLoader.mapLine2; mapLine3 = AssetLoader.mapLine3; mapLine4 = AssetLoader.mapLine4; mapLine5 = AssetLoader.mapLine5; mapLine6 = AssetLoader.mapLine6; mapLine7 = AssetLoader.mapLine7; mapColor1 = AssetLoader.mapColor1; mapColor2 = AssetLoader.mapColor2; mapColor3 = AssetLoader.mapColor3; //background and waterhole bg1 = AssetLoader.bg1; bg2 = AssetLoader.bg2; bg3 = AssetLoader.bg3; bgFin1 = AssetLoader.bgFin1; bgFin2 = AssetLoader.bgFin2; bgFin3 = AssetLoader.bgFin3; bgFin4 = AssetLoader.bgFin4; wh = AssetLoader.waterhole; saltLakewh = AssetLoader.saltLakewh; //icons watericon = AssetLoader.watericon; HPicon = AssetLoader.HP; //items rockimage = AssetLoader.rock; digstick = AssetLoader.digstick; bushOnionImage = AssetLoader.bushOnion; billycanImage = AssetLoader.billyCan; cokeCanImage = AssetLoader.cokeCan; batteryImage = AssetLoader.battery; cigarettesImage = AssetLoader.cigarettes; meatpieImage = AssetLoader.meatpie; phoneImage = AssetLoader.phone; wheelBraceImage = AssetLoader.wheelBrace; grubsImage = AssetLoader.grubs; //obstacles tree_image = AssetLoader.obstacle_tree; antTrapImage = AssetLoader.antTrap; fallStoneImage = AssetLoader.fallStone; Bag = AssetLoader.backpack; //player frames playerAnimation1 = AssetLoader.playerAnimation1; playerAnimation2 = AssetLoader.playerAnimation2; idle = AssetLoader.idle; monsterAnimation = AssetLoader.monsterAnimation; scroller = world.getScroller(); background1 = scroller.getBackground1(); background2 = scroller.getBackground2(); background3 = scroller.getBackground3(); backgroundFin1 = scroller.getBackgroundFin1(); backgroundFin2 = scroller.getBackgroundFin2(); backgroundFin3 = scroller.getBackgroundFin3(); backgroundFin4 = scroller.getBackgroundFin4(); waterhole = scroller.getWaterhole(); player = world.getPlayer(); rock = scroller.getRock(); digStick = scroller.getDigStick(); bushOnion = scroller.getBushOnion(); billycan = scroller.getBillyCan(); cokecan = scroller.getCokeCan(); battery = scroller.getBattery(); cigarettes = scroller.getCigarettes(); meatpie = scroller.getMeatpie(); phone = scroller.getPhone(); wheelbrace = scroller.getWheelBrace(); grubs = scroller.getGrubs(); tree = scroller.getObstacle(); antTrap = new AntTrap[scroller.getAntAmount() + 1]; for (int i = 1; i <= scroller.getAntAmount(); i++) { antTrap[i] = scroller.getAntTrap(i); } fallStone = new FallStone[scroller.getStoneAmount() + 1]; for (int i = 1; i <= scroller.getStoneAmount(); i++) { fallStone[i] = scroller.getFallStone(i); } rabbit = new SmallAnimals[scroller.getRabbitAmount() + 1]; for (int i = 1; i <= scroller.getRabbitAmount(); i++) { rabbit[i] = scroller.getRabbit(i); } backpack = world.getBackpack(); //font font = new BitmapFont(Gdx.files.internal("font/numFont.fnt")); font.getData().setScale(1f, -1f); font2 = new BitmapFont(Gdx.files.internal("font/timerFont.fnt")); font2.getData().setScale(0.8f, -0.8f); font3 = new BitmapFont(Gdx.files.internal("font/timerFont.fnt")); font3.getData().setScale(1f, -1f); font4 = new BitmapFont(Gdx.files.internal("font/ComicSansMS.fnt")); font4.getData().setScale(1f, -1f); monster = AssetLoader.monster1; //monsterAnimation = AssetLoader.monsterAnimation; kingStand = AssetLoader.kingbrownStandAnimation; kingAnimation = AssetLoader.kingbrownAnimation; warnidle1Animation = AssetLoader.warnIdle1Animation; warnidle2Animation = AssetLoader.warnIdle2Animation; warnhelpAnimation = AssetLoader.warnHelpAnimation; warndismissAnimation = AssetLoader.warnDismissAnimation; warndimissStand = AssetLoader.wdismiss6; warnhelpStand = AssetLoader.whelp11; shadowAnimation = AssetLoader.shadowAnimation; warnStand = AssetLoader.warnampi1; warnAnimation = AssetLoader.warnampiAnimation; rabbAnimation = AssetLoader.rabbitAnimation; //phrases phrase1Active = AssetLoader.phrase1Active; phrase1Pressed = AssetLoader.phrase1Pressed; phrase2Active = AssetLoader.phrase2Active; phrase2Pressed = AssetLoader.phrase2Pressed; phrase3Active = AssetLoader.phrase3Active; phrase3Pressed = AssetLoader.phrase3Pressed; phrase4Active = AssetLoader.phrase4Active; phrase4Pressed = AssetLoader.phrase4Pressed; playerDeathFinal = AssetLoader.death3; playerDeath = AssetLoader.deathAnimation; shadowRuntime = new float[scroller.getStoneAmount() + 1]; for (int i = 1; i <= scroller.getStoneAmount(); i++) { shadowRuntime[i] = 0; } } public void render(float runTime, float delta) { Gdx.app.log("GameRenderer", "render"); Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT); if (myWorld.isGameOver()) { drawGameOver(delta); } else if (myWorld.isMap1()) { drawMap1(runTime); } else if (myWorld.isMap6()) { drawMap6(runTime); } else if (myWorld.isLevel1()) { drawLevel1(runTime); } else { drawLevelFin(runTime, delta); } } public void drawMap1(float delta) { mapLoadTime = 0; batcher.begin(); mapLoadTime += delta; if (mapLoadTime > 2) { batcher.draw(mapStateBg, 0, 0, 1280, 720); batcher.draw(mapLine1, 50, -20, 400, 300); batcher.draw(mapColor1, 50, -20, 400, 300); batcher.draw(mapLine5, 440, -20, 400, 300); batcher.draw(mapLine6, 820, -20, 400, 300); batcher.draw(mapLine3, 50, 440, 400, 300); batcher.draw(mapLine2, 440, 440, 400, 300); batcher.draw(mapLine4, 840, 220, 400, 260); batcher.draw(mapLine7, 260, 200, 400, 300); } else { batcher.draw(mapStateBg, 0, 0, 1280, 720); batcher.draw(mapLine1, 50, -20, 400, 300); batcher.draw(mapLine5, 440, -20, 400, 300); batcher.draw(mapLine6, 820, -20, 400, 300); batcher.draw(mapLine3, 50, 440, 400, 300); batcher.draw(mapLine2, 440, 440, 400, 300); batcher.draw(mapLine4, 840, 220, 400, 260); batcher.draw(mapLine7, 260, 200, 400, 300); } batcher.end(); } public void drawMap6(float delta) { mapLoadTime = 0; batcher.begin(); mapLoadTime += delta; if (mapLoadTime > 2) { batcher.draw(mapStateBg, 0, 0, 1280, 720); batcher.draw(mapLine1, 50, -20, 400, 300); batcher.draw(mapColor1, 50, -20, 400, 300); batcher.draw(mapLine5, 440, -20, 400, 300); batcher.draw(mapLine6, 820, -20, 400, 300); batcher.draw(mapLine3, 50, 440, 400, 300); batcher.draw(mapLine2, 440, 440, 400, 300); batcher.draw(mapLine4, 840, 220, 400, 260); batcher.draw(mapLine7, 260, 200, 400, 300); batcher.draw(mapColor2, 840, 220, 400, 260); } else { batcher.draw(mapStateBg, 0, 0, 1280, 720); batcher.draw(mapLine1, 50, -20, 400, 300); batcher.draw(mapColor1, 50, -20, 400, 300); batcher.draw(mapLine5, 440, -20, 400, 300); batcher.draw(mapLine6, 820, -20, 400, 300); batcher.draw(mapLine3, 50, 440, 400, 300); batcher.draw(mapLine2, 440, 440, 400, 300); batcher.draw(mapLine4, 840, 220, 400, 260); batcher.draw(mapLine7, 260, 200, 400, 300); } batcher.end(); } public void drawGameOver(float delta) { AssetLoader.backgroundMusic.stop(); AssetLoader.monsterMusic.stop(); AssetLoader.yell.stop(); AssetLoader.dangerous.stop(); AssetLoader.monsterSound.stop(); AssetLoader.startSound.stop(); AssetLoader.billycanSound.stop(); AssetLoader.waterSound.stop(); AssetLoader.bushonionSound.stop(); AssetLoader.rockSound1.stop(); AssetLoader.rockSound2.stop(); AssetLoader.backgroundMusicLev2.stop(); tempRunTimeGameOver += delta; shapeRenderer.begin(ShapeType.Filled); shapeRenderer.setColor(Color.GRAY); shapeRenderer.rect(0, 0, 1280, 720); shapeRenderer.end(); batcher.begin(); font.getData().setScale(5f, -5f); font.setColor(Color.WHITE); //if (myWorld.getMonster().getMonsterGo() == 1 || myWorld.getKingbrown1().collides(myWorld.getPlayer()) || myWorld.getKingbrown2().collides(myWorld.getPlayer()) || myWorld.getWater() <= 0 || myWorld.collideStone()) { if (deathSoundPlay) { AssetLoader.die.play(); deathSoundPlay = false; } layout.setText(font4, "Ngarlpu wiyarringu"); font4.draw(batcher, layout, 280, 120); if (playerDeath.getKeyFrameIndex(tempRunTimeGameOver) == 2) { flagDeath = false; } if (flagDeath) { batcher.draw(playerDeath.getKeyFrame(tempRunTimeGameOver), 500, 400); } else { batcher.draw(AssetLoader.death3, 500, 550); } Gdx.app.log("drawGameOver", "called"); //} /*else if (myWorld.getMonster().getMonsterGo() == 2) { font.draw(batcher, "You Win", 554, 250); font.draw(batcher, "Touch The Screen", 370, 380); }*/ font.getData().setScale(1f, -1f); drawButton(); batcher.end(); } public void drawLevel1(float runTime) { batcher.begin(); batcher.disableBlending(); batcher.draw(bg1, background1.getX(), background1.getY(), 1280, 720); batcher.draw(bg2, background2.getX(), background2.getY(), 1280, 720); batcher.draw(bg3, background3.getX(), background3.getY(), 1280, 720); batcher.enableBlending(); // batcher.draw(watericon, 0, 0, 120, 120); // batcher.draw(HPicon, 120, 0, 120, 120); drawicons(); font.draw(batcher, (int) myWorld.getWater() + "", 40, 50); font.draw(batcher, myWorld.getHP() + "", 150, 50); drawTimer(); drawWaterhole(); drawItems(); for (int i = 1; i <= scroller.getRabbitAmount(); i++) { if (rabbit[i].getVisble() && rabbit[i].getRunning()) { batcher.draw(rabbAnimation.getKeyFrame(runTime), rabbit[i].getX(), rabbit[i].getY(), rabbit[i].getWidth(), rabbit[i].getHeight()); } } drawAntTraps(); drawObstacles(); if (myWorld.getMonster().getMonsterAppear() == 1 && myWorld.getMonster().getMonsterGo() == 0 || myWorld.getMonster().getMonsterGo() == 2 && myWorld.getMonster().getY() + myWorld.getMonster().getHeight() < 400) { batcher.draw(monster, myWorld.getMonster().getX(), myWorld.getMonster().getY(), myWorld.getMonster().getWidth(), myWorld.getMonster().getHeight()); //font2.draw(batcher, "Kutjupa-kutjupatjun\n kanyira?", myWorld.getMonster().getX(), myWorld.getMonster().getY() + 100); if (monsterSoundPlay == false) { AssetLoader.monsterSound.play(); monsterSoundPlay = true; } } else if (myWorld.getMonster().getMonsterGo() == 1) { batcher.draw(monsterAnimation.getKeyFrame(runTime), myWorld.getMonster().getX(), myWorld.getMonster().getY(), myWorld.getMonster().getWidth(), myWorld.getMonster().getHeight()); } else if (myWorld.getMonster().getMonsterGo() == 2 && myWorld.getMonster().getY() + myWorld.getMonster().getHeight() >= 400) { batcher.draw(monsterAnimation.getKeyFrame(runTime), myWorld.getMonster().getX(), myWorld.getMonster().getY(), myWorld.getMonster().getWidth(), myWorld.getMonster().getHeight()); } if (myWorld.getChoice().getVisible()) { drawChoice(); } if (!player.getIsRunning() && background1.getDistance() == 0) { //font2.draw(batcher, "Parlila kukurraltjaku", player.getX(), player.getY() - 15); if (startSoundPlay == false) { AssetLoader.startSound.play(); startSoundPlay = true; } } batcher.draw(Bag, 0, 180, 100, 360); drawBackpack();//draw items in the backpack drawPlayer(runTime); batcher.end(); } public void drawLevelFin(float runTime, float delta) { batcher.begin(); //batcher.disableBlending(); batcher.draw(bgFin1, backgroundFin1.getX(), backgroundFin1.getY(), 1280, 720); batcher.draw(bgFin2, backgroundFin2.getX(), backgroundFin2.getY(), 1280, 720); if (myWorld.getScroller().getBackground1().getDistance() < 10000) { batcher.draw(bgFin3, backgroundFin3.getX(), backgroundFin3.getY(), 1280, 720); } else { batcher.draw(bgFin4, backgroundFin3.getX(), backgroundFin3.getY(), 1280, 720); } //batcher.draw(bgFin4, backgroundFin4.getX(), backgroundFin4.getY(), 1280, 720); -- don't delete! //batcher.draw(watericon, 0, 0, 120, 120); //batcher.draw(HPicon, 120, 0, 120, 120); drawicons(); font.draw(batcher, (int) myWorld.getWater() + "", 40, 50); font.draw(batcher, myWorld.getHP() + "", 150, 50); drawTimer(); drawItems(); drawEagle(); // drawAntTraps(); // drawObstacles(); drawWaterHoleFin(); for (int i = 1; i <= scroller.getRabbitAmount(); i++) { if (rabbit[i].getVisble() && rabbit[i].getRunning()) { batcher.draw(rabbAnimation.getKeyFrame(runTime), rabbit[i].getX(), rabbit[i].getY(), rabbit[i].getWidth(), rabbit[i].getHeight()); } } if (myWorld.getPlayer().getY() < 356) { drawFallStones1(delta); } else if (myWorld.getPlayer().getY() >= 356) { drawFallStones1(delta); drawFallStones2(delta); } if (myWorld.getWarnampi().getMonsterStop() && (myWorld.getWarnampi().getX() + myWorld.getWarnampi().getWidth() < 0) && myWorld.getWarnampi().getMonsterGo() != 1) { //do nothing } else { if (myWorld.getWarnampi().getMonsterGo() == 2 && myWorld.getWarnampi().getMonsterStop() == true) { batcher.draw(kingStand.getKeyFrame(runTime), myWorld.getKingbrown1().getX(), myWorld.getKingbrown1().getY(), myWorld.getKingbrown1().getWidth(), myWorld.getKingbrown1().getHeight()); batcher.draw(kingStand.getKeyFrame(runTime), myWorld.getKingbrown2().getX(), myWorld.getKingbrown2().getY(), myWorld.getKingbrown2().getWidth(), myWorld.getKingbrown2().getHeight()); } else { batcher.draw(kingAnimation.getKeyFrame(runTime), myWorld.getKingbrown1().getX(), myWorld.getKingbrown1().getY(), myWorld.getKingbrown1().getWidth(), myWorld.getKingbrown1().getHeight()); batcher.draw(kingAnimation.getKeyFrame(runTime), myWorld.getKingbrown2().getX(), myWorld.getKingbrown2().getY(), myWorld.getKingbrown2().getWidth(), myWorld.getKingbrown2().getHeight()); } if (myWorld.getWarnampi().getMonsterAppear() == 1 && myWorld.getWarnampi().getMonsterGo() == 0) { batcher.draw(warnidle1Animation.getKeyFrame(runTime), myWorld.getWarnampi().getX(), myWorld.getWarnampi().getY()); } else if (myWorld.getWarnampi().getMonsterGo() == 2 && myWorld.getWarnampi().getMonsterStop() == false) { tempRunTimeLevelFinal += delta; if (warnhelpAnimation.getKeyFrameIndex(tempRunTimeLevelFinal) == 11) { flagHelp = false; } if (flagHelp == true) { batcher.draw(warnhelpAnimation.getKeyFrame(tempRunTimeLevelFinal), myWorld.getWarnampi().getX() - 270, myWorld.getWarnampi().getY() - 180); } else if (flagHelp == false) { batcher.draw(warnidle2Animation.getKeyFrame(runTime), myWorld.getWarnampi().getX() - 300, myWorld.getWarnampi().getY() - 290); } } else if (myWorld.getWarnampi().getMonsterGo() == 1) { tempRunTimeLevelFinal += delta; batcher.draw(warndismissAnimation.getKeyFrame(tempRunTimeLevelFinal), myWorld.getWarnampi().getX(), myWorld.getWarnampi().getY()); } else if (myWorld.getWarnampi().getMonsterGo() == 2 && myWorld.getWarnampi().getMonsterStop()) { batcher.draw(warnidle2Animation.getKeyFrame(runTime), myWorld.getWarnampi().getX() - 300, myWorld.getWarnampi().getY() - 290); } } if (myWorld.getChoice().getVisible()) { drawChoice(); } drawPlayer(runTime); if (myWorld.getPlayer().getY() < 356) { drawFallStones2(delta); drawFallStones3(delta); } else if (myWorld.getPlayer().getY() >= 356) { drawFallStones3(delta); } batcher.draw(Bag, 0, 180, 100, 360); drawBackpack();//draw items in the backpack batcher.end(); } public void drawPlayer(float runTime) { if (player.getUpOrDown() != 0 && !player.getIsRunning()) { batcher.draw(playerAnimation1.getKeyFrame(runTime), player.getX(), player.getY(), 150, 200); } else if (player.getIsRunning() && player.getUpOrDown() == 0) { //playerAnimation.setFrameDuration(0.2f + background1.getVelocity() * 0.001f); if (background1.getVelocityX() < -50) { batcher.draw(playerAnimation1.getKeyFrame(runTime), player.getX(), player.getY(), 150, 200); } else if (Math.abs(background1.getVelocityX()) >= -50) { batcher.draw(playerAnimation2.getKeyFrame(runTime), player.getX(), player.getY(), 150, 200); } } else if (player.getIsRunning() && player.getUpOrDown() != 0) { batcher.draw(playerAnimation1.getKeyFrame(runTime), player.getX(), player.getY(), 150, 200); } else { batcher.draw(idle, player.getX(), player.getY(), 150, 200); } } public void drawBackpack() { if (backpack.getItemNum() > 0) { for (int i = 0; i < 4; i++) { if (backpack.getItems()[i] == 1) { batcher.draw(rockimage, 0, 180 + i * 90, 100, 100);//this is just an example, should look up the item by itemId first } else if (backpack.getItems()[i] == 2) { batcher.draw(digstick, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 3) { batcher.draw(bushOnionImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 4) { batcher.draw(billycanImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 5) { batcher.draw(cokeCanImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 6) { batcher.draw(batteryImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 7) { batcher.draw(cigarettesImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 8) { batcher.draw(meatpieImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 9) { batcher.draw(phoneImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 10) { batcher.draw(wheelBraceImage, 0, 180 + i * 90, 100, 100); } else if (backpack.getItems()[i] == 11) { batcher.draw(grubsImage, 0, 180 + i * 90, 100, 100); } } } } public void drawItems() { if (rock.getVisble()) { if (rockSoundPlay == false) { if (myWorld.isLevel1()) { AssetLoader.rockSound2.play(); rockSoundPlay = true; } } if (rock.getX() - player.getX() <= 200 && rock.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 50); } //font2.draw(batcher, "Mukurringkula purli ngulaku mantjila, Purlingka ngarakati", rock.getX() - 80, rock.getY()); } batcher.draw(rockimage, rock.getX(), rock.getY(), 100, 100); } if (digStick.getVisble()) { if (digStick.getX() - player.getX() <= 200 && digStick.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX() - 80, player.getY()); } } if (digStick.getThrow()) { batcher.draw(digstick, digStick.getX(), digStick.getY(), digStick.getWidth() / 2, digStick.getHeight() / 2, 100f, 100f, 1.0f, 1.0f, angle); if (angle < 0) { angle = 360f; } else { angle -= 600 * Gdx.graphics.getDeltaTime(); } } else { batcher.draw(digstick, digStick.getX(), digStick.getY(), 100, 100); } } if (billycan.getVisble()) { batcher.draw(billycanImage, billycan.getX(), billycan.getY(), 100, 100); if (billycanSoundPlay == false) { if (myWorld.isLevel1()) { AssetLoader.billycanSound.play(); billycanSoundPlay = true; } } if (billycan.getX() - player.getX() <= 200 && billycan.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } //font2.draw(batcher, "Wayatjarra mantjila", billycan.getX() - 40, billycan.getY()) } } if (cokecan.getVisble()) { if (cokecan.getX() - player.getX() <= 200 && cokecan.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } } batcher.draw(cokeCanImage, cokecan.getX(), cokecan.getY(), 100, 100); } if (battery.getVisble()) { if (battery.getX() - player.getX() <= 200 && battery.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } } batcher.draw(batteryImage, battery.getX(), battery.getY(), 100, 100); } if (cigarettes.getVisble()) { if (cigarettes.getX() - player.getX() <= 200 && cigarettes.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } } batcher.draw(cigarettesImage, cigarettes.getX(), cigarettes.getY(), 100, 100); } if (meatpie.getVisble()) { if (meatpie.getX() - player.getX() <= 200 && meatpie.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } } batcher.draw(meatpieImage, meatpie.getX(), meatpie.getY(), 100, 100); } if (phone.getVisble()) { if (phone.getX() - player.getX() <= 200 && phone.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } } batcher.draw(phoneImage, phone.getX(), phone.getY(), 100, 100); } if (wheelbrace.getVisble()) { if (wheelbrace.getX() - player.getX() <= 200 && wheelbrace.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { //font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } } batcher.draw(wheelBraceImage, wheelbrace.getX(), wheelbrace.getY(), 100, 100); } if (bushOnion.getVisble()) { if (bushSoundPlay == false) { if (myWorld.isLevel1()) { AssetLoader.bushonionSound.play(); bushSoundPlay = true; } } batcher.draw(bushOnionImage, bushOnion.getX(), bushOnion.getY(), 100, 100); } if (grubs.getVisble()) { if (grubs.getX() - player.getX() <= 200 && grubs.getX() - player.getX() >= -100) { if (backpack.getItemNum() == 4) { font2.draw(batcher, "Yakutja katuwanarringu", player.getX(), player.getY() - 80); } } batcher.draw(grubsImage, grubs.getX(), grubs.getY(), 100, 100); } } public void drawObstacles() { if (tree.getVisble()) { if (!swipeAudioPlay) { AssetLoader.swipe.play(); swipeAudioPlay = true; } if (tree.returnID() == 1) { batcher.draw(tree_image, tree.getX(), tree.getY(), 450, 300); } else { batcher.draw(tree_image, tree.getX(), tree.getY() + 150, 450, 300); } } } public void drawAntTraps() { for (int i = 1; i <= scroller.getAntAmount(); i++) { if (antTrap[i].getVisble()) { batcher.draw(antTrapImage, antTrap[i].getX(), antTrap[i].getY(), antTrap[i].getWidth(), antTrap[i].getHeight()); } } } public void drawFallStones1(float delta) { for (int i = 1; i <= scroller.getStoneAmount(); i++) { if (fallStone[i].getVisble() && scroller.getStoneY(i) == 380) { if (fallStone[i].getVelocityY() != 0) { shadowRuntime[i] += delta; batcher.draw(shadowAnimation.getKeyFrame(shadowRuntime[i]), fallStone[i].getX() - 50, scroller.getStoneY(i), 323, 152); } else { shadowRuntime[i] = 0; } batcher.draw(fallStoneImage, fallStone[i].getX(), fallStone[i].getY(), fallStone[i].getWidth(), fallStone[i].getHeight()); } } } public void drawFallStones2(float delta) { for (int i = 1; i <= scroller.getStoneAmount(); i++) { if (fallStone[i].getVisble() && scroller.getStoneY(i) == 490) { if (fallStone[i].getVelocityY() != 0) { shadowRuntime[i] += delta; batcher.draw(shadowAnimation.getKeyFrame(shadowRuntime[i]), fallStone[i].getX() - 50, scroller.getStoneY(i), 323, 152); } else { shadowRuntime[i] = 0; } batcher.draw(fallStoneImage, fallStone[i].getX(), fallStone[i].getY(), fallStone[i].getWidth(), fallStone[i].getHeight()); } } } public void drawFallStones3(float delta) { for (int i = 1; i <= scroller.getStoneAmount(); i++) { if (fallStone[i].getVisble() && scroller.getStoneY(i) == 600) { if (fallStone[i].getVelocityY() != 0) { shadowRuntime[i] += delta; batcher.draw(shadowAnimation.getKeyFrame(shadowRuntime[i]), fallStone[i].getX() - 50, scroller.getStoneY(i), 323, 152); } else { shadowRuntime[i] = 0; } batcher.draw(fallStoneImage, fallStone[i].getX(), fallStone[i].getY(), fallStone[i].getWidth(), fallStone[i].getHeight()); } } } public void drawicons() { if (myWorld.getWater() <= 100 && myWorld.getWater() > 75) { batcher.draw(water100, 0, 0, 120, 120); } else if (myWorld.getWater() <= 75 && myWorld.getWater() > 50) { batcher.draw(water75, 0, 0, 120, 120); } else if (myWorld.getWater() <= 50 && myWorld.getWater() > 25) { batcher.draw(water50, 0, 0, 120, 120); } else { batcher.draw(water25, 0, 0, 120, 120); } if (myWorld.getHP() <= 200 && myWorld.getHP() > 150) { batcher.draw(HP100, 120, 0, 120, 120); } if (myWorld.getHP() <= 150 && myWorld.getHP() > 100) { batcher.draw(HP75, 120, 0, 120, 120); } if (myWorld.getHP() <= 100 && myWorld.getHP() > 50) { batcher.draw(HP50, 120, 0, 120, 120); } else { batcher.draw(HP25, 120, 0, 120, 120); } } public void drawTimer() { font3.draw(batcher, myWorld.getMinLeft() + " : " + myWorld.getSecLeft(), 250, 40); } public void drawEagle() { if (myWorld.getEagleVisible()) { batcher.draw(AssetLoader.eagleidle, 200, 200, 359, 193); } } public void drawChoice() { for (int i = 0; i < 4; i++) { if (myWorld.getChoice().getId() == i) { if (myWorld.getChoice().getPhrases()[i] == 0) { batcher.draw(phrase1Pressed, 980, i * 120, 300, 100); } else if (myWorld.getChoice().getPhrases()[i] == 1) { batcher.draw(phrase2Pressed, 980, i * 120, 300, 100); } else if (myWorld.getChoice().getPhrases()[i] == 2) { batcher.draw(phrase3Pressed, 980, i * 120, 300, 100); } else { batcher.draw(phrase4Pressed, 980, i * 120, 300, 100); } } else { if (myWorld.getChoice().getPhrases()[i] == 0) { batcher.draw(phrase1Active, 980, i * 120, 300, 100); } else if (myWorld.getChoice().getPhrases()[i] == 1) { batcher.draw(phrase2Active, 980, i * 120, 300, 100); } else if (myWorld.getChoice().getPhrases()[i] == 2) { batcher.draw(phrase3Active, 980, i * 120, 300, 100); } else { batcher.draw(phrase4Active, 980, i * 120, 300, 100); } } } } public void drawWaterhole() { if (waterhole.getVisble()) { if (waterhole.returnID() == 1) { if (waterSoundPlay == false) { AssetLoader.waterSound.play(); waterSoundPlay = true; } batcher.draw(wh, waterhole.getX(), waterhole.getY(), 350, 250); } else if (waterhole.returnID() == 2) { if (waterhole.getX() - player.getX() <= 200 && waterhole.getX() - player.getX() >= -200) { // font2.draw(batcher, "Mukurringkula kapingka, kapi marnmala", waterhole.getX(), waterhole.getY()); if (waterSoundPlay == false) { AssetLoader.waterSound.play(); waterSoundPlay = true; } } batcher.draw(wh, waterhole.getX(), waterhole.getY() + 100, 350, 250); } } } public void drawWaterHoleFin() { if (waterhole.getVisble()) { batcher.draw(saltLakewh, waterhole.getX(), waterhole.getY(), 750, 300); } } public void drawButton() { restartBtn.isTouchDown(Gdx.input.getX(), Gdx.input.getY()); if (restartBtn.getIsPressed()) { batcher.draw(restartBtn.buttonDown, restartBtn.x, restartBtn.y, restartBtn.width, restartBtn.height); if (Gdx.input.justTouched()) { player.setrestart(); } } else { batcher.draw(restartBtn.buttonUp, restartBtn.x, restartBtn.y, restartBtn.width, restartBtn.height); } restartBtn.isTouchUp(Gdx.input.getX(), Gdx.input.getY()); } }