Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Privacy In Statistical Databases International Conference Psd 2022 Paris France September 21 23 2022 Proceedings Lncs 13463

Authors: Josep Domingo-Ferrer ,Maryline Laurent

1st Edition

3031139445, 978-3031139444

More Books

Students also viewed these Databases questions