Question: I want an mp3 audio file onto my code when the game starts up use whatever png file you want to see that my code

I want an mp3 audio file onto my code when the game starts up use whatever png file you want to see that my code works I just need an audio file

package Images;

import javafx.animation.Animation;

import javafx.animation.AnimationTimer;

import javafx.application.Application;

import javafx.geometry.Rectangle2D;

import javafx.scene.Node;

import javafx.scene.Scene;

import javafx.scene.canvas.Canvas;

import javafx.scene.image.Image;

import javafx.scene.image.ImageView;

import javafx.scene.layout.Pane;

import javafx.scene.layout.StackPane;

import javafx.scene.paint.Color;

import javafx.scene.shape.Rectangle;

import javafx.scene.text.Font;

import javafx.scene.text.FontWeight;

import javafx.scene.text.Text;

import javafx.stage.Stage;

import javafx.util.Duration;

public class Game extends Application {

// set constants

static final int CANVAS_WIDTH = 600;

static final int CANVAS_HEIGHT = 600;

public static final String TITLE = "Naruto Maze Game";

// image variables

private Image maze = new Image("images/gamebackground.png");

private Image hero = new Image("images/naruto.png");

private Image Villain=new Image("images/sasuke_stone.png");

private Image food= new Image("images/sparkle_tomato.png");

private Image food1= new Image("images/sparkle_tomato.png");

// player variables

private int playerOffsetX = 0;

private int playerOffsetY = 0;

private int playerWidth = 40;

private int playerHeight = 30;

private int villainHeight=30;

private int villainWidth=32;

private int villainoffsetX=0;

private int villainoffsetY=0;

private int foodoffsetx=0;

private int foodoffsety=0;

private int foodheight=40;

private int foodwidth=40;

// wall rectangles

private Rectangle Wall, Wall2, Wall3, Wall4, Wall5, Wall6, Wall7, Wall8, Wall9, Wall10;

private Rectangle Wall11, Wall12, Wall13, Wall14, Wall15, Wall16, Wall17, Wall18, Wall19, Wall20, food2;

@Override

public void start(Stage primaryStage) throws Exception {

Pane pane = new Pane();

StackPane stackPane = new StackPane();

Scene scene = new Scene(pane, CANVAS_WIDTH, CANVAS_HEIGHT);

Canvas canvas = new Canvas(CANVAS_WIDTH, CANVAS_HEIGHT);

stackPane.getChildren().add(canvas);

pane.getChildren().add(stackPane);

// text for collision

Text text = new Text();

text.setFill(Color.RED);

text.setFont(Font.font("Arial", FontWeight.BOLD, 12));

final ImageView mazeView = new ImageView(maze);

Wall = new Rectangle(237, 477, 125, 44);

Wall2 = new Rectangle(0, 357, 43, 204);

Wall3 = new Rectangle(0, 560, 600, 40);

Wall4 = new Rectangle(557, 358, 43, 202);

Wall5 = new Rectangle(117, 398, 44, 82);

Wall6 = new Rectangle(159, 438, 43, 42);

Wall7 = new Rectangle(438, 398, 45, 83);

Wall8 = new Rectangle(397, 437, 43, 45);

Wall9 = new Rectangle(238, 199, 44, 163);

Wall10 = new Rectangle(280, 199, 40, 41);

Wall11 = new Rectangle(318, 199, 44, 164);

Wall12 = new Rectangle(78, 78, 84, 44);

Wall13 = new Rectangle(117, 78, 45, 163);

Wall14 = new Rectangle(238, 78, 124, 43);

Wall15 = new Rectangle(117, 398, 44, 82);

Wall16 = new Rectangle(439, 77, 43, 165);

Wall17 = new Rectangle(439, 77, 82, 44);

Wall18 = new Rectangle(557, 0, 43, 280);

Wall19 = new Rectangle(0, 0, 600, 42);

Wall20 = new Rectangle(0, 0, 42, 281);

food2=new Rectangle(40,30); // set animation for player

final ImageView playerImageView = new ImageView(hero);

playerImageView.setViewport(new Rectangle2D(playerOffsetX, playerOffsetY, playerWidth, playerHeight));

final ImageView VillainImageView= new ImageView(Villain);

VillainImageView.setViewport(new Rectangle2D(villainoffsetX, villainoffsetY, villainWidth, villainHeight));

final ImageView foodImageView=new ImageView(food);

foodImageView.setViewport(new Rectangle2D(foodoffsetx,foodoffsety,foodwidth,foodheight));

pane.getChildren().add(mazeView);

pane.getChildren().add(playerImageView);

pane.getChildren().add(VillainImageView);

pane.getChildren().add(foodImageView);

// pane.getChildren().add(food1ImageView);

playerImageView.requestFocus();

// place into scene

primaryStage.setTitle(TITLE);

primaryStage.setScene(scene);

primaryStage.show();

// start location of player

playerImageView.setX(280);

playerImageView.setY(400);

//start location of villain

VillainImageView.setX(200);

VillainImageView.setY(280);

foodImageView.setX(40);

foodImageView.setY(30);

// food1ImageView.setX(80);

//food1ImageView.setY(30);

playerImageView.setOnKeyPressed(e -> {

switch (e.getCode()) {

case UP:

case W:

playerImageView.setX(playerImageView.getX());

playerImageView.setY(playerImageView.getY() - 10);

break;

case DOWN:

case S:

playerImageView.setX(playerImageView.getX());

playerImageView.setY(playerImageView.getY() + 10);

break;

case LEFT:

case A:

playerImageView.setX(playerImageView.getX() - 10);

playerImageView.setY(playerImageView.getY());

break;

case RIGHT:

case D:

playerImageView.setX(playerImageView.getX() + 10);

playerImageView.setY(playerImageView.getY());

break;

default:

break;

}

});

AnimationTimer game = new AnimationTimer() {

@Override

public void handle(long now) {

checkCollision(playerImageView, Wall, Wall2, Wall3, Wall4, Wall5, Wall6, Wall7, Wall8, Wall9, Wall10,

Wall11, Wall12, Wall13, Wall14, Wall15, Wall16, Wall17, Wall18, Wall19, Wall20, pane, text,

playerImageView);

}

};

game.start();

}

private void checkCollision(Node player, Rectangle wall1, Rectangle wall2, Rectangle wall3, Rectangle wall4,

Rectangle wall5, Rectangle wall6, Rectangle wall7, Rectangle wall8, Rectangle wall9, Rectangle wall10,

Rectangle wall11, Rectangle wall12, Rectangle wall13, Rectangle wall14, Rectangle wall15, Rectangle wall16,

Rectangle wall17, Rectangle wall18, Rectangle wall19, Rectangle wall20, Pane pane, Text text,

ImageView playerImageView) {

boolean collisionDetected = false;

if ((player.getBoundsInParent().intersects(wall1.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall2.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall3.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall4.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall5.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall6.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall7.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall8.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall9.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall10.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall11.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall12.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall13.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall14.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall15.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall16.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall17.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall18.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall19.getBoundsInParent()))

|| (player.getBoundsInParent().intersects(wall20.getBoundsInParent())))

collisionDetected = true;

if (collisionDetected) {

text.setText("Collision!");

text.setX(((ImageView) player).getX() -20);

text.setY(((ImageView) player).getY() - 20);

playerImageView.setX(((ImageView) player).getX() - 20);

playerImageView.setY(((ImageView) player).getY() -20);

} else {

text.setText("Wall");

}

}

private void checkscore(Node player, Rectangle Food2, Pane pane, Text text,

ImageView playerImageView) {

boolean checkscore=false;

if((player.getBoundsInParent().intersects(food2.getBoundsInParent())))

checkscore=true;

if(checkscore) {

text.setText("score=50");

}

}

// main method

public static void main(String[] args) {

launch(args);

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!